繼續(xù)講解!
在數(shù)字信號處理領(lǐng)域,很多數(shù)據(jù)的保存形式都是文本文件!有了數(shù)據(jù),這樣就可以在計算機中完成半實物仿真了!什么是半實物仿真?就是仿真出來的結(jié)果基本和產(chǎn)品一致!那還有什么仿真?理論仿真!這個階段的仿真只是用于驗證理論是否可行!大家以后到了企業(yè),必然會接觸到這些概念!
注意!
If you plan to read the file with Microsoft Notepad, use ' ' instead of ' ' to move to a new line.
舉例:如何把成績單里面的成績從高到低排列呢?
這可是日常工作中經(jīng)常遇到的哦。學(xué)以致用!舉例說明!
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);
% 讀取數(shù)據(jù)成功后,進行成績排序。
[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函數(shù)!還有其他讀取文件的方式嗎?有!!!
A = readmatrix(filename)
通過從文件中讀取列向數(shù)據(jù)來創(chuàng)建數(shù)組。readmatrix 函數(shù)可自動檢測文件的導(dǎo)入?yún)?shù)。這個函數(shù)原來用途這么廣啊?大家已經(jīng)在前面的文章中多次見到了!
readmatrix 基于文件的擴展名確定文件格式:
.txt、.dat 或 .csv(適用于帶分隔符的文本文件)
.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(適用于電子表格文件)
對于包含數(shù)值和文本混合數(shù)據(jù)的文件,默認情況下,readmatrix 將數(shù)據(jù)作為數(shù)值數(shù)組導(dǎo)入。這么好用的函數(shù),大家一定要記住用法哦!
文件知識!
逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數(shù)據(jù)(數(shù)字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。
通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。建議使用WORDPAD或是記事本來開啟,再則先另存新檔后用EXCEL開啟,也是方法之一。
.dat并不是一種標(biāo)準(zhǔn)文件。許多文件都使用這個擴展名,但文件含義不同。而許多數(shù)據(jù)分析軟件也用這個擴展名保存數(shù)據(jù)。所以這要看具體的軟件情況來定。
現(xiàn)在我首推使用readmatrix函數(shù)!
語法!
A = readmatrix(filename)
從文件中讀取矩陣。readmatrix 基于文件的擴展名確定文件格式:.txt、.dat 或 .csv(適用于帶分隔符的文本文件)、.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(適用于電子表格文件)
readmatrix第一個參數(shù)是文件名。第二個參數(shù)指輸出類型。如果不帶這個參數(shù),那么遇到字符串輸出的結(jié)果是Nan值。本人非常喜歡用這個函數(shù),簡單直接和強大!
csvread函數(shù)還沒有用過!文件的操作會涉及哪些函數(shù)呢?可以總結(jié)一下了。課程只是講解了fopen和fwrite函數(shù),那么fprintf和fclose函數(shù)呢?先一起來看看程序吧。實際編寫操作是王道。這個程序可是學(xué)生寫的哦!現(xiàn)在的他早已經(jīng)畢業(yè),也不知從事什么工作?多么希望我能多培養(yǎng)一些研發(fā)人員啊!科技進步才能真正改變世界!
回顧過往!
再回首!
這是當(dāng)年上我課的大一學(xué)生寫的。他從最開始幾乎不懂編程,到慢慢的能夠入門。說明他很勤奮!就需要這樣一步一步的實踐,才能把工科之路走踏實了!大一的小李同學(xué)課后堅持學(xué)習(xí),從最開始連簡單的程序都看不懂,到后來慢慢的可以跟著我的步伐寫程序,再到獨立寫程序了。很棒!但是他的英語底子很薄弱,一直沒有補起來。這是一個遺憾,我當(dāng)年一直想幫他補習(xí)英語,堅持了兩周后,他放棄了。非常可惜!
學(xué)習(xí)就是這樣的過程。從不懂到懂肯定需要花很多功夫。光靠看別人的程序就想提升自己?基本不可能。
那是做夢!
繼續(xù)看視頻吧!
接著讓自己腦洞大開吧!第四天,繼續(xù)給學(xué)生們直播講課!后續(xù)還會講,總共策劃了有十幾節(jié)課呢。
2023年12月,課堂上的講解視頻來了!互聯(lián)網(wǎng)時代的特色,手機上也能聽課。
請?zhí)貏e注意二進制文件的存儲方式,比較一下和文本文件存儲的差異。未完,待續(xù)!
修訂記錄
20230418 完成初稿;
20230831 修訂內(nèi)容v2;
20231211 修訂內(nèi)容v3;
-
通信網(wǎng)絡(luò)
+關(guān)注
關(guān)注
22文章
2077瀏覽量
53005
原文標(biāo)題:MATLAB課程之第五章v3 文件操作(4)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
云平臺連接(SC171開發(fā)套件V3)
SC171開發(fā)套件V3 技術(shù)資料
平臺介紹及基本使用(SC171開發(fā)套件V3)
大模型實戰(zhàn)(SC171開發(fā)套件V3)
AI功能(SC171開發(fā)套件V3)
AI端側(cè)部署案例(SC171開發(fā)套件V3)
AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)
軟件平臺的使用(SC171開發(fā)套件V3)
華為-射頻基礎(chǔ)知識培訓(xùn)
《DNESP32S3使用指南-IDF版_V1.6》第五章 搭建開發(fā)環(huán)境
迅為電子RK3588S開發(fā)板第五章 Debian系統(tǒng)功能測試

《DNK210使用指南 -CanMV版 V1.0》第五章 編譯CanMV固件
【北京迅為】《stm32mp157開發(fā)板嵌入式linux開發(fā)指南》第五章 Ubuntu使用apt-get下載

第五章-PWM控制電機 開源stm32循跡小車詳細制作過程(附加完全版代碼)

評論