matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊相关的知识,希望对你有一定的参考价值。

很多可能,就是计算到非法的地方,比如除以0操作或者log后面是负数,就是算一些函数定义域以外的值就出现NAN,not
a
number的缩写。
参考技术A 在某些情况下,结果不是确定的数值,就会成为nan,这要看你的计算数据是不是合适了,如不合适
,就会是这样。最好把你的程序、数据发来看看。本回答被提问者采纳
参考技术B NaN就是Not
a
Number的缩写。
一般是
0/0,inf-inf,inf/inf之类的运算产生的(其中inf是无穷大的意思)
你看看你的运算的数。看看是哪里出总是。

matlab怎么在主函数中调用子函数计算出来的值

可以根据子函数的原型来赋予一个变量中,比如:y = sin(pi/2);就是调用子函数sin得到返回值放到了y中剩下的调用y即可。

子函数中有输出,子函数第一行有 function [输出值]=‘函数名’(代入变量),输出的就是可以直接用,下面给出一个简单的示例:

1、创建子函数my_fun.m,保存在当前工作目录下:

function [a,b,c,d] = my_fun(x,y)

a = x+y;

b = x-y;

c = x*y;

d = x/y;

end

2、主函数中可根据需要调用部分返回值,例如

>> x = 10;y = 2;

>> a = my_fun(x,y)  % 调用和

>> [a,b,c,d] = my_fun(x,y)  % 调用和差积商

>> [a,~,c]=my_fun(x,y) % 调用和、积

>> [~,~,~,d]=my_fun(x,y) % 调用商


扩展资料:

1、matlab常用函数

rem(x,y):求x除以y的余数

gcd(x,y):整数x和y的最大公因数

lcm(x,y):整数x和y的最小公倍数

exp(x) :自然指数

pow2(x):2的指数

log(x):以e为底的对数,即自然对数或

log2(x):以2为底的对数

log10(x):以10为底的对数

2、MATLAB基本绘图函数

plot: x轴和y轴均为线性刻度(Linear scale)

loglog: x轴和y轴均为对数刻度(Logarithmic scale)

semilogx: x轴为对数刻度,y轴为线性刻度

semilogy: x轴为线性刻度,y轴为对数刻度

plot绘图函数的参数

参考资料来源:百度百科-MATLAB

参考技术A

  如果希望子函数计算出来的值可以被调用,那么需要将其作为子函数的返回值。下面给出一个简单的示例:

  1、创建子函数my_fun.m,保存在当前工作目录下:

function [a,b,c,d] = my_fun(x,y)
    a = x+y;
    b = x-y;
    c = x*y;
    d = x/y;
end

  2、主函数中可根据需要调用部分返回值,例如

>> x = 10;y = 2;

>> a = my_fun(x,y)                  % 调用和

>> [a,b,c,d] = my_fun(x,y)        % 调用和差积商

>> [a,~,c]=my_fun(x,y)        % 调用和、积

>> [~,~,~,d]=my_fun(x,y)       % 调用商

  

参考技术B 可以根据子函数的原型来赋予一个变量中,比如:y = sin(pi/2);就是调用子函数sin得到返回值放到了y中剩下的调用y即可 参考技术C 子函数中有输出啊,子函数第一行有 function [输出值]=‘函数名’(代入变量)
输出的就是可以直接用的

以上是关于matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊的主要内容,如果未能解决你的问题,请参考以下文章

matlab 如何用插值给NAN赋值

matlab 如何用插值给NAN赋值

matlab ssolve函数计算出来的数怎么是分数表示的

MATLAB中出现NAN怎么回事

matlab循环次数过多出现NAN?

matlab怎么在主函数中调用子函数计算出来的值