在數字信號處理領域,很多數據的保存形式都是文本文件!有了數據,這樣就可以在計算機中完成半實物仿真了!什么是半實物仿真?就是仿真出來的結果基本和產品一致!那還有什么仿真?理論仿真!這個階段的仿真只是用于驗證理論是否可行!大家以后到了企業,必然會接觸到這些概念!
注意!
If you plan to read the file with Microsoft Notepad, use ' ' instead of ' ' to move to a new line.
舉例:如何把成績單里面的成績從高到低排列呢?
這可是日常工作中經常遇到的哦。學以致用!舉例說明!
file_fid3 = fopen('d:score.txt','r'); % 讀取成績文件
for i = 1:5
data1_name(i) = fscanf(file_fid3 ,'%s',1);
data1_score(i) = fscanf(file_fid3 ,'%d',1);
end
fclose(file_fid3);
% 讀取數據成功后,進行成績排序。
[data2_score , score_index] = sort(data1_score,'descend');
file_fid4 = fopen('d:score_sort.txt','w');
for i = 1:5
fprintf(file_fid4,'%6s %d ',student_name(score_index(i)), data2_score(i));
end
fclose(file_fid4);
那要怎樣才能讀取呢?必須使用fscanf函數!還有其他讀取文件的方式嗎?有!!!
A = readmatrix(filename)
通過從文件中讀取列向數據來創建數組。readmatrix 函數可自動檢測文件的導入參數。這個函數原來用途這么廣啊?大家已經在前面的文章中多次見到了!
readmatrix 基于文件的擴展名確定文件格式:
.txt、.dat 或 .csv(適用于帶分隔符的文本文件)
.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(適用于電子表格文件)
對于包含數值和文本混合數據的文件,默認情況下,readmatrix 將數據作為數值數組導入。這么好用的函數,大家一定要記住用法哦!
文件知識!
逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數字那樣被解讀的數據。
CSV文件由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。
通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。建議使用WORDPAD或是記事本來開啟,再則先另存新檔后用EXCEL開啟,也是方法之一。
.dat并不是一種標準文件。許多文件都使用這個擴展名,但文件含義不同。而許多數據分析軟件也用這個擴展名保存數據。所以這要看具體的軟件情況來定。
現在我首推使用readmatrix函數!
語法!
A = readmatrix(filename)
從文件中讀取矩陣。readmatrix 基于文件的擴展名確定文件格式:.txt、.dat 或 .csv(適用于帶分隔符的文本文件)、.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(適用于電子表格文件)
readmatrix第一個參數是文件名。第二個參數指輸出類型。如果不帶這個參數,那么遇到字符串輸出的結果是Nan值。本人非常喜歡用這個函數,簡單直接和強大!
csvread函數還沒有用過!文件的操作會涉及哪些函數呢?可以總結一下了。課程只是講解了fopen和fwrite函數,那么fprintf和fclose函數呢?先一起來看看程序吧。實際編寫操作是王道。這個程序可是學生寫的哦!現在的他早已經畢業,也不知從事什么工作?多么希望我能多培養一些研發人員啊!科技進步才能真正改變世界!
回顧過往!
審核編輯:劉清
-
存儲器
+關注
關注
38文章
7453瀏覽量
163608 -
二進制
+關注
關注
2文章
794瀏覽量
41600 -
數字信號處理
+關注
關注
15文章
559瀏覽量
45795 -
仿真器
+關注
關注
14文章
1016瀏覽量
83645
原文標題:MATLAB課程之第五章v2 文件操作(4)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論