总结,遇到MATLAB程序出现"NaN"错误时,应首先分析问题的数学本质,选择合理的初始值,并采取适当的策略,以确保数值计算过程的稳定性和收敛性。通过不断调整和优化,可以有效解决此类问题,从而实现正确的数值结果。
可能是自变量的范围超出函数定义域了,譬如分母为0了
如果只是为了绘出有效数据,把结果中的NaN数据删掉就行了。如果想得到所有的查询值,把NaN结果全部取出来,相应的X,Y重新用nearest方法查询一次。或者自己写一个允许用近邻点外推插值的算法对其特殊处理。但还是会与griddata内部方法产生较大偏差,影响结果的”平滑性“。
用isnan做判断呗
出现NAN可能是存在0/0,Inf/Inf,Inf-Inf,Inf*0等导致计算结果不确定的情况,建议加断点单步运行调试...
建议给出具体代码,这种一般是某些变量发散了
那就是计算出现问题变成了NaN 如果不想解决假设变量是A A(isnan(A))=[]就清除了 ...
我也有这种情况,我甚至是对着模板一个一个敲也会出现错误,有一中深深的无力感