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
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
Stephen23 2018년 9월 11일
편집: Stephen23 2018년 9월 12일
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
Walter Roberson 2018년 9월 11일

1 개 추천

The equivalent MATLAB code would be
error('Subscript out of range') ;
Guillaume
Guillaume 2018년 9월 11일

0 개 추천

is it correct
Certainly not! It doesn't look like you know what the zeros function does.
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

카테고리

제품

태그

질문:

2018년 9월 11일

편집:

2018년 9월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by