how to write this c++ code in matlab form

조회 수: 7 (최근 30일)
Arvind Sharma
Arvind Sharma 2018년 9월 11일
편집: Walter Roberson 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일
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일
The equivalent MATLAB code would be
error('Subscript out of range') ;

Guillaume
Guillaume 2018년 9월 11일
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

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by