㈠ 怎么用matlab读取数据文件
问题描述:这样的一个u.txt文件,用matlab从中读取数据,每次只读
取一行进行处理,然后继续...u.txt文件如下: 14 19 337 312 12
16 33 31 19 19 36 32 12 17 33 11 14 10 36 11 42 11 36 11
12 71 35 31 43 17 33 10 45 72 35 21
答案1:: 编写mymesh()函数:
function mymesh()
temdat=load('D:\test.txt');
if temdat== -1
('Error opening the file');endfigure;h=plot3(temdat(:,1),temdat(:,2),temdat(:,3));
set(h,'linestyle','none')hold on;grid on;[x,y]=meshgrid(linspace(-150,150,500),linspace(-
150,150,500));
z = griddata(temdat(:,1),temdat(:,2),temdat(:,4),x,y);
meshc(x,y,z);
axis([0,180,0,180]);
:::::::::::::::::::请参考以下相关问题::::::::::::::::::::
matlab读取txt文档数据
:::::::::::::::::::请参考以下相关问题::::::::::::::::::::
:::::::::::::::::::请参考以下相关问题::::::::::::::::::::
:::::::::::::::::::请参考以下相关问题::::::::::::::::::::
:::::::::::::::::::请参考以下相关问题::::::::::::::::::::
答案1:: 编写mymesh()函数:
function mymesh()
temdat=load('D:\test.txt');
if temdat== -1
('Error opening the file');endfigure;h=plot3(temdat(:,1),temdat(:,2),temdat(:,3));
set(h,'linestyle','none')hold on;grid on;[x,y]=meshgrid(linspace(-150,150,500),linspace(-
150,150,500));
这样可以么?
㈡ matlab如何读取txt文件
1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。
㈢ matlab如何读取数据
例如,你的文本文件名为'x.txt',那么就很简单了,使用load x.txt就可以了,matlab会自动使用文件名作为变量。
如果你使用其它的文件名,例如'1.txt',matlab会将内容赋给变量X1,那么你转换一下就可以了,令x=X1。
--------------------------------------------------
a=load('x.txt');
x=a(:,1);
b=load('y.txt');
y=b(:,1);
改成(数据横着放,以空格分开数据)
x=a;
y=b;
㈣ matlab怎么读取文本文件中的数据
方法一:
A=importdata(file,space,line)
其中,file是所读取的文件名,space是特定的分隔符,line是一个数字,指文本中字符串文字的行数,如上文的数据中line=4。
此代码的含义是,line行是title,line+1行到end是数据,按特定分隔符space读取数据。此方法可以读取文本在上和数据在下的文件。
A是一个sturct,其中A.data就是所需的数据了。
exapmle:
A=importdata('test.txt','
',4);%运行即可取得数据A.data
此方法也可以按以下操作获取:
在文件菜单中选择
file/import
data,按照提示进行操作至结束。
在
command
窗口中输入
>>
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
=
'你好'
'欢迎来到'
'百思论坛'
'www.si.net'
方法二:
[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%d,%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'
因以字符串的形式读入,所以有''。
文件内容形式二(假定文件名为test2.txt):
你好
1
11
111
1111
欢迎来到
2
22
222
2222
百思论坛
3
33
333
3333
www.si.net
4
44
444
4444
5
55
555
5555
说明:这种内容格式的文件用上面的方法是不行的。
方法三:
以下是由chinamaker编写的一种方法,但是需要重新建一个文本。
fidin=fopen('test2.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