⑴ 如何用matlab讀取txt數據
一樓的回答是一種方式:
把數據放入新建的文本文檔data.txt中,放入current folder(當前窗口目錄) 目錄下;
在Command Window(命令窗口)中輸入命令X=load('data.txt');您要的數據就會自動提取到X中。
最簡單的一種方式是:
在工作空間窗口有一個import data按鈕,即最右邊的那個按鈕,點擊之後,找到你儲存數據的txt文件,然後按照提示一步步往下操作即可,但是這種方式只能導入txt格式的數據,一樓的方法也可以導入excel的文件~~~
⑵ 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
⑶ 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中如何存儲和提取數據
存儲和提取數據的指令分別是save及load,而save的數據型態又分為:(1)雙位元格式 (binary format) 的 MAT-file,(2) ASCII 格式的 ASCII-file。MAT-file 是以雙位元字元儲存,可讓電腦在讀出/入(input/output) 速率加 快,其格式為testmat(tesmatlab中如何存儲和提取數據?
⑸ matlab怎麼提取數組中的數據
1、打開matlab,在命令行窗口中輸入a=[1 2 3 4;4 5 6 7;1 2 3 4],按回車鍵創建一個3行4列的矩陣。
⑹ 如何在matlab中讀取TXT數據文件
我這里有一個讀取的實例你可以看一下
%%
格式化文本的讀操作
%只讀形式打開txt文件
file_t
=
fopen('mytxt.txt','r');
%以十進制讀取,且讀取的數據自動排成一列,排的順序為:先從第一行左邊到第一行右邊,然後排第二行
A
=
fscanf(file_t,'%d');
%關閉文件
fclose(file_t);
%%
使用textscan讀取多列數據
file_t
=
fopen('mytxt.txt','r');
%將原來的兩列數據以數組原包(cell)的形式讀取,cell共有兩個元素
A
=
textscan(file_t,'%d
%d');
%C和上面A一樣,D返回位置信息
[C,D]
=
textscan(file_t,'%d
%d');
fclose(file_t);
A{1}
%原包數據的第一個元素對應第一列
A{2}
C
D
%%
textread函數讀取,現在不常用
%這種形式將每一列分別給A,B
[A,B]
=
textread('mytxt.txt','%d
%d');
A
B
%這種形式將txt文件排成一列賦給C
C
=
textread('mytxt.txt','%d');
C
%%
忽略標題
file_t
=
fopen('headline.txt','r');
%忽略掉第一行的標題信息
A
=
textscan(file_t,'%d
%d','HeaderLines',1);
A
%%
使用textscan掃描字元串中的數據
clc
str_1
=
'The
number
is
1
2
3
4
5';
%首先使用textscan獲取第一個前14個字元
[str1,position1]
=
textscan(str_1,'%14c',1);
str1{:};
%The
number
is
position1;
%14
%獲取字元串的長度
[temp1,temp2]
=
size(str_1);
%然後讀取後面的數字字元串
str_2
=
textscan(str_1(position1+1:temp2),'%9c',1);
%將字元串轉化為數值
num
=
str2num(str_2{1})
%%
格式化文本的寫操作
%使用fprintf向文件中寫入數據
%寫形式打開文件,存在就打開,不存在新創建一個文件開始寫
file_1
=
fopen('text_w.txt','w');
%以數字形式寫入數據
fprintf(file_1,'%d',1225);
%關閉文件,返回0表示關閉成功
fclose(file_1);
%%
每寫入一次換行或插入想要的字元
file_1
=
fopen('text_w.txt','w');
%\r回車符
\n換行符
這里必須回車換行連用
fprintf(file_1,'%d\r\n',[32;34]);
%每寫入一個數字,後加一個空格,多列按列輸出
temp
=
randint(4,2);
fprintf(file_1,'%d
',temp);
fclose(file_1);
%%
fprintf在命令空間輸出
str_1
=
'Hello!
World!';
%這里fid
=
1;這時輸出換行只需\n就行,%c為輸出單個字元,%s為輸出字元串
fprintf(1,'%c\n',str_1);
%%
掃描字元串2
clear
clc
str
=
'1985
112
-10.53';
%將
替換為0
A
=
find(str
==
32);
str(A)
=
48;
%下面這這一句相當於+198501120-10.53
%不是你給的+19850112-010.53
str2num(str)
⑺ 在matlab 中怎樣讀取矩陣中的數據
在matlab中怎樣讀取矩陣中的數據的方法。
如下參考:
1.打開原始的圖圖形文件,在matlab命令窗口中輸入以下指令:圖」)。
⑻ matlab怎樣讀取網口數據
matlab裡面有一個函數叫tcpip(),你用的上 Demo裡面有一個Reading and Writing Binary Data,演示了整個讀寫tcpip數據包的過程。
⑼ matlab中如何提取部分數據
1、存儲和提取數據的指令分別是save及load,而save的數據型態又分為:(1)雙位元格式 (binary format) 的 MAT-file,(2) ASCII 格式的 ASCII-file。MAT-file 是以雙位元字元儲存,可讓電腦在讀出/入(input/output) 速率加 快,其格式為test.mat(test為檔名),MATLAB將檔案的型態預設為MAT-file;而ASCII-file則是以可辨識的字元 儲存,但會降低電腦在讀出/入的速率,其格式為test.dat(test為檔名)。如果你的數據是只在MATLAB中產生 及被使用,那最好使用MAT-file。ASCII-file則必須用在當數據檔要為其它不是MATLAB的應用軟體讀取時。
2、MATLAB是美國MathWorks公司出品的商業數學軟體,用於演算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和互動式環境,主要包括MATLAB和Simulink兩大部分。