版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二章 MATLAB數值計算功能2.1 MATLA的數據類型2.2 向量及其運算2.3 矩陣及其運算2.4 數組及其運算2.5 多項式運算三、矩陣的基本函數運算 1. 特征值函數 矩陣的特征值可以由兩個函數eig和eigs計算得出。eig給出特征值和特征向量的值,eigs是使用迭代法求解特征值和特征向量的函數。 如: A=7 3 2;3 4 1;-2 1 3; x,y=eig(A)x,y=eig(A)x = 0.5774 -0.0988 -0.8105 -0.5774 0.6525 -0.4908 0.5774 0.7513 0.3197y = 2.0000 0 0 0 2.3944 0 0
2、0 9.60562. 秩函數 矩陣的秩的求解可由函數rank實現。 如: e=3 6 7 ;8 76 0;7 9 3 rank(e) ans=33. 跡函數 矩陣所有對角線上元素的和稱為矩陣的跡, 可由trace函 數計算得出。 如: trace(A) ans =144. 通用函數形式 在MATLAB中使用通用函數的格式為funm(A,funname),其中A為輸入矩陣變量,funname為調用的函數名。 如: funm(a,log) %其作用同于logm(a); funm(a,sqrt) %其作用同于sqrtm(a); 基本函數表(見下表) 四、矩陣分解函數 1. 特征值分解 調用函數 ei
3、g 矩陣分解為X*V=V*D 調用格式為: V,D=eig(X) % D:X矩陣的特征值對角矩陣; V: 其列為對應特征值的特征向量矩陣。 矩陣A和B作廣義特征值分解 A*V=B*V*D,調用格式為: V,D=eig(A,B) 如: a=-149 50 154;537 180 546;-27 9 -25 b=2 10 2;10 5 8;2 8 11v,d=eig(a)v = 0.3162 -0.4041 -0.1391 -0.9487 0.9091 0.9740 -0.0000 0.1010 -0.1789d = 1.0000 0 0 0 2.0000 0 0 0 3.0000v,d=eig(
4、a,b)v = -1.0000 -0.3305 -0.0202 0.4204 1.0000 -1.0000 0.5536 -0.0046 0.3485d = 12.9030 0 0 0 -0.0045 0 0 0 0.07062. 其它分解 (自看) 五、特殊矩陣的生成 1. 空陣 定義 為空陣,一個被賦空陣的變量具有以下性質: 在MATLAB工作內存中確實存在被賦空陣的變量; 空陣中不包括任何元素,它的階數是0*0; 空陣可以在MATLAB的運算中傳遞; 可以用clear從內存中清除空陣變量; 空陣不是“0”,也不是“不存在”,它可用來使矩陣按要求進行縮維。 如: a=1:18 a=resh
5、ape(a,3,6) a=1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 a1=a(:,1 3 4 6) a1 =1 7 10 16 2 8 11 17 3 9 12 18 a(:,2 5)= a =1 7 10 16 2 8 11 17 3 9 12 18 用空陣縮維后的a 陣與用坐標標識所得的a1陣相同。2. 幾種常用的工具陣 全0陣 由函數zeros生成 ,調用格式為; zeros(N) %生成N*N階的全0陣; zeros(M,N) %生成M*N階的全0陣; zeros(M,N,P ) %生成M*N*P 階的全0陣; zeros(size(A)
6、 %生成與A同階的全0陣; 單位陣 由函數eye生成,調用格式為: eye(N) %生成N*N階的單位陣; eye(M,N) %生成M*N階的單位陣; eye(size(A) %生成與A同階的單位陣; 全1陣 由函數ones生成,調用格式為: ones(N) %生成N*N階的全1陣; ones(M,N) %生成M*N階的全1陣; ones(M,N,P ) %生成M*N*P 階的全1陣; ones(size(A) %生成與A同階的全1陣; 隨機陣 由函數rand產生,調用格式為: rand(N) %產生一個N*N階均勻分布的隨機陣,元素 值在(0.0,1.0)區(qū)間內; rand(M,N) %生成
7、M*N階的隨機陣; rand(M,N,P ) %生成M*N*P 階的隨機陣; rand %無變量輸入時,只產生一個隨機數量; rand(size(A) %生成與A同階的隨機陣; randn(N) %生成一個N*N階的正態(tài)分布N(0,1)的隨 機陣; 3. 其它特殊矩陣的生成(見下表)六、矩陣的一些特殊操作 1. 變維 實現矩陣變維有兩種方法: “ :” 兩個矩陣之間運算實現變維; 函數“reshape”對一個矩陣的操作。 例如: a=1:12 a=1 2 3 4 5 6 7 8 9 10 11 12 b=reshape(a,2,6) b =1 3 5 7 9 11 2 4 6 8 10 12
8、c=zeros(3,4) c =0 0 0 0 0 0 0 0 0 0 0 0 c(:)=a(:) c(:)=a(:)c = 1 4 7 10 2 5 8 11 3 6 9 12說明:1)若使用“:”進行變維操作,兩個矩陣必須預先定義維 數; 2)這兩個命令對于數組同樣適用,并且有更廣泛意義。 2. 矩陣的變向 矩陣的變向操作包括矩陣的旋轉、左右翻轉、上下翻轉,分 別由函數rot90、fliplr、flipup來實現。flipdim用來對指定維數 進行翻轉。 其調用格式為: rot90(A) %將A逆時針方向旋轉900 rot90(A,K) %將A逆時針方向旋轉(900*K),K值可正可負 f
9、liplr(X) %將X左右翻轉 flipup(X) %將X上下翻轉 flipdim(X,dim) %將X的第dim維翻轉,dim=1時,對行翻轉, dim=2時,對列翻轉。 例如:矩陣變向示例。 c=1 2 3 4;3 4 5 6;4 5 7 9;3 5 8 0 flipdim(c,1) ans =3 5 8 0 4 5 7 9 3 4 5 6 1 2 3 4 flipdim(c,2) ans =4 3 2 1 6 5 4 3 9 7 5 4 0 8 5 3 flipdim(c,3)ans = 1 2 3 4 3 4 5 6 4 5 7 9 3 5 8 03. 矩陣的抽取 對角元素抽取函數d
10、iag diag(X,k) 抽取矩陣X的第k條對角線的元素向量。k為0時抽取 主對角線,k 為正值時為上方第k條對角線,k 為負 值時為下方第k條對角線。 diag(X) 相當于diag(X,0),即抽取主對角線元素。 此函數還可以用來建立對角矩陣,其形式如下: diag(v,k) 使得向量v為所得矩陣的第k條對角線元素。 diag(v) 使得向量v為矩陣的對角線元素。例如:矩陣抽取示例。 a=pascal(4) %4階pascal矩陣 a =1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 v=diag(a) ; v v=1 2 6 20 v=diag(a,2); v v
11、=1 4 v=diag(diag(a) v =1 0 0 0 0 2 0 0 0 0 6 0 0 0 0 20 上三角矩陣和下三角矩陣的抽取 tril(X) 提取矩陣X的主下三角部分 tril(X,k) 提取矩陣X的第k條對角線下面的部分(包括第k條對角 線),其中k的含義與diag函數中k的含義相同。triu(X) 提取矩陣X的主上三角部分triu(X,k) 提取矩陣X的第k條對角線上面的部分(包括第k條對角線)例如:對上例中a進行三角抽取。 a1=tril(a,-1) a1 = 0 0 0 0 1 0 0 0 1 3 0 0 1 4 10 0 a1=triu(a,2) a1 =0 0 1
12、1 0 0 0 4 0 0 0 0 0 0 0 0 4. 矩陣的擴展 矩陣的擴展有兩種方法: 利用對矩陣標識塊的賦值命令X(m1:m2,n1:n2)=a生成大矩陣。其 中,(m2-m1+1)必須等于a的行維數,(n2-n1+1)必須等于a的列 維數。生成的(m2*n2)維的矩陣X,除賦值子陣和已存在的元素 外,其余元素都默認為0。 如:x(2:5,2:5)=a x = 0 0 0 0 0 0 1 1 1 1 0 1 2 3 4 0 1 3 6 10 0 1 4 10 20y(2:5,3:6)=ay = 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 2 3 4 0 0 1 3 6
13、10 0 0 1 4 10 20 利用小矩陣的組合來生成大矩陣。 例:用3 種方法建立多項式的伴隨矩陣。 v=1 2 6 20 v =1 2 6 20 a1=compan(v) a1 =-2 -6 -20 1 0 0 0 1 0 a2=-v(2:4);eye(2),zeros(2,1) a2 =-2 -6 -20 1 0 0 0 1 0 a3=-v(2:4); a3(2:3,1:2)=eye(2) a3 =-2 -6 -20 1 0 0 0 1 03、對于大規(guī)模的數據,可以通過數據表格方式來輸入, 此時可以單擊選擇工作空間的圖標,選中已經編好的矩陣數據文件后,導入到工作空間中。4、可以通過所提
14、供的其他函數來生成二維數組。 ans = 1.0000 0.5000 0.3333 1.0000 0.6667 0.5000 1.0000 0.7500 0.6000ans = 1.0000 2.0000 3.0000 1.0000 1.5000 2.0000 1.0000 1.3333 1.66672. 數組與常數間的運算 數加、數減運算 如:4.+b1 數乘運算 如: 3.*a1 數除運算 如: b1.9 b1.9ans = 9.0000 9.0000 9.0000 4.5000 4.5000 4.5000 3.0000 3.0000 3.00003. 數組的冪運算 運算符:“.”,同矩陣
15、冪運算不同,它表示每個數組元素的冪運 算。 如: a=2 1 3 1;3 1 0 7;-1 2 4 2;1 0 1 5 a.3 a3ans =8 1 -27 -1 27 1 0 343 -1 8 64 -8 1 0 -1 125ans =32 -28 -101 34 99 -12 -151 239 -1 49 93 8 51 -17 -98 139 4. 數組的指數運算、對數運算和開方運算 運算符為: exp log sqrt a=2 4;3 1 exp(a) expm(a) ans = 7.3891 54.5982 20.0855 2.7183 三、數組函數運算 對于數組運算的通用函數運算,
16、只要把所有運算的數組當數字一樣帶入函數中,不需要做什么變形。其通用形式為funname(A),其中funname為常用函數名,函數名見表2.6和表2.7 如:sin(a) log(a) exp(a)ans = 84.8655 84.7302 63.5476 63.6830四、數組邏輯運算 1. 基本邏輯關系運算 下表為基本邏輯運算表:說明: 在關系比較中,若比較的雙方為同維的數組,則比較的結果也是同維數組。它的元素值由0和1 組成。當比較雙方對應位置上的元素值滿足比較關系時,它的對應值為1,否則為0。 當比較對方中一方為常數,另一方為一數組,則結果與數組同維,且其值為已知數組與常數依次比較的結
17、果; 在算術運算、比較運算、邏輯與或非運算中,它們的優(yōu)先級關系先后為:比較運算 、 算術運算、邏輯與或非運算。 例:數組的邏輯運算演示 a=1 2 3;2 3 4;3 4 5 x=5 y=ones(3)*5 ax=x=a %等同于ax=y b=0 1 0;1 0 1;0 0 1b = 0 1 0 1 0 1 0 0 1 ab=a&bab = 0 1 0 1 0 1 0 0 1 n_b=bn_b = 1 0 1 0 1 0 1 1 02. 邏輯關系函數運算(二)、低維數組的排序例: a=1 2 3;2 3 4;3 4 5 p1=poly(a) p1 = 1.0000 -9.0000 -6
18、.0000 -0.0000 poly2sym(p1)ans = x3-9*x2-6*x-3.3130e-015 說明: 1) 由特征多項式生成多項式的首項系數一定是1; 2) n 階矩陣一般產生 n 次多項式3. 由根創(chuàng)建多項式 由給定的根也可產生其對應的多項式,此功能由函數poly實現。 例:由給定的根向量生成其對應的多項式 root=-5 3+4j 3-4j p=poly(root) p = 1 11 55 125 poly2sym(p)ans = x3+11*x2+55*x+125 二、多項式運算 1. 求多項式的值 方法: 計算函數polyval: 以數組為輸入變量值代入多項式計算; 計算函數polyvalm:以矩陣為計算單元,進行矩陣式運算, 以求多項式的值(變量矩陣為方陣)。 例: p=1 11 55 125 b=1 1;1 1 polyval(p,b) ans = 192 192 192 192 polyvalm(p,b) ans =206 81 81 206 2. 求多項式的根 方法: 直接調用函數roots , 求解多項式的根; 通過建立多項式伴隨矩陣再求特征
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課件圖片沒了教學課件
- 2024年度知識產權許可合同補充協(xié)議
- 2024年太陽能路燈物流與倉儲服務合同
- 2024化工廠建設土石方運輸合同
- 04年新一代移動通信技術研發(fā)合同
- 2024年度企業(yè)招聘外包合同
- 2024規(guī)范版汽車租賃合同
- 課程課件封面教學課件
- 2024年國際貨物買賣合同標的數量與質量檢驗標準詳解
- 2024學校校園廣告投放合同
- 2024年企業(yè)數據存儲與安全服務合同
- 2022年北京市公務員錄用考試《行測》真題及答案解析
- 江蘇省泰興市2024-2025學年高三上學期期中考試語文試題(含答案)
- 家長會教學課件
- 2024年消防宣傳月知識競賽考試題庫500題(含答案)
- 2024年典型事故案例警示教育手冊15例
- 高一歷史(中外歷史綱要上冊)期中測試卷及答案
- 20K607 防排煙及暖通防火設計審查與安裝
- 一氧化碳中毒培訓課件
- 教案(餐巾折花)
- 一元三次、一元四次方程的基本解法畢業(yè)論文
評論
0/150
提交評論