how to write this c++ code in matlab form
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Walter Roberson
2018 年 9 月 11 日
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
2018 年 9 月 11 日
編集済み: Stephen23
2018 年 9 月 12 日
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]; };
回答 (2 件)
Walter Roberson
2018 年 9 月 11 日
The equivalent MATLAB code would be
error('Subscript out of range') ;
2 件のコメント
Guillaume
2018 年 9 月 11 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Multirate Signal Processing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!