数据输出matlab,MATLAB数据输出
MATLAB中的數據導出(或輸出)意味著寫入文件。MATLAB允許您在另一個讀取ASCII文件的應用程序中使用您的數據。為此,MATLAB提供了幾個數據導出選項。
您可以創建以下類型的文件:
來自數組的矩形,分隔的ASCII數據文件。
日記(或日志)文件的按鍵和結果文本輸出。
使用fprintf等低級功能的專用ASCII文件。
MEX文件訪問您寫入特定文本文件格式的C / C ++或Fortran例程。
除此之外,您還可以將數據導出到電子表格。
將數字數組導出為分隔的ASCII數據文件有兩種方法 -
使用保存功能并指定-ascii限定符
使用dlmwrite函數
使用保存功能的語法是:
save my_data.outnum_array-ascii
其中,my_data.out是創建的分隔ASCII數據文件,num_array是一個數字數組,-ascii是說明符。
使用dlmwrite函數的語法是:
dlmwrite("my_data.out",num_array,"dlm_char")
其中,my_data.out是創建的分隔ASCII數據文件,num_array是數字數組,dlm_char是分隔符。
例
以下示例演示了該概念。創建腳本文件并鍵入以下代碼 -
num_array=[1234;4567;7890];save array_data1.outnum_array-ascii;type array_data1.outdlmwrite("array_data2.out",num_array," ");type array_data2.out
運行文件時,會顯示以下結果 -
1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00
4.0000000e+00 5.0000000e+00 6.0000000e+00 7.0000000e+00
7.0000000e+00 8.0000000e+00 9.0000000e+00 0.0000000e+00
1 2 3 4
4 5 6 7
7 8 9 0
請注意,保存-ascii命令和dlmwrite函數不能作為輸入使用單元格數組。要從單元格數組的內容創建一個分隔的ASCII文件,您可以
或者,使用cell2mat函數將單元格數組轉換為矩陣
或使用低級文件I / O功能導出單元數組。
如果使用保存功能將字符數組寫入ASCII文件,則會將ASCII等效字符寫入文件。
例如,讓我們把一個單詞"hello"寫入一個文件 -
h="hello";save textdata.outh-ascii
type textdata.out
MATLAB執行上述語句并顯示以下結果。這是8位ASCII格式的字符string“hello”的字符。
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02
寫日記文件
日記文件是MATLAB會話的活動日志。日記功能在磁盤文件中創建會話的精確副本,不包括圖形。
打開日記功能,鍵入 -
diary
或者,您可以給出日志文件的名稱,例如 -
diary logdata.out
關閉日記功能 -
diary off
您可以在文本編輯器中打開日記文件。
將數據導出到具有低級別I / O的文本數據文件
到目前為止,我們已經導出數組。但是,您可能需要創建其他文本文件,包括數字和字符數據的組合,非矩形輸出文件或具有非ASCII編碼方案的文件。為了這些目的,MATLAB提供了低級別的fprintf功能。
在低級I / O文件活動中,在導出之前,您需要使用fopen函數打開或創建一個文件,并獲取文件標識符。默認情況下,fopen打開一個只讀訪問的文件。您應該指定寫入或附加的權限,例如“w”或“a”。
處理文件后,需要用fclose(fid)函數關閉它。
以下示例演示了這個概念 -
例
創建腳本文件并在其中鍵入以下代碼 -
%create a matrix y,withtwo rows
x=0:10:100;y=[x;log(x)];%open a fileforwriting
fid=fopen("logtable.txt","w");%TableHeaderfprintf(fid,"Log Function
");%printvaluesincolumn order%two values appear on each row of the file
fprintf(fid,"%f %f
",y);fclose(fid);%display the file created
type logtable.txt
運行文件時,會顯示以下結果 -
Log Function
0.000000 -Inf
10.000000 2.302585
20.000000 2.995732
30.000000 3.401197
40.000000 3.688879
50.000000 3.912023
60.000000 4.094345
70.000000 4.248495
80.000000 4.382027
90.000000 4.499810
100.000000 4.605170
總結
以上是生活随笔為你收集整理的数据输出matlab,MATLAB数据输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cgi一键还原 linux分区,用一键恢
- 下一篇: matlab disp输出换行,matl