-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

5

!= 也不是有效的 MATLAB 运算符。那是你的错误。采用~=

没有什么是永远,永远,永远== NaN。

甚至不是 NaN。采用isnan

function out = my_fun(e)      
if ~isnan(e)
    fprintf('The final coefficiant is: %f \n',e);
    out = 1; % or whatever
else
    out = 0;
end
于 2013-11-05T18:12:47.743 回答
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退出函数,但它用于传递返回值。您可以使用它isnan来检查 NaN。

于 2013-11-05T18:07:55.967 回答