matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊相关的知识,希望对你有一定的参考价值。
很多可能,就是计算到非法的地方,比如除以0操作或者log后面是负数,就是算一些函数定义域以外的值就出现NAN,nota
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的值呢?怎么回事啊的主要内容,如果未能解决你的问题,请参考以下文章