A. Matlab讀取文本文檔txt文件
對於 行數和列數整齊 ,但是其中既有數據又有文本的文本文檔讀取,可以使用以下幾個函數。
以filename.txt為例,其中有5行4列,其中第一列為字元,剩下幾列為數據。
對於 行列不整齊 的txt文件,可以採用逐行讀取的方法。
B. 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}CD%%
textread函數讀取,現在不常用%這種形式將每一列分別給A,B[A,B]
=
textread('mytxt.txt','%d
%d');AB%這種形式將txt文件排成一列賦給CC
=
textread('mytxt.txt','%d');C%%
忽略標題file_t
=
fopen('headline.txt','r');%忽略掉第一行的標題信息A
=
textscan(file_t,'%d
%d','HeaderLines',1);A%%
使用textscan掃描字元串中的數據clcstr_1
=
'The
number
is
1
2
3
4
5';%首先使用textscan獲取第一個前14個字元[str1,position1]
=
textscan(str_1,'%14c',1);str1{:};
%The
number
is
position1;
...
',';Hello.53',',';,'%c\n就行;
%14%獲取字元串的長度[temp1;r',排的順序為;%%
每寫入一次換行或插入想要的字元file_1
=
fopen(');;AB%這種形式將txt文件排成一列賦給CC
=
textread('%忽略掉第一行的標題信息A
=
textscan(file_t;);:先從第一行左邊到第一行右邊,現在不常用%這種形式將每一列分別給A;,D返回位置信息[C;%%
掃描字元串2clearclcstr
=
'text_w,'.txt',然後排第二行A
=
fscanf(file_t;),'C%%
忽略標題file_t
=
fopen('%d\r\.txt'%d
%d'fclose(file_t),不存在新創建一個文件開始寫file_1
=
fopen('mytxt,',2);%每寫入一個數字;r',1),D]
=
textscan(file_t;
%The
number
is
position1;%然後讀取後面的數字字元串str_2
=
textscan(str_1(position1+1;);%d
%d',多列按列輸出temp
=
randint(4.txt',1225);r回車符
\,%s為輸出字元串fprintf(1;%\fprintf(file_1;%d
'%14c'n換行符
這里必須回車換行連用fprintf(file_1;;%9c',B]
=
textread('.txt');r',%c為輸出單個字元;%d'%%
使用textscan讀取多列數據file_t
=
fopen(',cell共有兩個元素A
=
textscan(file_t,'.txt','%d
%d'A%%
使用textscan掃描字元串中的數據clcstr_1
=
','.txt'headline,1)!
World.txt'%d
%d'%%
fprintf在命令空間輸出str_1
=
'34]);;%首先使用textscan獲取第一個前14個字元[str1,');),B[A;text_w,'%將字元串轉化為數值num
=
str2num(str_2{1})%%
格式化文本的寫操作%使用fprintf向文件中寫入數據%寫形式打開文件;%C和上面A一樣;這時輸出換行只需\%關閉文件,[32,1););;%以數字形式寫入數據fprintf(file_1;);%這里fid
=
1;%d'我這里有一個讀取的實例你可以看一下
%%
格式化文本的讀操作%只讀形式打開txt文件file_t
=
fopen(';;%d',position1]
=
textscan(str_1;%將原來的兩列數據以數組原包(cell)的形式讀取:temp2);w'fclose(file_1);n'),後加一個空格:},temp);w'mytxt;%下面這這一句相當於+198501120-10,',且讀取的數據自動排成一列,temp2]
=
size(str_1);,'The
number
is
1
2
3
4
5'mytxt;A{1}
%原包數據的第一個元素對應第一列A{2}CD%%
textread函數讀取;%關閉文件fclose(file_t);;%以十進制讀取,'.53%不是你給的+19850112-010,'%將
替換為0A
=
find(str
==
32);;;1985
112
-10;mytxt;,返回0表示關閉成功fclose(file_1),存在就打開;HeaderLines',str_1)!'n','str1{;str(A)
=
48
C. 在matlab中怎麼讀取txt格式的數據文件
根據txt文檔不同種類介紹不同的讀取數據方法 :
一、純數據文件(沒有字母和中文,純數字) 對於這種txt文檔,從遲納旦matalb中讀取就簡單多了 。
例如test.txt文件,內容為「17.901 -1.1111 33.045
17.891 -1.1286 33.045 17.884 -1.1345 33.045」 可以在command window中輸入load test.txt ,然後就會產生一個test的數據文件,內容跟test.txt中的數據一樣;另一種方法是在file/import data....../next/finish 也可產生一個叫test的數據文件。
二、中英文和數據如test1.txt
「你好 歡迎來到 振動論壇
vib.hit.e.cn 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555」
這樣的文件怎麼讀入數據呢?
方法有多種,現舉兩個比較簡單實用的。
方法一:
file/import data....../next/finish >> 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 =
'你好'
'歡迎來到' '振動論壇'
'vib.hit.e.cn'
方法二:
[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
說明:茄灶%s可以是其他形式,跟讀入的數據類型有關,比如這里也可以用%n,%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'
因以字元串的形式讀入,所以有''。
D. matlab裡面怎麼讀取txt文件
比如說在E:\new下有一系列txt文件,文件名符合matlab變數名的命名規則,並且沒有temp.txt文件,每個文件有兩列,以空格分割,第一列是字元串,第二列是浮點數字,要讀取第二列的浮點數字為數組並以文件名為變數名。
file=dir('E:\new\*.txt');
for n=1:length(file)
temp=dlmread(['E:\new\',file(n).name],' ',0,1);
eval([file(n).name(1:end-4),'=temp;'])
end
E. matlab如何讀取txt文件
1、首先,這里舉例自己先製作一個 文本文件,如下面頁面的內容。
F. MATLAB讀取txt文件
搞不清楚抄樓主想法:文件名固定襲。。。文件名變換。。。這是什麼邏輯
試試這個行不行。。。。
樓主的
s=strcat('F:\example',num2str(date),'txt');%如樓主的文件為example5.txt,date為5
name=textread(s,'%s',1);
G. matlab讀寫txt文件
fid=fopen('1.txt','at+');%打開txt文件
fprintf(fid,'%f\t',A);%寫入數組A
fclose(fid);關閉文件
fid=fopen('1.txt','r');%打開txt文件
B=fscanf(fid,'%f')%將數組中的數據讀出到數組B中,txt中的數肢神笑據按列讀出
fclose(fid);
C=B'%轉歷含置得到瞎做行向量
H. 如何用matlab創建TXT文本文檔
file_id=fopen('file_name.txt','a+')
fclose(file_id)
其實這也和我們計算機里的新建文件不太一樣,它是試圖打開一個txt文件,結果沒有,所以就建了一個。
MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公司發布的主要面對科學計算、可視化以及互動式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和模擬等諸多強大功能帆兄集成在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,並在很大程度上擺脫了傳統非互動式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟體的先進水平。
I. 如何在MATLAB中建立txt文件
你是說要打開一個txt文件,進行文件讀寫操作吧
看例子:
x=[1
2
3
4];
fp=fopen('首晌a.txt','a');%'a'表示打開文件a.txt,如果不存在猜芹梁就新建一個
fprintf(fp,'%d',x);
fclose(fp)
在當前文件夾下就出穗運現了一個a.txt文件,裡面存的數據是數組x
J. 在matlab中怎麼查找txt文件
如果數據不是很大的話,應該和數組類型沒什麼關系,因州逗為你是冊拿賣要保存到數據中處理。
Matlab的save命令有保存為txt格式的選項:
save data.dat var -ascii
不過這樣得到的數據文件輸出順序你要自己判斷一下是行優先還是列優先。
也可以用fopen, fwrite, fclose循環輸出敏螞,自己控制順序。
請參考