4.1數學基本函數
一般函數有三角函數、矩陣函數及統計函數。有些由於解說之需要,在前文中已有述及。但基本上,其歸類有些也甚為模糊的,只是這種分類也沒多大意義。故讀者參考時,可以前後作對照。三角函數是工程上最為常見的函數,下表將其列入。
4.1.1三角函數
由於三角函數牽涉到角度的單位,以往其輸入參數均以弧度為單位,故應用時須先轉換,令pi等於180度,依此比例計算。新版的應用中,則增加以度數為單位輸出與輸入的型式,因此不必再經過轉換的程序。在函數的名稱上,若輸入為度數,則可使用字尾加"d"的型式,如xxxd是,詳情見表4.1。當然是否必須使用不同的度數為指令,則見仁見智。若考慮新舊版的共通性,仍仍以採用轉換之型式為宜。
表4.1三角函數指令表
指令型式 | 說明 |
---|---|
sin / sind | 正弦函數,輸入參數單位為弧度/度數 |
cos /cosd | 餘弦函數,輸入參數單位為弧度/度數 |
tan /tand | 正切函數,輸入參數單位為弧度/度數 |
cot /cotd | 餘切函數,輸入參數單位為弧度/度數 |
asin / asind | 反正弦函數,輸出參數單位為弧度/度數 |
acos /acosd | 反餘弦函數,輸出參數單位為弧度/度數 |
atan /atand | 反正切函數,輸出參數單位為弧度/度數 |
acot /acotd | 反餘切函數,輸出參數單位為弧度/度數 |
sinh / cosh | 超正/餘弦函數 |
asinh /acosh | 反超正/餘弦函數,輸出參數單位為弧度 |
tanh /coth | 超正/餘切函數 |
atanh /acoth | 反超正/餘切函數,輸出參數單位為弧度 |
atan2 | 四象限反正切函數,輸出參數單位為弧度 |
例1. 計算sin(60)之值:
>>sin(60*pi/180)
ans = 0.8660
>>sind(60)
ans = 0.8660
其結果相同。
例2. 計算sin²(60度)+cos²(60度)之值
>>theta=60*pi/180;
>>sin(theta)^2;+cos(theta)^2;
ans = 1
>>sind(60)^2;+cosd(60)^2;
ans = 1
兩者之結果亦相同。
例3. 計算arctan(1)+arccot(1)之值
>>atan(1)+acot(1)
ans = 1.5708
>>atand(1)+acotd(1)
ans = 90
前者之單位為弧度,後者為度數,其實兩者所指的角度是相同的。
表4.1中亦列有超函數之計算,這是在許多工程數學常見到的解,其型式近乎雙曲線函數。其定義如下:
cosh x ={exp(x)+exp(-x)}/2
sinh x ={exp(x)-exp(-x)}/2
若依其定義進行計算,則可利用後節之對數函數配合解決,若直接用超函數表示,則可簡單計算如下:
>>cosh(1)
ans =
1.5431
4.1.2指數與對數函數
有關指數與對數函數之指令則如表4.2所示。這些指令與極座標有關,也與超函數之運算有關。
表4.2 指數與對數與複數函數指令表
指令型式 | 說明 |
---|---|
sqrt(x) | 開方根( ) |
exp(x) | 指數函數(ex) |
log(x) | 自然對數( ) |
log10(x) | 以10為基底之對數(log10x) |
abs(x) | (複數之)絕對值 |
angle(x) | 複數或極座標之夾角,弧度 |
real(x) | 複數之實數部份 |
imag(x) | 複數之虛數部份 |
conj(x) | 共軛複數 |
i,j | 虛數單位,如3+4j,或3+4i |
一般數之次方常用"^"表示,如A^5代表A5。開平方根則是常用的指令,故有特別的操作函數sqrt,例如3的開平方:
>>sqrt(3)
ans = 1.7321
同理負數的開方也可以得到結果,只是會產生複數,以-5之開方為例:
>>sqrt(-5)
ans = 0 + 2.2361i
結果進入虛數的世界,因為得到虛根。所以MATLAB在處理數值時,開方根並不限於正值。
指數方面,因為基底之不同,數學上分為以e 與以10為底;對應於指令方面,分別為log(x)與log10(x)之型式。與對數相應,以e 為底者稱為自然對數,用exp(x)表示。例如e¹其值為:
>>exp(1)
ans =
2.7183
顯然e值就是2.7183。由於定義上,y=e^x 兩邊分取對數,則log(y)=x。故上述結果代入log(y)應可得到x,如:
>>log(2.7183)
ans =
1.0000
所以兩者是相互為用的。在以10為基底的情況下,若要更換為自然對數,則其對數值應乘以log(10) 。以x=10^5為例,兩邊取自然對數後,成為log(x)=5*log(10),則:
>>logx=5*log(10)
logx = 11.5129
>>x=exp(logx)
x =
1.0000e+005
其值與原數相同。注意:結果為以10為底之指數型式,由e後面為其次方值。
指數的型式,其輸入項亦可使用複數,以配合極座標之應用。通常將複數中之實數部份作為橫軸,虛數之值則視為縱軸,如此可以構成二度空間。假設某向量R=3+4j,則:
>>R=3+4j
R = 3.0000 + 4.0000i
由此可以利用計算其絕對值abs(R)、夾角angle(R):
>>abs(R)
ans = 5
>>angle(R)*180/pi
ans = 53.1301
後者之角度已轉換為度數。利用同一複數量R亦可求其實數、虛數及共軛複數:
>>real(R) %實數部份
ans = 3
>>imag(R) %虛數部份
ans = 4
>>conj(R) %共軛複數
ans = 3.0000 - 4.0000i
根據尤拉公式,虛數之自然對數可以與正、餘弦作轉換,其基本型式為:
eix=cos(x)+ i sin(x)
此時,x之值為弧度值。因此利用這種轉換亦可將自然對數之型式轉換為三函數之關係:例如,設theta=[ 20 60 80]度,則
>>theta=[20 60 80]/180*pi %先轉換為弧度
theta = 0.3491 1.0472 1.3963
>>eix=exp(i*theta)
eix = 0.9397 + 0.3420i 0.5000 + 0.8660i 0.1736 + 0.9848i
>>cos(theta)+i*sin(theta)
ans = 0.9397 + 0.3420i 0.5000 + 0.8660i 0.1736 + 0.9848i
由此可以證明三個不同角度下,其演算結果相同。
就超函數之定義而言,其值與指數間具確定的關係,依照前述之cosh(x)與sinh(x)之定義,兩者相加可以得到如下之如果:
ex=cosh(x)+sinh(x)
>>cosh(1:5)+sinh(1:5)
ans = 2.7183 7.3891 20.0855 54.5982 148.4132
>>exp(1:5)
ans = 2.7183 7.3891 20.0855 54.5982 148.4132
兩者對應之結果一致。
4.1.3元素操作函數
有些數值必須在計算中進行整理,使其符合需求。這些函數包括四捨五入(round)、頂部整數(ceil)、底部整數(fix)、近零整數(floor)等。這些功能如下表:
表4.3元素操作函數
指令型式 | 說明 |
---|---|
ceil(x) | 大於x之最近整數 |
fix(x) | 位於接近於零之整數 |
floor(x) | 小於x之最近整數 |
round(x) | 四捨五入之整數 |
sign(x) | 符號值,若x>0為+1;x=0為0;x<0為-1> |
假設有一向量A為:
>>A=rand(1,10)*10-5 %利用隨機函數產生-5至+5間之亂數
A =
1.1543 2.9194 4.2181 2.3821 -3.2373 -0.9429
4.3547 4.1690 -0.8973 3.9365
>>round(A) %進行四捨五入。
ans =
1 3 4 2 -3 -1 4 4 -1 4
>>fix(A) %最接近零之整數
ans =
1 2 4 2 -3 0 4 4 0 3
>>floor(A) %得到最接近A值但低於A值之整數
ans =
1 2 4 2 -4 -1 4 4 -1 3
>>ceil(A) %得到大於A且最接近於A之整數
ans =
2 3 5 3 -3 0 5 5 0 4
>>sign(A) %得到該值之符號值,若該值為零,則為零(本例沒有)
ans =
1 1 1 1 -1 -1 1 1 -1 1
1 則留言:
vopoKfauho-Des Moines Erika Walker https://marketplace.visualstudio.com/items?itemName=9simpbiohauka.Outlaws--Corwin-s-Treasure-gratuita-2022
tabubbtackthe
張貼留言