| 查看: 3299 | 回复: 5 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
jhl2011新虫 (小有名气)
|
[求助]
求助关于importdata函数的问题 已有1人参与
|
|
|
求助一个关于MATLAB importdata 函数的问题。用这个函数读取一个TXT文件,文件中第一行和第二行都是文本,从第三行到最后都是数字,之前用这个函数读取可以将数字读取到 .data 里面,后来修改了txt文件的内容之后就发现出问题了。 经过研究可能是由于第一行文本过长导致MATLAB 当成了两行(在记事本打开后,取消自动换行后第一行(没有换行符)仍然显示为两行),读取结果是原来是六千多行一百多列的数据,读取到.data里面只有一列, .textdata 里面有 一万多行 八十多列,所以应该是第一行被MATLAB认为是两行了 ![]() 所以求助一下有没有解决的办法? 删除第一和第二行是一个办法,但我想保留表头 手动导入可以导入成列向量并且直接用变量名,但我不知道怎么用m文件实现,因为要批量处理,如果可以实现这个是最好的。 |
» 猜你喜欢
职称评审没过,求安慰
已经有41人回复
回收溶剂求助
已经有7人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
投稿返修后收到这样的回复,还有希望吗
已经有8人回复
jhl2011
新虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 424.1
- 帖子: 154
- 在线: 8.8小时
- 虫号: 3638822
- 注册: 2015-01-11
- 性别: GG
- 专业: 工程热物理与能源利用
3楼2016-07-14 08:36:17
csp101
金虫 (著名写手)
- 应助: 9 (幼儿园)
- 金币: 9688.1
- 散金: 120
- 红花: 7
- 帖子: 1444
- 在线: 81.8小时
- 虫号: 3076622
- 注册: 2014-03-21
- 性别: GG
- 专业: 零件成形制造
2楼2016-07-09 23:44:34
csp101
金虫 (著名写手)
- 应助: 9 (幼儿园)
- 金币: 9688.1
- 散金: 120
- 红花: 7
- 帖子: 1444
- 在线: 81.8小时
- 虫号: 3076622
- 注册: 2014-03-21
- 性别: GG
- 专业: 零件成形制造
4楼2016-07-14 23:19:58
jhl2011
新虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 424.1
- 帖子: 154
- 在线: 8.8小时
- 虫号: 3638822
- 注册: 2015-01-11
- 性别: GG
- 专业: 工程热物理与能源利用
★ ★
jjdg: 金币+2, 感谢分销 2017-02-21 16:04:20
jjdg: 感谢分享 2017-02-21 16:04:39
jjdg: 金币+2, 感谢分销 2017-02-21 16:04:20
jjdg: 感谢分享 2017-02-21 16:04:39
|
自行回答这个问题,过了这么久终于发现原因了 在 matlab 中使用 importdata(filename) 这个函数的时候,它会判断哪些行属于 header, 哪些属于 data,可以调用 [A,delimiterOut,headerlinesOut] = importdata(filename) 就可以看出读出来有多少行是判定为 header。 那么问题就出现在判定标准上。 今天做了一下尝试,发现判定一行是否为 header 就在于它的最后一个字符是不是数字。 我的数据文件第一行为变量名,所以都是字母,第二行为单位,一开始的单位行最后一个是A,所以importdata函数判定为header,所以用上面函数读出来A变量中 a.data就是数据矩阵, headerlinesOut = 2 表明读到了两行header,正确。 后来用另一组数据,第二行最后是1,读出来 A.data是错的,headerlinesOut = 1,表明它把第二行当成是数据了,但读下来又存在非数字元素,所以都存到 A.textdata里面去了。 |
5楼2017-02-15 22:31:56














回复此楼