matlab基礎-matlab數值運算課件_第1頁
matlab基礎-matlab數值運算課件_第2頁
matlab基礎-matlab數值運算課件_第3頁
matlab基礎-matlab數值運算課件_第4頁
matlab基礎-matlab數值運算課件_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、問題分析(1)clear:清理內存clc:清屏1問題分析(2)23問題分析(3)設三個復數a34i,b12i, ,計算x=ab/c a=3+4i; ? 4*i b=1+2i; c=2*exp(i*pi/6); ? x=a*b/cx = 0.3349 + 5.5801i4問題分析(4)計算下式的結果,其中x= 45 x=pi/180*(45);%將角度單位由度轉換為函數要求的弧度值z=(sin(x)+sqrt(35)/72(1/5)z =2.81585第2講 MATLAB數值運算 matlab 具有出色的數值計算能力,占據世界上數值計算軟件的主導地位6本講目標理解數值運算的有關概念加深對MATL

2、AB中矩陣和數組的理解掌握使用MATLAB數值運算的基本方法7數值運算的功能數組運算矩陣運算多項式運算線性方程組數值統計線性插值8實例圖像92019年“人與水”國際攝影大賽比賽特等獎 被取消 沿Y軸翻轉 A*B(翻轉矩陣)=A原圖A參賽圖A fliplr(A)10年華賽金獎作品廣場鴿注射禽流感疫苗的獲獎資格年被取消 整體姿態(tài) 圖像矩陣中兩只鴿子特征值高 邊緣11實例信號BuzzingBee.wav(windowssystem32)12一.數值變量變量名區(qū)分大小寫;變量名的長度是有規(guī)定的,超過時給出警告信息;變量名必須以字母開頭,其余可包含字母、數字、下劃線,但不得使用標點符號。 MATLAB是

3、以矩陣(二維數組)為基本運算單元的,而構成數值矩陣的基本單元就是數值。MATLAB中的變量名必須遵循:13比如以下的例子就是輸入了變量x和X,這是兩個不同的變量,一個是數字,一個是矩陣。14二. 創(chuàng)建數組的方法一維數組的創(chuàng)建規(guī)則: 元素必須用 括住 元素必須用逗號或空格分隔 可以是實數 ,也可以是復數A=first:增量:lastA=linspace(first,last,n)2. 二維數組的創(chuàng)建 在 內的行與行之間必須 用分號分隔15 數組運算指元素對元素的算術運算,與通常意義上的由符號表示的線性代數矩陣運算不同 數組加減(+,-) a+b a- b三. 數組運算 對應元素相加減(與矩陣加減

4、等效)162. 數組乘除(,./ 右除,. 左除)ab a,b兩數組必須有相同的行 和列兩數組相應元素相乘。a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a.*bans = 2 8 18 4 15 30 49 72 90 17a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a*bans = 25 37 46 55 85 109 85 133 172 18a./b=b.aa.b=b./aa./b=b.a 都是a的元素被b的對應元 素除a.b=b./a 都是a的元素被b的對應元 素除例: a=1 2 3;b=4 5 6; c1=

5、a.b; c2=b./ac1 = 4.0000 2.5000 2.0000c2 = 4.0000 2.5000 2.0000 給出a,b對應元素間的商.19 a=1 2 3;4 5 6;7 8 0; b=3 2 1;1 0 3;1 2 4; c=a*bc = 8 8 19 23 20 43 29 14 31 cc=a.*bcc = 3 4 3 4 0 18 7 16 0 203. 數組乘方(.) 元素對元素的冪例:a=1 2 3;b=4 5 6;z=a.2z = 1.00 4.00 9.00z=a.bz = 1.00 32.00 729.0021常見的基本數學函數函數名功能函數名功能函數名功能

6、sin正弦tan正切atan反正切asin反正弦cot余切acot反余切cos余弦sec正割asec反正割acos反余弦csc余割acsc反余割三角函數22函數名功能函數名功能exp以e為底的指數pow22的冪次log2以2為底的對數log自然對數log10以10為底的對數sqrt開平方nextpow2返回2的下一個最近冪指數與對數函數23復數函數函數名功能函數名功能abs復數的模real實部angle相位角unwrap相位展開complex構造復數isreal判斷實數conj共軛復數cplxpair整理為共軛對imag虛部24取整函數函數名功能函數名功能fix朝0方向取整round四舍五入f

7、loor朝負無窮方向取整rem除后取余ceil朝正無窮方向取整sign符號函數mod模數(帶符號余)25矩陣函數函數名功能函數名功能cond矩陣的條件數rank矩陣的秩condest1范數條件數svd奇異值分解rcond矩陣倒條件數trace矩陣的跡det方陣的行列式expm矩陣指數inv方陣的逆logm矩陣對數norm一般范數sqrtm矩陣開方normest2范數funm一般矩陣函數26特殊函數函數名功能函數名功能bessel貝塞爾函數rat有理逼近beta貝塔函數cross矢量叉乘gamma伽馬函數dot矢量點乘ellipj雅可比橢圓函數cart2sph直角-球ellipk完全橢圓積分ca

8、rt2pol直角-極erf誤差函數pol2cart極-直角erfinv逆誤差函數sph2cart球-直角27四、創(chuàng)建矩陣的方法1. 直接輸入法規(guī)則: 矩陣元素必須用 括住 在 內矩陣的行與行之間必須 用分號分隔 矩陣元素必須用逗號或空格分隔 28 矩陣元素可以是任何matlab表達式 ,可以是實數 ,也可以是復數,復數可用特殊數i,j 輸入 a=1 2 3;4 5 6 x=2 pi/2;sqrt(3) 3+5i 矩陣元素29符號的作用逗號和分號的其他作用 逗號和分號可作為指令間的分隔符,matlab允許多條語句在同一行出現。 分號如果出現在指令后,屏幕上將不顯示結果。30注意:只要是賦過值的變

9、量,不管是否在屏幕上顯示過,都存儲在工作空間中,以后可隨時顯示或調用。變量名盡可能不要重復,否則會覆蓋 。 當一個指令或矩陣太長時,可用續(xù)行 當屏幕內容過多,用clc清除命令窗口31冒號的作用 用于生成等間隔的向量,默認間隔為1。 用于選出矩陣指定行、列及元素。 循環(huán)語句32空陣 matlab允許輸入空陣,當一項操作無結果時,返回空陣。rand 產生0和1之間均勻分布的隨機矩陣randn 產生均值為0,方差為1的正態(tài)分布的隨機矩陣eye 單位矩陣(對角元素為1,其他為0)zeros 全部元素都為0的矩陣ones 全部元素都為1的矩陣2.用matlab函數創(chuàng)建矩陣33 還有伴隨矩陣、稀疏矩陣、魔

10、方矩陣、對角矩陣、范德蒙等矩陣的創(chuàng)建,就不一一介紹了。注意:matlab嚴格區(qū)分大小寫字母,因此a與A是兩個不同的變量。 matlab函數名必須小寫。34矩陣的修改 直接修改 可用鍵找到所要修改的矩陣,用鍵移動到要修改的矩陣元素上即可修改。 指令修改 可以用A(,)= 來修改。35例如a=1 2 0;3 0 5;7 8 9a =1 2 0 3 0 5 7 8 9a(3,3)=0a =1 2 0 3 0 5 7 8 036矩陣加、減(,)運算規(guī)則: 相加、減的兩矩陣必須有相同的行和列兩矩陣對應元素相加減。 允許參與運算的兩矩陣之一是標量。標量與矩陣的所有元素分別進行加減操作。五、矩陣運算37規(guī)則

11、:A矩陣的列數必須等于B矩陣的行數標量可與任何矩陣相乘。a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =14 32 23 2. 矩陣乘()運算38d=-1;0;2;f=pi*df = -3.1416 0 6.2832 393. 矩陣除(/ )運算矩陣除的運算在線性代數中沒有,有矩陣逆的運算,在matlab中有兩種矩陣除運算左除 ab 等價于inv(a)*b 右除 b/a 等價于b* inv(a)inv(a)矩陣的逆40 a=1 2 3;3 0 1;4 2 1; det(a)ans = 18 b=5 5 5; 5 5 5;5 5 5; c=abc = 1.1111 1.1

12、111 1.1111 -0.5556 -0.5556 -0.5556 1.6667 1.6667 1.6667 c=b/ac = 1.3889 -0.2778 1.1111 1.3889 -0.2778 1.1111 1.3889 -0.2778 1.111141 a p a 的p次冪 4. 矩陣乘方 an,ap,pa42 a=1,2,3;4,5,6;7,8,9;a2 ans =30 36 42 66 81 96 102 126 15043 a0.5 ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i

13、 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717iap :a的p次方條件:在ap 中a, p不可都是矩陣,必須一個是標量,一個是方陣(1)a是一個方陣,p是一個標量 p 是大于1 的正整數,則a的p次冪即為a自乘p次。當P為負整數時,A-1自乘p次。44p1 a = magic(3)a = 8 1 6 3 5 7 4 9 2 a2ans = 91 67 67 67 91 67 67 67 9145 p是不為整數的標量時,ap=v*D.p/v 。其中D為矩陣a的特征值矩陣,v為

14、對應的特征矢量陣,用eig函數求出D和v, v,D=eig(a).a=vDv-1-(對角化) aa = 1 1 3 4 a0.5ans = 0.7559 0.3780 1.1339 1.889846 v,D=eig(a)v = -0.7842 -0.2550 0.6205 -0.9669D = 0.2087 0 0 4.7913 v*D.0.5/vans = 0.7559 0.3780 1.1339 1.889847(2)p 是方陣而a是標量時,ap=v*aD/v,其中v,D=eig(p). p=1 1;1 2p = 1 1 1 2 2pans = 2.6398 2.1627 2.1627 4

15、.802548 v,D=eig(p)v = -0.8507 0.5257 0.5257 0.8507D = 0.3820 0 0 2.6180 v*2D/vans = 2.6398 2.1627 2.1627 4.80254950inv 矩陣求逆det 行列式的值eig 矩陣的特征值diag 對角矩陣 矩陣轉置sqrt 矩陣開方5. 矩陣的其它運算 516. 矩陣的一些特殊操作矩陣的變維 a=1:12;b=reshape(a,3,4) c=zeros(3,4);c(:)=a(:)矩陣的變向 rot90:旋轉; fliplr:左右翻; flipud:上下翻矩陣的抽取 diag:抽取主對角線;tr

16、il: 抽取主下三角; triu:抽取主上三角矩陣的擴展52關系運算 關系符號意義=小于小于或等于大于大于或等于等于不等于53邏輯運算 邏輯符號意義與(AND)或(OR)非(NOT)54關系函數和邏輯函數函數名功能函數名功能all是否為全1矩陣isinf是否無窮大any找非零元素isnan是否非值exist存在性與類別issparse是否稀疏find找非零元素isstr是否字串isempty是否為空isglobal是否全局isfinite是否有限xor(x,y)異或運算55matlab語言把多項式表達成一個行向量,該向量中的元素是按多項式降冪排列的。 f(x)=anxn+an-1xn-1+a0

17、 可用行向量 p=an an-1 a1 a0表示poly2sym 由系數行向量產生多項式六、 多項式運算 56例:p=1 -5 -4 3 -2 1;y=poly2sym(p)y =x5-5*x4-4*x3+3*x2-2*x+1p是多項式p(x)=x5-5x4-4x3+3x2-2x+1的matlab描述方法,我們可用:p1=polyval(p,x) 函數文件,求數學多項式在x點的值.p1=polyval(p,6) p1 = 529572.roots 求多項式的根使用roots函數p=1 2 3 4; r=roots(p)r = -1.6506 -0.1747 + 1.5469i -0.1747

18、- 1.5469i58當然我們可用poly由根矢量返回多項式形式p2=poly(r)p2 = 1.00 -6.00 -72.00 -27.00matlab規(guī)定多項式系數向量用行向量表示,一組根用列向量表示。593.conv多項式乘運算例:a(x)=x2+2x+3; b(x)=4x2+5x+6;c = (x2+2x+3)(4x2+5x+6)a=1 2 3;b=4 5 6;c=conv(a,b)=conv(1 2 3,4 5 6)c = 4.00 13.00 28.00 27.00 18.00p=poly2str(c,x)p = 4 x4 + 13 x3 + 28 x2 + 27 x + 1860

19、4.deconv多項式除運算a=1 2 3; c = 4.00 13.00 28.00 27.00 18.00d=deconv(c,a)d =4.00 5.00 6.00d,r=deconv(c,a)余項c除a后的整項615.多項式微積分matlab提供了polyder函數多項式的微分。命令格式:polyder(p): 求p的微分例:a=1 2 3 4 5; poly2str(a,x)ans = x4 + 2 x3 + 3 x2 + 4 x + 5b=polyder(a)b = 4 6 6 4poly2str(b,x)ans =4 x3 + 6 x2 + 6 x + 462polyint求多項

20、式函數的不定積分:命令格式:p=polyint(a): 求a的不定積分,常數項為0例:a=1 2 3 4 5; poly2str(a,x)ans = x4 + 2 x3 + 3 x2 + 4 x + 5b=polyint(a)b = 0.2000 0.5000 1.0000 2.0000 5.0000 0poly2str(b,x)ans = 0.2 x5 + 0.5 x4 + x3 + 2 x2 + 5 x63七、代數方程組求解matlab中有兩種除運算左除和右除。對于方程ax=b,a 為anm矩陣,有三種情況: 當n=m時,此方程成為“恰定”方程 當nm時,此方程成為“超定”方程 當nm時,

21、此方程成為“欠定”方程 matlab定義的除運算可以很方便地解上述三種方程641.恰定方程組的解方程ax=b(a為非奇異) x=a-1 b 矩陣逆兩種解:x=inv(a)b 采用求逆運算解方程 x=ab 采用左除運算解方程 65方程ax=ba=1 2;2 3;b=8;13;x=inv(a)*b x=ab x = x = 2.00 2.00 3.00 3.00 = a x = b例: x1+2x2=8 2x1+3x2=13662.超定方程組的解方程 ax=b ,mn時此時不存在唯一解。方程解 (a a)x=a b x=(a a)-1 a b 求逆法 x=ab matlab用最小二乘法找一 個準確地基本解。 定理 :當RTR可逆時,以上超定方程組存在最小二乘解.67例: x1+2x2=1 2x1+3x2=2 3x1+4x2=3a=1 2;2 3;3 4;b=1;2;3; 解1 x=ab 解2 x=inv(aa) a b x = x = 1.00 1.00 0 0.00 = a x = b683.欠定方程組的解 當方程數少于未知量個數時,即不定情況,有無窮多個解存在。matlab可求出兩個解:用除法求的解x是具有最多零元素的解是具有最小長度或范數的解,這個解是基于偽逆pinv

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論