xuebaolin 发表于 2007-7-21 09:49

读取txt文件的问题

txt文件是m*n矩阵,我想把这个文件赋给一个矩阵A(也是m*n,换句话说,就是把txt原封不动的赋给A),并在Matlab中显示出来,应该怎么写代码?
谢谢!!

[ 本帖最后由 eight 于 2007-7-23 12:52 编辑 ]

hector1982 发表于 2007-7-21 10:02

=uigetfile('*.txt','please input you want to get file','file name');

hectorload=;

x=load(hectorload);

x;
x应该就是原TXT

caizi2008 发表于 2007-7-21 10:29

A=zreos(n,m);
fid=fopen('path\A.txt','r')
A(:)=fscanf(fid,'%f');
A=A';
最简单的方式

[ 本帖最后由 caizi2008 于 2007-7-21 11:03 编辑 ]

xuebaolin 发表于 2007-7-21 10:35

谢谢!!
可不可以实现这样:让Matlab首先判断txt的行列,然后再创建相应的矩阵,然后再把值赋给矩阵,中间完全是自动的.
    期待高手解决!!!!

hector1982 发表于 2007-7-21 10:39

可以啊!=uigetfile('*.txt','please input you want to get file','file name');

hectorload=;

x=load(hectorload);

=size(x);
b=x(:,2);

b为第二列元素
m,n 就是行列

[ 本帖最后由 hector1982 于 2007-7-21 10:45 编辑 ]

caizi2008 发表于 2007-7-21 11:02

A=zeros(n,m); %n是文本文件的列数,m是文本文件的行数,matlab按行取按列赋
fid=fopen('path\x.txt','r');
A(:)=fscanf(fid,'%f')
A=A'
=size(A)

[ 本帖最后由 caizi2008 于 2007-7-21 11:04 编辑 ]

xuebaolin 发表于 2007-7-21 15:05

谢谢上面各位高手!!!!

xuebaolin 发表于 2007-7-21 15:25

原帖由 caizi2008 于 2007-7-21 11:02 发表 http://www.chinavib.com/forum/images/common/back.gif
A=zeros(n,m); %n是文本文件的列数,m是文本文件的行数,matlab按行取按列赋
fid=fopen('path\x.txt','r');
A(:)=fscanf(fid,'%f')
A=A'
=size(A)
我运行出现这样:
    global n
global m
A=zeros(n,m); %n是文本文件的列数,m是文本文件的行数,matlab按行取按列赋
fid=fopen('inputxue.txt','r');
A(:)=fscanf(fid,'%f')
A=A'
=size(A)
???In an assignmentA(:) = B, the number of elements in A and B
must be the same.
其中inputxue.txt就在工作目录下,是什么原因啊?

[ 本帖最后由 xuebaolin 于 2007-7-21 15:26 编辑 ]

jimin 发表于 2007-7-22 19:16

>> x=load('test.txt')

x =

1   2   3
4   5   6
7   8   9

>> y=textread('test.txt')

y =

1   2   3
4   5   6
7   8   9

jimin 发表于 2007-7-22 19:21

原帖由 caizi2008 于 2007-7-21 10:29 发表 http://www.chinavib.com/forum/images/common/back.gif
A=zreos(n,m);
fid=fopen('path\A.txt','r')
A(:)=fscanf(fid,'%f');
A=A';
最简单的方式
是不是我读个文件
还要事先读一下几行几列呀
如果数量量比较大, 比较麻烦哦

eight 发表于 2007-7-23 12:52

读取txt文件的问题请自己到本版精华区找答案
页: [1]
查看完整版本: 读取txt文件的问题