matlab如何读取一行数据,从而进行处理?

 我来答
很多游戏
高粉答主

2019-11-21 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:386974

向TA提问 私信TA
展开全部

以取filein中的第line行写入fileout中的程序为例:

1、首先输入下方的代码:

function dataout=dataread(filein,fileout,line)

fidin=fopen(filein,'r');

fidout=fopen(fileout,'w');

nline=0;

while ~feof(fidin) % 判断是否为文件末尾

tline=fgetl(fidin); % 从文件读行

2、然后输入下方的代码:

nline=nline+1;

if nline==line

fprintf(fidout,'%s\n',tline);

dataout=tline;

end

end

fclose(fidin);

fclose(fidout);

3、然后这样就完成了。

百度网友96ffcf7
推荐于2017-10-14 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
txt文件如下,%在txt里是顶格写的
1
2 %A
3 11.2 222.5 3000
4
5 %B
6 100 200 300
7
8
9 %C
10 4800000 500000 60000000
format long %让matlab显示出很大的数比如 6000000000011.8,不会忽略掉11.2
fidin=fopen('123.txt'); %打开文件
while ~feof(fidin) %判断是不是文件末尾
tline=fgetl(fidin); %读取一行,注意,读文一行后,光标就会自动到下一行
if isempty(tline) %判断是不是空行
continue
end
switch tline(2) %对不是空行的判断这一行的第二个字符
case 'A' %如果是A的情况
tline=fgetl(fidin); %读取下一行的数据
str=tline; %先把这一行变为字符串
sline=sscanf(str,'%f',3); %读取字符串中的数据,最多读3个,三个字符自动转为数字类型
M=sline; %赋值给M
case 'B' %一下类似
tline=fgetl(fidin);
str=tline;
sline=sscanf(str,'%f',3);
M1=sline;
otherwise
tline=fgetl(fidin);
str=tline;
sline=sscanf(str,'%f',3);
M2=sline;
end
end
fclose(fidin);
a=M(1)+M2(3);
disp(a);
这里让11.2+60000000 结果是60000011.2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love白色紫罗兰
2014-05-30 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:86.2万
展开全部
不知道你这个数据是什么东西,假设这是X矩阵
取某一行数据的命令是X(i,:),表示取第i行数据
追问
数据是电子水准仪数据文件,我想读取其高程值Z,其余都可以不要。
追答
不管是什么数据,导入到MATLAB后就是X矩阵了,想要哪部分数据都行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式