matlab—結構化程式與自定函式
建立並執行第一個 script
建立指令碼之後,將下面程式碼複製到編輯器內,然後點選執行或者摁鍵盤 F5
for i = 1 : 10 x = linspace(0,10,101); plot(x,sin(x + i)); print(gcf,'-deps',strcat('plot',num2str(i),'.ps')); end[object Object]
執行後會看到一個運動狀態的圖,第一個 matlab 指令碼就已經建立並且執行成功了,暫時先不用理解程式碼是什麼意思,後面會慢慢講到的

常用快捷鍵
% ctrl + r ctrl + t ctrl + i %% ctrl f5
debug 除錯程式
如果程式執行的結果不是我們想要的,但是又不知道哪裡出錯了,就可以給程式加斷點分步除錯,看錯誤在哪裡
第一步,加斷點

第二步,F5執行程式

第三步,清除斷點並退出除錯

條件語句
if else
格式:
if condition1 statement1 elseif condition2 statement2 else statement3 end
示例:
a = 3; if rem(a,2) == 0 % a對2取餘 disp('a是偶數') else disp('a是奇數') end
switch
格式:
switch expression case value1 statement1 case value2 statement2 ... otherwise statement end
示例:
input_num = 1; switch input_num case -1 disp('input_num的值是-1') case 0 disp('input_num的值是0') case 1 disp('input_num的值是1') otherwise disp('input_num的值不確定') end
while
格式:
while expression statement end
示例:
n = 1; while prod(1 : n) < 1e100 % prod(1:n) = 1*2*3*...n n = n + 1; end
for
格式:
for variable = start:increment:end commands end
示例:
for n = 1 : 10 a(n) = 2^n; end
順帶提一句, for
迴圈有時候在處理資料的時候會很消耗時間,下面舉個例子
tic for ii = 1 : 2000 for jj = 1 : 2000 A(ii,jj) = ii + jj; end end toc % 列印從tic到toc執行的時間 4.6s
但是如果提前做一些處理,比方說提前建立好矩陣,也許能節省不少時間
tic A = zeros(2000,2000) tic for ii = 1 : 2000 for jj = 1 : 2000 A(ii,jj) = ii + jj; end end toc % 列印從tic到toc執行的時間 0.6s
break
break
語句用來終止 for
或 while
迴圈的執行。 在迴圈中, break
語句之後出現的語句不執行。在巢狀迴圈中, break
僅從它所在的迴圈中退出。

示例:
a = 10; while (a < 20) fprint('value of a: %d\n',a); a = a + 1; if(a > 15) break; end end
Script tips
當一個程式很複雜,需要執行很久,可是這時我不想程式繼續執行下去了,就可以在命令列視窗摁下 ctrl + c
,此時程式就會停止了