乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 从<em>Excel</em>向MATLAB中导入数据出现了nan怎么处理

从<em>Excel</em>向MATLAB中导入数据出现了nan怎么处理

作者:乔山办公网日期:

返回目录:excel表格制作


  • NaN = Not a Number    一般出现这个东西的原因有两个

  • 1)你的程序里出现0作为分母的运算,这个时候可以考虑把被除矩阵整体加一个无限小量,例如1e-10。这样可以消除0作分母的现象。

  • 2)如果上面这个做法不管用,一般就是你自己的算法和编程的问题了,导致结果不收敛,发散。多次迭代后无穷大,超过了matlab允许的数值范围。这个时候你必须去仔细检查你的程序了。

  • 希望能帮到你啊!~



  1、在matlab中生成数据,并且写入到excel文件中。具体代码如下图所示:

  2、下面来看一下生成的myExample.xlsx文件里面是否含有matlab所生成的数据。有图中可以看出,生成的数据已经全部写入了myExample.xlsx文件。

  3、从excel的第一个worksheet中读取数据,代码如下图所示:

  4、从上一步生成的excel文件myExample.xlsx中读取局部的数据,具体代码及结果如下图所示:

  5、读取一列数据,从excel文件myExample.xlsx中读取一整列的数据,具体代码及结果如下图所示:

  6、从excel文件myExample.xlsx中分别读取数值型、文本型和未处理的数据,具体代码及结果如下图所示:

  


显示nan说明该位置不是数值,你可以查看一下你的文件里面,如果存在“--”这种字符而非数字的话,就会出现这种现象,并且matlab中生成的数据列数会减少。

解决办法:我是用excel打开,把所有”--“的位置全部替换成0(或者你认为合适的其特数值,一定要是数值)保存(为保险起见可以另存为另一个文件)。之后再用MATLAB打开应该就没有问题了

这就是出故障了,一般情况下,要针对问题查找原因,是代码用错?数据类型不匹配?还是别的原因,一定要把程序运行几次,详细检查,修改,再运行,再检查、修改,确认无误,一个程序才算完成。

相关阅读

关键词不能为空
极力推荐
  • -excel 列宽 快捷键,excel设置行高和列宽快捷键

  • 行高是百:Ctrl+H列宽是:Ctrl+W设置行高和列宽的方法:1.打开excel2.在任意一个单元各种,点击鼠标左键,选择任意一个单元格3.选中单元格后,按Ctrl+A,这时候整个表格已经被选中了4.把

ppt怎么做_excel表格制作_office365_word文档_365办公网