【STM32F407的DSP教程】第5章 Matlab簡易使用之常用編程語句
- 2020 年 4 月 8 日
- 筆記
完整版教程下載地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547
第5章 Matlab簡易使用之常用編程語句
本期教程主要是講解Matlab的一些編程語句。
5.1 初學者重要提示
5.2 Matlab控制流
5.3 Matlab中help功能的使用
5.4 總結
5.1 初學者重要提示
- 學習本章節前,務必優先學習第4章。
- Matlab的編程語句類似C,只是比C更加寬鬆。
5.2 Matlab控制流
5.2.1 Matlab條件控制if,else,switch
下面我們通過三個簡單的例子來說明這三個函數的使用。
- If和else語句的使用
a = randi(100, 1); if a < 30 disp('small') elseif a < 80 disp('medium') else disp('large') end
命令窗口輸出結果如下:

- switch語句的使用
[dayNum, dayString] = weekday(date, 'long', 'en_US'); switch dayString case 'Monday' disp('Start of the work week') case 'Tuesday' disp('Day 2') case 'Wednesday' disp('Day 3') case 'Thursday' disp('Day 4') case 'Friday' disp('Last day of the work week') otherwise disp('Weekend!') end
命令窗口輸出結果如下:

在這裡順便介紹一個類似於C語言中scanf的函數input並配合上面的if else實現一個小功能:
yourNumber = input('Enter a number: '); if yourNumber < 0 disp('Negative') elseif yourNumber > 0 disp('Positive') else disp('Zero') end
運行上面程式碼後,我們在命令窗口輸入數字22,輸出結果如下:

5.2.2 Matlab循環控制for, while, continue, break
這裡我們也通過幾個簡單的例子來說明這幾個函數的使用。
- for語句的使用
for n = 3:32 r(n) = rank(magic(n)); end r
命令窗口輸出結果如下:

- while語句的使用
a = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; end end x
命令窗口輸出結果如下:

- continue語句的使用
fid = fopen('magic.m','r'); count = 0; while ~feof(fid) line = fgetl(fid); if isempty(line) || strncmp(line,'%',1) || ~ischar(line) continue end count = count + 1; end fprintf('%d linesn',count); fclose(fid);
命令窗口的輸出結果如下:

- break語句的使用
a = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if fx == 0 break elseif sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; end end x
命令窗口輸出結果如下:

5.2.3 Matlab矢量化
對於matlab而言,要想加快演算法的執行速度可以通過演算法的矢量化來實現,比如要實現如下的功能。
x = .01; for k = 1:1001 y(k) = log10(x); x = x + .01; end
但是我們矢量化後,將更加方便和容易實現。
x = .01:.01:10; y = log10(x);
但是有一點大家要特別注意,不是什麼程式矢量化都能加快執行速度,要視具體情況而定。
5.3 Matlab中help功能的使用
關於matlab入門方面的東西就跟大家將這麼多,基本上有這些基礎就夠了,後面遇到什麼問題在網上查找資料即可。也可以查看matlab本身的help幫助文檔。點擊這裡就可以查看,或者直接訪問地址:
https://ww2.mathworks.cn/help/ 。

如果有不懂的函數,可以直接在命令窗口輸入help 再加上函數即可,比如輸入:

5.4 總結
Matlab方面的教程就跟大家講這麼多,後面需要那方面知識的時候,我們再具體的補充。學會這些基本的操作就可以入門了。永遠要記住,Matlab只是個工具,我們只需把它當個工具來用,沒有必要花大量的時間去研究,入門後用什麼學什麼即可。