-1

私はmatlabが初めてです。eの値がの場合、0 を返したいNaN。以下は私のコードです:

      if(e!='NaN')
        fprintf(1,'The final coefficiant is: %f \n',e);
          else
            return 0;
       end

それは私を示しています

予期しない MATLAB 演算子です。

理由を教えてもらえますか?どのように書けばよいですか?

4

2 に答える 2

1

Matlab 関数は、通常の関数と同じ方法で値を返しません。この例を見てください:

function success = myfunc()
e = rand(); % Compute e in some way
  if ~isnan(e)
    fprintf(1,'The final coefficiant is: %f \n',e);
    success = true;
  else         
    success = false;
  end

キーワードはreturn関数を終了しますが、戻り値を渡すためのものではありません。isnanNaN のチェックに使用できます。

于 2013-11-05T18:07:55.967 に答える