㈠ 怎麼用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