
- Matlab 教程
- MATLAB - 首頁
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 環境設定
- MATLAB - 編輯器
- MATLAB - 線上
- MATLAB - 工作區
- MATLAB - 語法
- MATLAB - 變數
- MATLAB - 命令
- MATLAB - 資料型別
- MATLAB - 運算子
- MATLAB - 日期和時間
- MATLAB - 數字
- MATLAB - 隨機數
- MATLAB - 字串和字元
- MATLAB - 文字格式化
- MATLAB - 時間表
- MATLAB - M 檔案
- MATLAB - 冒號表示法
- MATLAB - 資料匯入
- MATLAB - 資料輸出
- MATLAB - 資料歸一化
- MATLAB - 預定義變數
- MATLAB - 決策
- MATLAB - 決策語句
- MATLAB - If End 語句
- MATLAB - If Else 語句
- MATLAB - If…Elseif Else 語句
- MATLAB - 巢狀 If 語句
- MATLAB - Switch 語句
- MATLAB - 巢狀 Switch
- MATLAB - 迴圈
- MATLAB - 迴圈
- MATLAB - For 迴圈
- MATLAB - While 迴圈
- MATLAB - 巢狀迴圈
- MATLAB - Break 語句
- MATLAB - Continue 語句
- MATLAB - End 語句
- MATLAB - 陣列
- MATLAB - 陣列
- MATLAB - 向量
- MATLAB - 轉置運算子
- MATLAB - 陣列索引
- MATLAB - 多維陣列
- MATLAB - 相容陣列
- MATLAB - 分類陣列
- MATLAB - 元胞陣列
- MATLAB - 矩陣
- MATLAB - 稀疏矩陣
- MATLAB - 表格
- MATLAB - 結構體
- MATLAB - 陣列乘法
- MATLAB - 陣列除法
- MATLAB - 陣列函式
- MATLAB - 函式
- MATLAB - 函式
- MATLAB - 函式引數
- MATLAB - 匿名函式
- MATLAB - 巢狀函式
- MATLAB - 返回語句
- MATLAB - 空函式
- MATLAB - 區域性函式
- MATLAB - 全域性變數
- MATLAB - 函式控制代碼
- MATLAB - 濾波器函式
- MATLAB - 階乘
- MATLAB - 私有函式
- MATLAB - 子函式
- MATLAB - 遞迴函式
- MATLAB - 函式優先順序順序
- MATLAB - 對映函式
- MATLAB - 平均值函式
- MATLAB - 結束函式
- MATLAB - 錯誤處理
- MATLAB - 錯誤處理
- MATLAB - Try...Catch 語句
- MATLAB - 除錯
- MATLAB - 繪圖
- MATLAB - 繪圖
- MATLAB - 繪製陣列
- MATLAB - 繪製向量
- MATLAB - 條形圖
- MATLAB - 直方圖
- MATLAB - 圖形
- MATLAB - 2D 線性圖
- MATLAB - 3D 圖形
- MATLAB - 格式化圖形
- MATLAB - 對數座標軸圖形
- MATLAB - 繪製誤差條
- MATLAB - 繪製 3D 等值線圖
- MATLAB - 極座標圖
- MATLAB - 散點圖
- MATLAB - 繪製表示式或函式
- MATLAB - 繪製矩形
- MATLAB - 繪製頻譜圖
- MATLAB - 繪製網格曲面
- MATLAB - 繪製正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 線性插值
- MATLAB - 2D 陣列插值
- MATLAB - 3D 陣列插值
- MATLAB - 多項式
- MATLAB - 多項式
- MATLAB - 多項式加法
- MATLAB - 多項式乘法
- MATLAB - 多項式除法
- MATLAB - 多項式的導數
- MATLAB - 變換
- MATLAB - 變換
- MATLAB - 拉普拉斯變換
- MATLAB - 拉普拉斯濾波器
- MATLAB - 高斯-拉普拉斯濾波器
- MATLAB - 逆傅立葉變換
- MATLAB - 傅立葉變換
- MATLAB - 快速傅立葉變換
- MATLAB - 2D 逆餘弦變換
- MATLAB - 向座標軸新增圖例
- MATLAB - 面向物件
- MATLAB - 面向物件程式設計
- MATLAB - 類和物件
- MATLAB - 函式過載
- MATLAB - 運算子過載
- MATLAB - 使用者定義類
- MATLAB - 複製物件
- MATLAB - 代數
- MATLAB - 線性代數
- MATLAB - 高斯消元法
- MATLAB - 高斯-約旦消元法
- MATLAB - 簡化行階梯形式
- MATLAB - 特徵值和特徵向量
- MATLAB - 積分
- MATLAB - 積分
- MATLAB - 二重積分
- MATLAB - 梯形法則
- MATLAB - 辛普森法則
- MATLAB - 雜項
- MATLAB - 微積分
- MATLAB - 微分
- MATLAB - 矩陣的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用資源
- MATLAB - 快速指南
- MATLAB - 有用資源
- MATLAB - 討論
MATLAB - 資料輸出
在 MATLAB 中,資料匯出(或輸出)意味著寫入檔案。MATLAB 允許您在讀取 ASCII 檔案的其他應用程式中使用您的資料。為此,MATLAB 提供了多種資料匯出選項。
您可以建立以下型別的檔案:
來自陣列的矩形、分隔符分隔的 ASCII 資料檔案。
按鍵操作和生成的文字輸出的日誌(或日誌)檔案。
使用低階函式(如 fprintf)的專用 ASCII 檔案。
MEX 檔案,用於訪問寫入特定文字檔案格式的 C/C++ 或 Fortran 例程。
除此之外,您還可以將資料匯出到電子表格。
有兩種方法可以將數字陣列匯出為分隔符分隔的 ASCII 資料檔案:
使用 save 函式並指定 -ascii 限定符
使用 dlmwrite 函式
使用 save 函式的語法為:
save my_data.out num_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 = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0]; save array_data1.out num_array -ascii; type array_data1.out dlmwrite('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
請注意,save -ascii 命令和 dlmwrite 函式不適用於元胞陣列作為輸入。要從元胞陣列的內容建立分隔符分隔的 ASCII 檔案,您可以
或者,使用 cell2mat 函式將元胞陣列轉換為矩陣
或者使用低階檔案 I/O 函式匯出元胞陣列。
如果您使用 save 函式將字元陣列寫入 ASCII 檔案,它會將字元的 ASCII 等效項寫入檔案。
例如,讓我們將單詞“hello”寫入檔案:
h = 'hello'; save textdata.out h -ascii type textdata.out
MATLAB 執行上述語句並顯示以下結果。這是字串“hello”的字元以 8 位 ASCII 格式顯示。
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02
寫入日誌檔案
日誌檔案是 MATLAB 會話的活動日誌。diary 函式會在磁碟檔案中建立會話的精確副本,但不包括圖形。
要開啟 diary 函式,請鍵入:
diary
或者,您可以提供日誌檔案的名稱,例如:
diary logdata.out
要關閉 diary 函式:
diary off
您可以在文字編輯器中開啟日誌檔案。
使用低階 I/O 將資料匯出到文字資料檔案
到目前為止,我們已經匯出了數字陣列。但是,您可能需要建立其他文字檔案,包括數字和字元資料的組合、非矩形輸出檔案或使用非 ASCII 編碼方案的檔案。出於這些目的,MATLAB 提供了低階 fprintf 函式。
與低階 I/O 檔案活動一樣,在匯出之前,您需要使用 fopen 函式開啟或建立檔案並獲取檔案識別符號。預設情況下,fopen 以只讀方式開啟檔案。您應該指定寫入或追加的許可權,例如“w”或“a”。
處理完檔案後,您需要使用 fclose(fid) 函式關閉它。
以下示例演示了該概念:
示例
建立指令碼檔案並在其中鍵入以下程式碼:
% create a matrix y, with two rows x = 0:10:100; y = [x; log(x)]; % open a file for writing fid = fopen('logtable.txt', 'w'); % Table Header fprintf(fid, 'Log Function\n\n'); % print values in column order % two values appear on each row of the file fprintf(fid, '%f %f\n', 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