急求怎样讲txt文档中的数据读入matlab

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:00:47
我正在做一个编程,其中需要将txt中的三行上的三组不同的数据读入matlab,并分别赋给矩阵A,B,C,示例如下:
-0.11 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 0.10
-0.10 -0.7 -0.8 -0.6 -0.3 0.1 0.1 0.2 0.3 0.5
-0.10 -0.7 -0.6 -0.3 -0.1 0.1 0.4

第一组11个,第二组10个,第三组7个,这样该怎么实现啊?

更进一步,如果三组数据的个数都可以随时变化的(以便适用于不同的场合),又该怎么实现啊

各位大侠,希望能帮助我一下,不胜感谢啊

%假设你的文件名在c盘 叫test.txt
fid=fopen('c:\test.txt');
data=textscan(fid,'%s','delimiter','\n');%把数据按行读入
fclose(fid);%关闭文件
data=data{1,1};
A=textscan(data{1},'%n','delimiter',' ');把第一行按空格为分割赋给A
B=textscan(data{2},'%n','delimiter',' ');同上B
C=textscan(data{3},'%n','delimiter',' ');同上C
A=A{1};B=B{1};C=C{1};把A,B,C由cell转成向量
%这样的话无论这三行分别有多少个数据都可以的。
%程序都是支持的。

设用变量data来接受数据,:
data=importdata('路径\\文件名');
A=data(1,:);
B=data(2,:);
C=data(3,:);
缺点是要数据等长,如果不等长的话,可以在后面补0,达到等长,然后再截取:
譬如在你举的例中,补0读取了data后,
A=data(1,:);
B=data(2,[1,10]);
C=data(3,[1,7]);
即可,任意情况,如果第m行有m个数据 ,则
Xm=data(m,[1,n]);