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

1 visualización (últimos 30 días)
onamaewa
onamaewa el 15 de Feb. de 2019
Respondida: Walter Roberson el 15 de Feb. de 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 comentarios
Walter Roberson
Walter Roberson el 15 de Feb. de 2019
Editada: Walter Roberson el 15 de Feb. de 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 el 15 de Feb. de 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.

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 15 de Feb. de 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.

Categorías

Más información sobre Call C++ from MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by