How can I write this C++ script to Matlab?

1 view (last 30 days)
onamaewa
onamaewa on 15 Feb 2019
Answered: Walter Roberson on 15 Feb 2019
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
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 ?
onamaewa
onamaewa on 15 Feb 2019
It is a vector.
I have a CSV read into matlab with 10 000 time points, & 32 Sensor Channels.
This code generates an image based on data.
R(i, j) is an array.
Data(ik, j) is an array generated from my csv.
image(i) stores the values that generate the image.

Sign in to comment.

Answers (1)

Walter Roberson
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.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!