问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

matlab 读取数据 数据中有 逗号

发布网友 发布时间:2022-05-10 06:09

我来回答

5个回答

热心网友 时间:2023-07-28 16:21

一、纯数据文件(没有字母和中文,纯数字)
对于这种txt文档,从matalb中读取就简单多了
例如test.txt文件,内容为“17.901 -1.1111 33.045
17.891 -1.1286 33.045
17.884 -1.1345 33.045”
可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。
二、中英文和数据如test1.txt

“你好
欢迎来到
振动论坛
vib.hit.e.cn
1 11 111 1111
2 22 222 2222
3 33 333 3333
4 44 444 4444
5 55 555 5555”
这样的文件怎么读入数据呢?
方法有多种,现举两个比较简单实用的。

方法一:
file/import data....../next/finish
>> whos
Name Size Bytes Class
data 5x4 160 double array
textdata 4x1 300 cell array
Grand total is 54 elements using 460 bytes
>> data
data =
1 11 111 1111
2 22 222 2222
3 33 333 3333
4 44 444 4444
5 55 555 5555
>> textdata
textdata =
'你好'
'欢迎来到'
'振动论坛'
'vib.hit.e.cn'

方法二:
[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。
这里%s的个数和[a1,a2,a3,a4]对应。
>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
a1 =
'1'
'2'
'3'
'4'
'5'

a2 =
'11'
'22'
'33'
'44'
'55'

a3 =
'111'
'222'
'333'
'444'
'555'

a4 =
'1111'
'2222'
'3333'
'4444'
'5555'
因以字符串的形式读入,所以有''。
————————————————————————————————
三、中文 数据 英文 混乱如test.txt
你好
1 11 111 1111
欢迎来到
2 22 222 2222
振动论坛
3 33 333 3333
vib.hit.e.cn
4 44 444 4444
5 55 555 5555
说明:这种内容格式的文件用上面的方法是不行的。
以下是由chinamaker编写的一种方法:

fidin=fopen('test.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值
fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt
continue % 如果是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来
>> MK
MK =
1 11 111 1111
2 22 222 2222
3 33 333 3333
4 44 444 4444
5 55 555 5555

热心网友 时间:2023-07-28 16:21

可以使用matlab提供的dlmread函数

M = dlmread(filename, delimiter) reads data from the file, using the specified delimiter. Use '\t' to specify a tab delimiter.
解释:
M = dlmread(filename, delimiter) 可以从文件中读取含分隔符的文件,并返回存储到M中。filename为字符串,代表文件名。delimiter为ASCII码分隔符。
这里,分隔符为逗号,所以delimiter为 ',' 。

热心网友 时间:2023-07-28 16:22

你可以先导入到excel里面,利用excel分列的功能把逗号去掉,然后直接可以导入到matlab当中

热心网友 时间:2023-07-28 16:22

高版本的Matlab可以直接把数据文件拖动到workspace窗口,可以自动识别非数据字符

热心网友 时间:2023-07-28 16:23

具体点, 要去掉吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 法西斯和希特勒 烧烤前期。东西要用什么腌制一下。 java 习题 计算机语言 2015买房小贴士:买房选什么户型才最实用 public static void main (String[]args) 传值为什么会是 c.java Test 4 2 4 2 LOFT是什么意思?loft户型缺点优点大比拼 哪有希特勒的介绍 1道简单的JAVA选择题,求解释 求 德国前总统伍尔夫的简介 约翰内斯·劳的简历 电子设备用的防静电袋工作原理是什么? 支付宝扫码领红包,领到的钱,消费之后,和赏金不一样多是为什么,领了九块多,赏金才四块多,咋回事 亚道夫希特勒的简介 德国现任总统简介 宽窄扫码怎么领奖 石墨文档上传图片失败,重新打开也不行,重新下载也不行,怎么办? 信心的名言警句 属于管道安全管理制度有哪些 谁有王者荣耀至尊宝横屏壁纸。 谁知道三条关于“信心、恒心”的名人名言或警句格言 弗朗茨·冯·帕彭的简介 matlab里哪个函数是txt文件读取一列一列的 寻富兰克林,丘吉尔,希特勒简介与简评 开机启动项在哪设置? android test case 过时l了,用什么呢 php怎么接收由smarty写的复选框(html_checkboxes)提交的值 德国总统默克尔老公简历 德国总理漠克尔的简介 看这个Java程序 梦见好多死人穿一样的绿色衣服排队从大厅走过。什么意思?大师 梦见有人说我要穿青色衣服好看些,不要穿白色衣服,我心里还想难道我的白色衣服全部丢了吗?这个梦有什么 php微信开发是什么?能不能详细介绍一下? 举报违建最有效方法的办法是怎样的? 以前微信绑定银行卡,以前的不用了,请问怎么才能解除绑定? 一个关于创造力的小故事,一定要是小故事。 .司马光砸缸、曹冲秤象、乌鸦喝水这些故事中的主人公分别运用了哪些创新思维? 高中作文材料发散思维 给城管举报违法有没有奖励? 一个让我怀念的人 作文 以&quot;令我怀念的人&quot;为题写一篇作文,300字