腳本和函數
腳本:
特點:按照文件中所輸入的指令執行,一段matlab指令集合。運行后,運算過程產生的所有變量保存在基本工作區。可以進行圖形輸出,如plot()函數。
舉例:
腳本文件ex4_15.m:
array=zeros(1,32); for n=3:32 %3-32遞增的循環 array(n)=rank(magic(n)); end array; bar(array)
相關函數(超鏈接顯示詳細內容):
零矩陣:X = zeros(n) 返回一個 n×n 的全零矩陣。
幻方矩陣:M = magic(n) 返回由 1 到 n2 的整數構成並且總行數和總列數相等的 n×n 矩陣。階次 n 必須為大於或等於 3 的標量。
條形圖:bar(y) 創建一個條形圖,y 中的每個元素對應一個條形。如果 y 是矩陣,則 bar 根據 y 中的行對條形分組。

函數:
特點:以function開始的m文件。函數文件定義的變量為局部變量,函數執行完后清除。函數是一個“黑箱”,把數據輸入進行加工處理再輸出。
function [y1,...,yN] = myfun(x1,...,xM)
實例:
函數文件average.m
function y=average(x) [a,b]=size(x); if~((a==1)|(b==1)|((a==1)&(b==1))) %判斷是否為向量 a,b至少有一個為1 error('必須輸入向量') end y=sum(x)/length(x);
function:函數聲明
y:輸出參數(可以為多或者無)
x:輸入參數(可以為多或者無)
相關函數(超鏈接顯示詳細內容):
數組大小:sz = size(A) 返回一個行向量,其元素包含 A 的相應維度的長度。例如,如果 A 是一個 3×4 矩陣,則 size(A) 返回向量 [3 4]。sz 的長度為數組的維度。如果 A 是表或時間表,則 size(A) 返回由表中的行數和變量數組成的二元素行向量。
引發錯誤並顯示消息:error(‘XXX’)
典型規范的M函數文件總結:
- 函數定義行:function引導,函數名與文件名相同,定義輸入輸出參數。
- H1行:緊隨函數聲明的第一個注釋行,供lookfor查詢使用。(包括大寫的函數文件名和運用關鍵詞簡要描述的函數功能)
- 幫助文本:%開頭的注釋,通常包括輸入輸出的變量含義及調用說明
- 函數體:實現功能的matlab命令
規范文件[庄1] (spirallength.m)實例:
function spir_len = spirallength(d,n,lcolor) % circle plot a circle of radius as r in the provided color and calculate % its area 用提供的顏色繪制一個半徑為r的圓,並計算其面積 % d:螺旋的旋距 % n:螺旋的圈數 % lcolor:畫圖線的顏色 % spir_len:螺旋的周長 % spirallength(d,n):藍色為預設參數的螺旋線 % spirallength(d,n,lcolor):利用lcolor顏色為參數的螺旋線 % spir_len = spirallength(d,n):計算並返回螺旋線周長,利用藍色為參數的螺旋線 % spir_len = spirallength(d,n,lcolor):計算並返回周長,利用lcolor顏色為參數的螺旋線 %編寫於2019.6.4 庄林武 if nargin>3 %nargin為調用參數個數 error('輸入參數過多!'); elseif nargin == 2 lcolor= 'b'; %輸入參數只有兩個,不包括顏色信息,設置顏色為藍色 end j=sqrt(-1); phi = 0:pi/1000:n*2*pi; amp = 0:d/2000:n*d; spir = amp .*exp(j*phi); if nargout == 1 %nargout為調用函數返回的參數個數 spir_len =sum(abs(diff(spir))); fill(real(spir),imag(spir),lcolor) %real(x)復數x的實部 imag(x)復數x的虛部 elseif nargout == 0 plot(spir,lcolor) else error('輸入變量過多'); end axis('square')
相關函數(超鏈接顯示詳細內容):
平方根:B = sqrt(X) 返回數組 X 的每個元素的平方根。對於 X 的負元素或復數元素,sqrt(X) 生成復數結果。
指數:Y = exp(X) 為數組 X 中的每個元素返回指數 ex。對於復數元素 z = x + iy,它返回以下復指數ez=ex(cosy+isiny) .
差分和近似導數:Y = diff(X) 計算沿大小不等於 1 的第一個數組維度的 X 相鄰元素之間的差分:
數組元素總和:S = sum(A) 返回 A 沿大小不等於 1 的第一個數組維度的元素之和。
填充的二維多邊形:fill(X,Y,C) 根據 X 和 Y 中的數據創建填充的多邊形(頂點顏色由 C 指定)。C 是一個用作顏色圖索引的向量或矩陣。
二維線圖:plot(Y,LineSpec) 設置線型、標記符號和顏色。
設置坐標軸范圍和縱橫比:axis(limits) 指定當前坐標區的范圍。以包含 4 個、6 個或 8 個元素的向量形式指定范圍。
[庄1]理解實例需要了解螺旋圖數學原理的畫法(待解決)
