怎样将TXT中数据导入matlab中的二维数组 10

我有如下一个txt文件,其中第一~三行是文字,第四行是数据,需要将数据部分如所示导入matlab的一个矩阵中,N_grating=后面的数字(此例中为3)作为矩阵的行数,... 我有如下一个txt文件,其中第一~三行是文字,第四行是数据,需要将数据部分如所示导入matlab的一个矩阵中,N_grating=后面的数字(此例中为3)作为矩阵的行数,列数已固定,请问应该怎么做?

Position Length
mm mm 3 2 nm Pi
N_grating=3
3.4 4.6 6.9
3.0 6.5 5.0
4.5 8.9 3.0
展开
 我来答
N_0_1
高粉答主

推荐于2016-10-09 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:816万
展开全部
clear;
clc;
fidin=fopen('1.txt'); % 打开1.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
i=1;
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
tmp=find(tline==','); % 判断首字符是否是逗号
l=length(tline);
a(i)=str2num(tline(2:tmp-1));
b(i)=str2num(tline(tmp+1:l-1));
i=i+1;
end
c=[a;b]';
以上代码本地测试通过。
另外,其实还有一个简单的方法,你何不打开txt,利用替换功能把“{”、“}”、“,”这三个符号都换成空格,这样就可以直接用load了,在数据规模大的时候,还是用load快啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f18c64d5
2010-03-19 · TA获得超过2716个赞
知道小有建树答主
回答量:630
采纳率:100%
帮助的人:753万
展开全部
把前三行删除,然后用命令A=load('xxx.txt')就可以把数据读到数组A里了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine戚七七
2015-09-22 · TA获得超过4.7万个赞
知道大有可为答主
回答量:2万
采纳率:75%
帮助的人:2638万
展开全部
%用matlab将二维数组写入txt文件

%比方说 矩阵A 为
A=[1 2 3;4 5 6];
%那么程序 为
fid=fopen('A1.txt','w');
[b1 b2]=size(A);

for i=1:b1
for j=1:b2
fprintf(fid,'%10d',A(i,j));
end

fprintf(fid,'/n');
end
fclose(fid);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式