我用fgetl依次读取txt文件中的每一行,每行含有8个小数,都是逗号间隔开,但是有时会有“nan”出现,也是由逗号和其它小数隔开。我用strread格式读取每一行中的这8个数据,并对每个数据做相应的加减乘除运算,然后把这新的8个数据写到一个新的文件中。
但是遇到“nan”,就不能像小数一样格式读取,程序会停止。求助如何能自动判别“nan”。如果是“nan”,新文件中相应位置也写上“nan”。
急需解决这个问题,如有高手指点,不胜感激!
关于matlab中nan读取的问题
答案:2 悬赏:10 手机版
解决时间 2021-01-30 09:58
- 提问者网友:捧腹剧
- 2021-01-29 23:52
最佳答案
- 五星知识达人网友:酒安江南
- 2021-01-30 00:04
给你一点提示
isnan指令是唯一能正确判断非数nan 的指令, 然后你就可以用这个指令,去逐个判断你的数据,对其进行相应操作,
举个应用的例子供你参考:
a=nan;
>> isnan(a)
ans =
1
isnan指令是唯一能正确判断非数nan 的指令, 然后你就可以用这个指令,去逐个判断你的数据,对其进行相应操作,
举个应用的例子供你参考:
a=nan;
>> isnan(a)
ans =
1
全部回答
- 1楼网友:街头电车
- 2021-01-30 00:49
只要数组中存在nan(无论是多个还是仅有一个,可以使用isnan找到nan的位置),max、sum等函数默认都会返回nan。一个比较好的办法是函数中加入参数,例如 aaa=max(a, 'omitnan'); 但不同版本的matlab用法可能不同,具体请查询相关函数的说明;另外,有些工具包中也提供了nanmean等函数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯