How can I write this C++ script to Matlab?
    2 views (last 30 days)
  
       Show older comments
    
How would you write this C++ script to Matlab?
do k = No_TimeSamples
    do i = No_Pixels
        SUM_1 = 0
        SUM_2 = 0  
        do j = 1, No_Geophones
            delay = R(i, j)/c
            ik = round(delay/dt + k)
            SUM_1 = SUM_1 + Data(ik, j)
            SUM_2 = SUM_2 + Data(ik, j)**2
        end
            image(i) = image(i) + SUM_1**2 - SUM_2
    end
    end
2 Comments
  Walter Roberson
      
      
 on 15 Feb 2019
				
      Edited: Walter Roberson
      
      
 on 15 Feb 2019
  
			?
That is not C++. It looks like Fortran to me.
Is No_TimeSamples a vector? Should we assume that k is to assume each value stored in No_TimeSamples in turn? Or should we assume that k is to assume only the one value stored in No_TimeSamples? Or should we assume that k is to assume the values from 1 to No_TimeSamples ?
Are you certain that the lower bound for the do j loop should be lower-case L, and not i or 1 ?
Answers (1)
  Walter Roberson
      
      
 on 15 Feb 2019
        for k = No_TimeSamples
    for i = No_Pixels
        SUM_1 = 0;
        SUM_2 = 0;
        for j = 1 : No_Geophones
            delay = R(i, j)/c;
            ik = round(delay/dt + k);
            SUM_1 = SUM_1 + Data(ik, j);
            SUM_2 = SUM_2 + Data(ik, j).^2;
        end
            image(i) = image(i) + SUM_1.^2 - SUM_2;
    end
 end
Note: naming a variable image is not recommended, as it interferes with using the image() display function and confuses readers.
0 Comments
See Also
Categories
				Find more on Call C++ from MATLAB in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
