how to write this c++ code in matlab form
3 views (last 30 days)
Show older comments
for(i=0;i<=80;i++) {
wv[i]=380+i*5;
}
double findpeak( double* wv, double x[][50]) // find the peak of a spectrum
{ double temp=x[0][0];
int index=0;
for(int i=1;i<=80;i++)
{ if (x[i][0]>temp)
{ temp=x[i][0];index=i;};
}
return wv[index];
};
2 Comments
Walter Roberson
on 11 Sep 2018
That is not valid c++ code. You allocate x as a 2d array with 0 rows and 0 columns and no particular initial value. This local variable hides the x passed in as an parameter. You then attempt to access the second through eighty first columns of the empty x and you expect that array overrun to work and to have initialized values.
Stephen23
on 11 Sep 2018
Edited: Stephen23
on 12 Sep 2018
Original question: https://webcache.googleusercontent.com/search?q=cache:bEd5R1Q0FYIJ:https://www.mathworks.com/matlabcentral/answers/418423-how-to-write-this-c-code-in-matlab-form
for(i=0;i<=80;i++) { wv[i]=380+i*5; } double findpeak( double* wv, double x[][50]) // find the peak of a spectrum { double temp=x[0][0]; int index=0; for(int i=1;i<=80;i++) { if (x[i][0]>temp) {temp=x[i][0];index=i;}; } return wv[index]; };
Answers (2)
Walter Roberson
on 11 Sep 2018
The equivalent MATLAB code would be
error('Subscript out of range') ;
2 Comments
Guillaume
on 11 Sep 2018
is it correct
x = zeros(0,0);
is exactly the same as
x = [];
and creates an empty matrix. zeros(j, 0) creates a matrix with j rows and 0 columns, another kind of empty matrix. Why would you want to compare that to another empty matrix?
how to write this c++ code in matlab form
Matlab is not C++ and trying to translate C++ code into matlab line by line would be a complete waste of time. C++ is a low level language where you have to write all the operations yourself. In matlab, you can use higher level function that do the work for you. Case in point, that C++ findpeak function would be just two lines in matlab:
function peak = findpeak(wv, x)
[~, idx] = max(x(:, 1));
peak = wv(idx);
end
0 Comments
See Also
Categories
Find more on Multirate Signal Processing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!