




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,高等代數(shù)實驗,2,預(yù)備實驗 MATLAB使用練習(xí),3,MATLAB是MATrix LABoratory的縮寫,它將計算、可視化和編程功能集成在非常便于使用的環(huán)境中,是一個交互式的、以矩陣計算為基礎(chǔ)的科學(xué)和工程計算軟件。MATLAB的特點(diǎn)可以簡要地歸納如下,4,編程效率高 與Fortran、C等語言相比,它更接近我們通常進(jìn)行計算時的思維方法,用它編程猶如在紙上書寫計算公式,編程時間和程序量大大減少。 計算功能強(qiáng) 它以不必指定維數(shù)的矩陣和數(shù)組作為主要數(shù)據(jù)對象,矩陣和向量計算功能特別強(qiáng),庫函數(shù)也很豐富,非常適用于科學(xué)和工程計算,5,使用簡便 其語言靈活、方便,將編譯、連接、執(zhí)行融為一體,在同一畫
2、面上排除書寫、語法等錯誤,加快了用戶編寫、修改、調(diào)試程序的速度,計算結(jié)果也用人們十分熟悉的數(shù)學(xué)符號表示出來。具有初步計算機(jī)知識的人幾個小時就可以基本掌握它。 易于擴(kuò)充 用戶根據(jù)需要建立的文件可以與庫函數(shù)一樣被調(diào)用,從而提高了使用效率,擴(kuò)充了計算功能,它還可以與Fortran、C語言子程序混合編程,6,此外,它還有很方便的繪圖功能。 為了解決各種特殊的科學(xué)和工程計算問題,MATLAB系統(tǒng)提供了許多個工具箱,如優(yōu)化工具箱、統(tǒng)計工具箱和符號運(yùn)算工具箱等,7,1 概述,1.1 數(shù)據(jù)術(shù)語 1)矩陣:由mn個數(shù)組成的排成m行n列的一個矩形的數(shù)表,其中00矩陣為空矩陣()。數(shù)表中第i(1im)行第j(1jn
3、)列的數(shù)據(jù)稱為矩陣元素 2)標(biāo)量 :11的矩陣,即為只含一個數(shù)的矩陣。 3)向量:1n或n1的矩陣,即只有一行的或者一列的矩陣。只有一行的矩陣稱為行向量,只有一列的矩陣稱為列向量。數(shù)表中第i(1in)個數(shù)據(jù)稱為向量元素。 4)數(shù)組:矩陣的延伸,一般指多維數(shù)組,其中標(biāo)量、向量和矩陣都是數(shù)組的特例,8,1.2 數(shù)據(jù)類型 數(shù)據(jù)類型包括數(shù)值型、字符串型、元胞型、構(gòu)架型等。數(shù)值型有單精度型、雙精度型和整數(shù)型。整數(shù)型有uint8,uint16,uint32和uint64等無符號型和int8,int16,int32和int64等符號型整數(shù)。 數(shù)值型數(shù)據(jù)可以用帶小數(shù)點(diǎn)的形式和科學(xué)計數(shù)法表示,數(shù)值的表示范圍是1
4、0-30910+309。 -20、1.25、2.88e-56(表示2.8810-56)、7.68e204(表示7.6810204) 都是合法的數(shù)據(jù)表示。 一般在計算時采用雙精度型,在輸出時有多種數(shù)值顯示格式可供選擇,9,數(shù)值顯示格式的設(shè)置通過format 命令, 格式如下: format short 默認(rèn)設(shè)置,以5位數(shù)字形式輸出 format long 以15位十進(jìn)制數(shù)形式輸出 format short e 以5位十進(jìn)制數(shù)加指數(shù)形式輸出 format long e 以16位十進(jìn)制數(shù)加指數(shù)形式輸出 format short g 從format short和format short e 中自動選擇
5、最佳輸出形式,10,format long g 從format long和format long e 中自動選擇最佳輸出形式 format hex 以16位十六進(jìn)制數(shù)形式輸出 format + 以正號、負(fù)號和零形式輸出 format bank 以兩位小數(shù)形式輸出 format rat 以近似分?jǐn)?shù)形式輸出 format loose 以稀疏格式(變量與執(zhí)行結(jié)果之 間有空行)輸出 format compact 以緊湊格式(變量與執(zhí)行結(jié)果之 間無空行)輸出,11,2 變量,2.1變量的命名 變量的命名規(guī)則為: 1 變量名必須以字母開頭,變量名的組成可以是任意字母、數(shù)字或者下劃線,但不能含有空格和標(biāo)點(diǎn)符
6、號。 2 關(guān)鍵字和函數(shù)名不能作為變量名。 3 變量名不能超過63個字符。 4 變量名區(qū)分字母的大小寫,即大小寫敏感。 大小寫是否區(qū)分可以通過命令casesen on/off進(jìn)行切換(如果不區(qū)分大小寫,為casesen off ,否則為casesen on,12,2.2變量的賦值 變量的賦值通常有兩種形式: 1 變量=表達(dá)式 2 表達(dá)式 其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來的式子,其結(jié)果是一個數(shù)組。 形式1中,= 代表的是賦值操作,將表達(dá)式的值賦給MATLAB的變量;形式2中,將表達(dá)式的值賦給MATLAB的臨時變量ans,13,例2-1 在命令窗口輸入下述語句,并按回車鍵執(zhí)行,分別給變量a、
7、b、c賦值,a=1% a為標(biāo)量 b=0 1 % b為行向量 c=1 2;3 4;5 6 % c為矩陣即二維數(shù)組,14,2.3 特殊變量 eps MATLAB定義的正的極小值2.2204e-16 Realmax 最大的正實數(shù)1.7977e+308 Realmin 最小的正實數(shù)2.2251e-308 Pi 內(nèi)建的值 i, j 虛數(shù)單位i=j=-1 Inf NaN 無法定義一個數(shù)目 Nargin 函數(shù)輸入?yún)?shù)個數(shù) Nargout 函數(shù)輸出參數(shù)個數(shù) Flops 浮點(diǎn)運(yùn)算次數(shù),15,2.4內(nèi)存變量的管理 1 內(nèi)存變量的顯示與刪除 1)who 用于顯示在MATLAB工作空間中已 經(jīng)駐留的變量名清單。 2)
8、whos 在給出變量名的同時,還給出它們 的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等 信息。 3)clear 刪除MATLAB工作空間中的變量。注 意,特殊變量不能被刪除,16,例2-2 查詢例2-1中語句執(zhí)行后工作空間中 的變量情況。 在命令窗口輸入 who 執(zhí)行結(jié)果為: Your variables are: a b c 在命令窗口輸入 whos 執(zhí)行結(jié)果為: Name Size Bytes Class a 1x1 8 double array b 1x2 16 double array c 3x2 48 double array Grand total is 10 elements using 72
9、 bytes,17,2 工作空間瀏覽器 工作空間瀏覽器窗口用于顯示所有MATLAB工作空間中的變量名、數(shù)據(jù)結(jié)構(gòu)、類型、大小和字節(jié)數(shù),也可以對變量進(jìn)行觀察、編輯、提取和保存,18,3 內(nèi)存變量文件 利用MAT文件可以把MATLAB工作空間中的一些有用變量久地保留下來。MAT文件的生成和調(diào)入由save和load命令來完成 1) save的格式為: save 文件名 變量名表 -append-ascii 功能:把工作空間中的變量存入磁盤。其中變量名表指出需存儲的變量,append為數(shù)據(jù)填加方式,ascii為數(shù)據(jù)形式 2) load的格式為: load 文件名 變量名表 -ascii 功能:磁盤上存儲
10、的mat數(shù)據(jù)文件取回到MATLAB工作空間中。參數(shù)含義同save,19,例2-3: 例2-1中語句執(zhí)行后,在命令窗口 依次輸入下述命令: Save %變量a,b和c保存在matlab.mat Save mydata1.mat %變量a,b和c保存在 mydata2.mat save mydata2.mat a %變量a保存在 mydata2.mat save mydata3.mat a b %變量a和b保存在 mydata3.mat save mydata4.mat a b c %變量a,b和c保存在 mydata4.mat,20,3 圖形功能,3.1 直角坐標(biāo)系的二維圖形 Plot:直角坐標(biāo)
11、系的二維圖形的繪制函數(shù) 三種調(diào)用格式: 1) plot(y,s) 功能:當(dāng)y是向量時,元素的序號作為x坐標(biāo),元素值作為y坐標(biāo),對應(yīng)繪制線性直角坐標(biāo)系的二維圖形。 當(dāng)y是矩陣時,元素的所在列號作為x坐標(biāo),元素值作為y坐標(biāo),分別對應(yīng)繪制線性直角坐標(biāo)系的二維圖形,曲線條數(shù)等于輸入?yún)?shù)矩陣的列數(shù),21,2) plot(x,y,s) 功能:當(dāng)x是向量,y是矩陣時,則繪制出多根不同顏色的曲線。曲線條數(shù)等于y矩陣的另一維數(shù),x被作為這些曲線共同的橫坐標(biāo)。 當(dāng)x,y是同維矩陣時,則以x,y對應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。 當(dāng)輸入?yún)?shù)是實矩陣時,則按列繪制每列元素值相對其下標(biāo)的曲線,
12、曲線條數(shù)等于輸入?yún)?shù)矩陣的列數(shù)。 當(dāng)輸入?yún)?shù)是復(fù)數(shù)矩陣時,則按列分別以元素實部和虛部為橫、縱坐標(biāo)繪制多條曲線,22,3)plot(x1,y1,s1,x2,y2,s2,xn,yn,sn) 功能:繪制(xi,yi,si)對應(yīng)的二維圖形。 S是表示所繪圖形的線形、點(diǎn)型和顏色的字符串。函數(shù)調(diào)用格式中的S是線形、點(diǎn)型和顏色的組合字符,默認(rèn)值為b-.(藍(lán)色實線實點(diǎn)標(biāo)記,23,繪圖函數(shù)的常用的顏色含義 類型 符號 藍(lán)色(默認(rèn)) b(Blue) 黃色 y(Yellow) 品紅色(紫色) m(Magenta) 青色 c(Cyan) 紅色 r(Red) 綠色 g(Green) 白色 w(White) 黑色 k(B
13、lack,24,繪圖函數(shù)的常用的線形含義 類型 符號 實線(默認(rèn)) - 點(diǎn)線 : 點(diǎn)劃線 -. 虛線,25,繪圖函數(shù)的常用的數(shù)據(jù)點(diǎn)形含義,類型 符號 實點(diǎn)標(biāo)記(默認(rèn)) . 圓圈標(biāo)記 o 叉號形 x 星號標(biāo)記 * 鉆石形標(biāo)記 d 向下的三角形標(biāo)記 v 向上的三角形標(biāo)記 向左的三角形標(biāo)記 五角星標(biāo)記 p,26,3.2 繪制圖形的輔助操作 1 圖形標(biāo)記 title(txt) 功能:在圖形窗口頂端的中間位置輸出字符串txt作為標(biāo)題。 xlabel(txt) 功能:在x軸下的中間位置輸出字符串txt作為標(biāo)注。 ylabel(txt) 功能:在y軸邊上的中間位置輸出字符串txt作為標(biāo)注,27,text(x
14、,y,txt) 功能:在圖形窗口的(x, y)處寫字符串txt。坐標(biāo)x和y按照與所繪制圖形相同的刻度給出。 gtext(txt) 功能:通過使用鼠標(biāo)或方向鍵,移動圖形窗口中的十字光標(biāo),在圖形窗口中添加字符串txt。 legend(str1 ,str2 ,) 功能:在當(dāng)前圖上輸出圖例,并用說明性字符串str1, str2等作為標(biāo)注。 legend off 功能:從當(dāng)前圖形中清除圖例,28,2 屏幕控制 命令 功能 figure(n) 創(chuàng)建和顯示當(dāng)前序號為n的圖形窗口。 clf 清除當(dāng)前圖形窗口的圖形。 clc 清除命令窗口的命令。 home 移動光標(biāo)到命令窗口的左上角。 hold 是否保持當(dāng)前圖
15、形的切換命令。 hold on命令保持當(dāng)前圖形并加入另一個圖形,hold off命令 釋放當(dāng)前圖形窗口(缺省狀態(tài)),ishold命令如果當(dāng)前圖形處于hold on狀態(tài),則返回1;否則,返回0,29,subplot(m,n,p) 將圖形窗口分割成m行n列,并設(shè)置p所指定的子窗口為當(dāng)前窗口。子窗口按行由左至右,由上至下進(jìn)行編號。subplot設(shè)置圖形窗口為缺省模式,即單窗口模式,等價于subplot (1,1,1)。 grid 是否畫分格線的雙向切換命令,grid on設(shè)置為畫分格線,grid off為不畫分格線,30,3 設(shè)定坐標(biāo)系統(tǒng) axis(xmin xmax ymin ymax) 設(shè)定坐標(biāo)
16、系統(tǒng)的最大和最小值。 axis (auto) 將當(dāng)前圖形的坐標(biāo)系統(tǒng)恢復(fù)到自動缺省狀態(tài)。 axis (square) 將當(dāng)前圖形的坐標(biāo)系統(tǒng)設(shè)置為方形。 axis (equal) 將當(dāng)前圖形的坐標(biāo)軸設(shè)成相等,31,axis (off) 關(guān)閉坐標(biāo)系統(tǒng)。 axis (on) 顯示坐標(biāo)系統(tǒng)。 box 坐標(biāo)形式在封閉式和開啟式之間切換指令。 box on命令使坐標(biāo)形式呈封閉形式 box off命令坐標(biāo)形式呈開啟形式,32,3.3 plotyy函數(shù) Plotyy: 用不同標(biāo)度在同一個坐標(biāo)內(nèi)繪制曲線 plotyy(x1,y1,x2,y2) 分別繪制(x1,y1)和(x2,y2)的圖形。其中x1和y1、 x2和
17、y2為對應(yīng)的向量或矩陣,33,3.4 極坐標(biāo)系繪圖 Polar:極坐標(biāo)系繪圖函數(shù) polar(theta,r) 在極坐標(biāo)中繪圖。向量theta的元素代表弧度參數(shù),向量r代表從極點(diǎn)開始的長度,34,3.5 對數(shù)坐標(biāo)繪圖 半對數(shù)和對數(shù)坐標(biāo)系繪圖函數(shù): semilogx, semilogy, loglog 格式: semilogx(x,y) 功能:在半對數(shù)坐標(biāo)系中繪圖,x軸用以10為底的對數(shù)刻度標(biāo)定。這類似于plot(log10(x),y),但是對于log10(0)不能給出警告信息,35,semilogy(x,y) 功能:在半對數(shù)坐標(biāo)系中繪圖,y軸用以10為底的對數(shù)刻度標(biāo)定。這類似于plot(x,l
18、og10(y),但是對于log10(0)不能給出警告信息。 loglog(x,y) 功能:在對數(shù)坐標(biāo)系中繪圖。兩個坐標(biāo)軸均用以1 0為底的對數(shù)刻度標(biāo)定。這類似于plot (log10(x),log10(y),但是對于log10(0)不能給出警告信息,36,4 程序設(shè)計,4.1 運(yùn)算符優(yōu)先級 MATLAB中各種運(yùn)算符的優(yōu)先級如下: (矩陣轉(zhuǎn)置)、(矩陣冪)和.(數(shù)組轉(zhuǎn)置)、.(數(shù)組冪) (邏輯非) *(乘)、/(左除)、(右除)和.*(點(diǎn)乘)、./(點(diǎn)左除)、.(點(diǎn)右除) +、-(加減) : (冒號) 、=、= 4,5,6;A(3)ans = 2顯然,序號(Index)與下標(biāo)(Subscript
19、 )是一一對應(yīng)的,以mn矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得,53,2矩陣拆分 (1) 利用冒號表達(dá)式獲得子矩陣 A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。 A(i:i+m,:)表示取A矩陣第ii+m行的全部元素;A(:,k:k+m)表示取A矩陣第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第ii+m行內(nèi),并在第kk+m列中的所有元素。此外,還可利用一般向量和end運(yùn)算符來表示矩陣下標(biāo),從而獲得子矩陣。end
20、表示某一維的末尾元素下標(biāo),54,2) 利用空矩陣刪除矩陣的元素 在MATLAB中,定義為空矩陣。給變量X賦空矩陣的語句為X=。注意,X=與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0,55,1.3 特殊矩陣1通用的特殊矩陣常用的產(chǎn)生通用特殊矩陣的函數(shù)有:zeros:產(chǎn)生全0矩陣(零矩陣)。ones:產(chǎn)生全1矩陣(幺矩陣)。eye:產(chǎn)生單位矩陣。rand:產(chǎn)生01間均勻分布的隨機(jī)矩陣。randn:產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣,56,例1-2 分別建立33、32和與矩陣A同樣大小的零矩陣。(1) 建立一個33零矩陣。zeros(3)
21、 (2) 建立一個32零矩陣。zeros(3,2) (3) 設(shè)A為23矩陣,則可以用zeros(size(A)建立一個與矩陣A同樣大小零矩陣。A=1 2 3;4 5 6; %產(chǎn)生一個23階矩陣Azeros(size(A) %產(chǎn)生一個與矩陣A同樣大小的零矩陣,57,例1-3 建立隨機(jī)矩陣:(1) 在區(qū)間20,50內(nèi)均勻分布的5階隨機(jī)矩陣。(2) 均值為0.6、方差為0.1的5階正態(tài)分布隨機(jī)矩陣。命令如下:x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成mn的二
22、維矩陣,58,2用于專門學(xué)科的特殊矩陣 (1) 魔方矩陣魔方矩陣有一個有趣的性質(zhì),其每行、每列及兩條對角線上的元素和都相等。對于n階魔方陣,其元素由1,2,3,n2共n2個整數(shù)組成。MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個n階魔方陣,59,例1-4 將101125等25個數(shù)填入一個5行5列的表格中,使其每行每列及對角線的和均為565。M=100+magic(5,60,2) 范得蒙矩陣范得蒙(Vandermonde)矩陣最后一列全為1,倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點(diǎn)乘積。可以用一個指定向量生成一個范得蒙矩陣。在MATLAB中,函數(shù)vand
23、er(V)生成以向量V為基礎(chǔ)向量的范得蒙矩陣。例如,A=vander(1;2;3;5)即可得到上述范得蒙矩陣,61,3) 伴隨矩陣MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個多項式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。例如,為了求多項式的x3-7x+6的伴隨矩陣,可使用命令:p=1,0,-7,6;compan(p,62,2 矩陣運(yùn)算,2.1算術(shù)運(yùn)算1基本算術(shù)運(yùn)算 MATLAB的基本算術(shù)運(yùn)算有:(加)、(減)、*(乘)、/(右除)、(左除)、(乘方)。注意,運(yùn)算是在矩陣意義下進(jìn)行的,單個數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例,63,1) 矩陣加減運(yùn)算 假定有兩個矩陣A和B,則可以由
24、A+B和A-B實現(xiàn)矩陣的加減運(yùn)算。運(yùn)算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配,64,2) 矩陣乘法 假定有兩個矩陣A和B,若A為mn矩陣,B為np矩陣,則C=A*B為mp矩陣,65,3) 矩陣除法在MATLAB中,有兩種矩陣除法運(yùn)算:和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則AB和B/A運(yùn)算可以實現(xiàn)。AB等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。對于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果相同,如
25、3/4和43有相同的值,都等于0.75。又如,設(shè)a=10.5,25,則a/5=5a=2.1000 5.0000。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對于矩陣運(yùn)算,一般ABB/A,66,4) 矩陣的乘方 一個矩陣的乘方運(yùn)算可以表示成Ax,要求A為方陣,x為標(biāo)量。2點(diǎn)運(yùn)算 在MATLAB中,有一種特殊的運(yùn)算,因為其運(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有.*、./、.和.。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)相同,67,2.2 關(guān)系運(yùn)算 MATLAB提供了6種關(guān)系運(yùn)算符:(大于)、=(大于或等于)、=(等于)、=(不等于
26、)。它們的含義不難理解,但要注意其書寫方法與數(shù)學(xué)中的不等式符號不盡相同,68,關(guān)系運(yùn)算符的運(yùn)算法則為: (1) 當(dāng)兩個比較量是標(biāo)量時,直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。 (2) 當(dāng)參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成,69,3) 當(dāng)參與比較的一個是標(biāo)量,而另一個是矩陣時,則把標(biāo)量與矩陣的每一個元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成,70,例
27、1-5 產(chǎn)生5階隨機(jī)方陣A,其元素為10,90區(qū)間的隨機(jī)整數(shù),然后判斷A的元素是否能被3整除。 (1) 生成5階隨機(jī)方陣A。A=fix(90-10+1)*rand(5)+10) (2) 判斷A的元素是否可以被3整除。 P=rem(A,3)=0其中,rem(A,3)是矩陣A的每個元素除以3的余數(shù)矩陣。此時,0被擴(kuò)展為與A同維數(shù)的零矩陣,P是進(jìn)行等于(=)比較的結(jié)果矩陣,71,3 矩陣分析,3.1 對角陣與三角陣1對角陣只有對角線上有非0元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為1的對角矩陣稱為單位矩陣,72,1) 提取矩陣的對角線元素設(shè)A為mn矩陣,di
28、ag(A)函數(shù)用于提取矩陣A主對角線元素,產(chǎn)生一個具有min(m,n)個元素的列向量。diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對角線的元素。(2) 構(gòu)造對角矩陣設(shè)V為具有m個元素的向量,diag(V)將產(chǎn)生一個mm對角矩陣,其主對角線元素即為向量V的元素。diag(V)函數(shù)也有另一種形式diag(V,k),其功能是產(chǎn)生一個nn(n=m+)對角陣,其第k條對角線的元素即為向量V的元素,73,例1-6 先建立55矩陣A,然后將A的第一行元素乘以1,第二行乘以2,第五行乘以5。A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,
29、21,3;.11,18,25,2,19;D=diag(1:5);D*A %用D左乘A,對A的每行乘以一個指定常數(shù),74,2三角陣三角陣又進(jìn)一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為0的一種矩陣,而下三角陣則是對角線以上的元素全為0的一種矩陣,75,1) 上三角矩陣求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對角線以上的元素。例如,提取矩陣A的第2條對角線以上的元素,形成新的矩陣B。(2) 下三角矩陣在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),
30、其用法與提取上三角矩陣的函數(shù)triu(A)和triu(A,k)完全相同,76,3.2 矩陣的轉(zhuǎn)置與旋轉(zhuǎn)1矩陣的轉(zhuǎn)置轉(zhuǎn)置運(yùn)算符是單撇號()。2矩陣的旋轉(zhuǎn)利用函數(shù)rot90(A,k)將矩陣A旋轉(zhuǎn)90的k倍,當(dāng)k為1時可省略,77,3矩陣的左右翻轉(zhuǎn)對矩陣實施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,依次類推。MATLAB對矩陣A實施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。4矩陣的上下翻轉(zhuǎn)MATLAB對矩陣A實施上下翻轉(zhuǎn)的函數(shù)是flipud(A,78,3.3 矩陣的逆與偽逆1矩陣的逆對于一個方陣A,如果存在一個與其同階的方陣B,使得:AB=BA=I (I為單位矩陣)則稱B為A的逆矩
31、陣,當(dāng)然,A也是B的逆矩陣。求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在MATLAB中,求一個矩陣的逆非常容易。求方陣A的逆矩陣可調(diào)用函數(shù)inv(A)。例1-7 用求逆矩陣的方法解線性方程組。Ax=b其解為:x=A-1b,79,2矩陣的偽逆如果矩陣A不是一個方陣,或者A是一個非滿秩的方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉(zhuǎn)置矩陣A同型的矩陣B,使得:ABA=ABAB=B此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個矩陣偽逆的函數(shù)是pinv(A,80,3.4 方陣的行列式把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為矩陣所對應(yīng)的行列式的值。
32、在MATLAB中,求方陣A所對應(yīng)的行列式的值的函數(shù)是det(A,81,3.5 矩陣的秩與跡1矩陣的秩矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)。2矩陣的跡矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。在MATLAB中,求矩陣的跡的函數(shù)是trace(A,82,3.6 向量和矩陣的范數(shù)矩陣或向量的范數(shù)用來度量矩陣或向量在某種意義下的長度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同,83,1向量的3種常用范數(shù)及其計算函數(shù)在MATLAB中,求向量范數(shù)的函數(shù)為:(1) norm(V)或norm(V,2):計算向量V的2范數(shù)。(2) norm(V
33、,1):計算向量V的1范數(shù)。(3) norm(V,inf):計算向量V的范數(shù)。 2矩陣的范數(shù)及其計算函數(shù)MATLAB提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全相同,84,3.7 矩陣的條件數(shù)在MATLAB中,計算矩陣A的3種條件數(shù)的函數(shù)是:(1) cond(A,1) 計算A的1范數(shù)下的條件數(shù)。(2) cond(A)或cond(A,2) 計算A的2范數(shù)數(shù)下的條件數(shù)。(3) cond(A,inf) 計算A的 范數(shù)下的條件數(shù),85,3.8 矩陣的特征值與特征向量在MATLAB中,計算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有3種:(1) E=eig(A):
34、求矩陣A的全部特征值,構(gòu)成向量E。(2) V,D=eig(A):求矩陣A的全部特征值,構(gòu)成對角陣D,并求A的特征向量構(gòu)成V的列向量,86,3) V,D=eig(A,nobalance):與第2種格式類似,但第2種格式中先對A作相似變換后求矩陣A的特征值和特征向量,而格式3直接求矩陣A的特征值和特征向量,87,實驗2 多項式,88,1 多項式的表示,MATLAB中多項式的表示方法,例如:行向量 p=1 -12 0 25 116對應(yīng)的多項式為,89,2 多項式的算術(shù)運(yùn)算,1 加減運(yùn)算,90,91,2 乘法運(yùn)算,MATLAB支持多項式乘法,函數(shù)格式為: 函數(shù)conv(P1,P2) 求多項式P1和P2
35、的乘積。 這里,P1,P2是兩個多項式系數(shù)向量,例 2-2 計算 c=conv(1 2 2,1 5 4) 執(zhí)行結(jié)果如下: c = 1 7 16 18 8 由執(zhí)行結(jié)果可知,92,3 除法運(yùn)算 Q,r=deconv(P1,P2) 對多項式P1和P2作除法運(yùn)算。其中Q返回多項式P1除以P2的商式,r返回P1除以P2的余式。 注意deconv是conv的逆函數(shù),即有P1=conv(P2,Q)+r,93,例2-3 計算 Q=deconv(1 8 0 0 -10,2 -1 3) Q = 0.5000 4.2500 1.3750 Q,r=deconv(1 8 0 0 -10,2 -1 3) 執(zhí)行結(jié)果如下:
36、Q = 0.5000 4.2500 1.3750 r = 0 0 0 -11.3750 -14.1250 由執(zhí)行結(jié)果可知商是: 余式是,94,3 多項式求根,x=roots(P) 其中P為多項式的系數(shù)向量,求得的根賦給向量x,即x(1),x(2),x(n)分別代表多項式的n個根。 給出一個多項式的根,可以構(gòu)造相應(yīng)的多項式。若已知多項式的全部根,則可以用poly函數(shù)建立起多項式,其調(diào)用格式為: P=poly(x) x為具有n個元素的向量,poly(x)為以x為其根的多項式,且將該多項式的系數(shù)賦給向量P,95,例2-4 求多項式的 根,A=1,8,0,0,-10;x=roots(A) 執(zhí)行結(jié)果如下
37、: x = -8.0194 1.0344 -0.5075 + 0.9736i -0.5075 - 0.9736i 由結(jié)果可以看出,方程的根為兩個實根和一對共軛復(fù)根,96,例2-5 求方程 的根,r=1 -7 2 40; p=roots(r); 執(zhí)行結(jié)果如下: p = 5.0000 4.0000 -2.0000 由結(jié)果可以看出,方程的根均為實根 5.000,4.0000和-2.0000,97,例 2-6已知 (1) 計算 的全部根。(2) 由方程 的根構(gòu)造一個多項式并與 進(jìn)行對比,P=3,0,4,-5,-7.2,5; X=roots(P) %求方程f(x)=0的根 G=poly(X) %求多項式
38、G(x,98,執(zhí)行結(jié)果為: X = -0.3046 + 1.6217i -0.3046 - 1.6217i -1.0066 1.0190 0.5967 G = 1.0000 0.0000 1.3333 -1.6667 -2.4000 1.6667 注意:構(gòu)造的多項式的首項系數(shù)為1,99,4 多項式估值,1 代數(shù)多項式求值 Y=polyval(P,x) 求代數(shù)多項式的值。若x為一常數(shù),則求多項式P在該點(diǎn)的值, Y = P(1)x N + P(2) x (N-1) + . + P(N) x + P(N+1) 若x為向量或矩陣,則對向量或矩陣中的每個元素求多項式P的值,返回值為與自變量同型的向量或矩
39、陣,100,例2-7 已知 分別計算 和 時 的值,P=1 8 0 0 -10;x=1.2;Y=polyval(P,x) 執(zhí)行結(jié)果如下: Y = 5.8976 y=2 3 4;5 4 1;Y=polyval(P,y) 執(zhí)行結(jié)果如下: Y = 70 287 758 1615 758 -1,101,2 矩陣多項式求值,polyvalm函數(shù)用來求矩陣多項式的值,要求以方陣x為自變量求多項式的值,102,例2-8 當(dāng)x取 時求 的值,p=1 -5 0 8; a=2 3 5 ;5 8 1;7 6 9; polyvalm(p,a) 執(zhí)行結(jié)果: ans = 552 690 562 548 686 538 1
40、148 1422 1154,103,polyval(p,a) 執(zhí)行結(jié)果: ans = -4 -10 8 8 200 4 106 44 332,104,例2-9 當(dāng)x=8時求(x-1)(x-2) (x-3)(x-4) 的值,p=poly(1 2 3 4), polyvalm(p,8) 執(zhí)行結(jié)果如下: p = 1 -10 35 -50 24 ans = 840,105,實驗3 線性方程組的解法,106,直接解法,1利用左除運(yùn)算符的直接解法 對于線性方程組Ax=b,可以利用左除運(yùn)算符“”求解: x=Ab,107,例-1 用直接解法求解下列線性方程組。 命令如下: A=2,1,-5,1;1,-5,0,
41、7;0,2,1,-1;1,6,-1,-4; b=13,-9,6,0; x=Ab,108,2利用矩陣的分解求解線性方程組 矩陣分解是指根據(jù)一定的原理用某種算法將一個矩陣分解成若干個矩陣的乘積。常見的矩陣分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇異分解等,109,1) LU分解 矩陣的LU分解就是將一個矩陣表示為一個交換下三角矩陣和一個上三角矩陣的乘積形式。線性代數(shù)中已經(jīng)證明,只要方陣A是非奇異的,LU分解總是可以進(jìn)行的。 MATLAB提供的lu函數(shù)用于對矩陣進(jìn)行LU分解,其調(diào)用格式為: L,U=lu(X):產(chǎn)生一個上三角陣U和一個變換形式的下
42、三角陣L(行交換),使之滿足X=LU。注意,這里的矩陣X必須是方陣。 L,U,P=lu(X):產(chǎn)生一個上三角陣U和一個下三角陣L以及一個置換矩陣P,使之滿足PX=LU。當(dāng)然矩陣X同樣必須是方陣。 實現(xiàn)LU分解后,線性方程組Ax=b的解x=U(Lb)或x=U(LPb),這樣可以大大提高運(yùn)算速度,110,例-2 用LU分解求解例7-1中的線性方程組。 命令如下: A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4; b=13,-9,6,0; L,U=lu(A); x=U(Lb) 或采用LU分解的第2種格式,命令如下: L,U ,P=lu(A); x=U(LP*b,111,
43、2) QR分解 對矩陣X進(jìn)行QR分解,就是把X分解為一個正交矩陣Q和一個上三角矩陣R的乘積形式。QR分解只能對方陣進(jìn)行。MATLAB的函數(shù)qr可用于對矩陣進(jìn)行QR分解,其調(diào)用格式為: Q,R=qr(X):產(chǎn)生一個一個正交矩陣Q和一個上三角矩陣R,使之滿足X=QR。 Q,R,E=qr(X):產(chǎn)生一個一個正交矩陣Q、一個上三角矩陣R以及一個置換矩陣E,使之滿足XE=QR。 實現(xiàn)QR分解后,線性方程組Ax=b的解x=R(Qb)或x=E(R(Qb,112,例-3 用QR分解求解例7-1中的線性方程組。 命令如下: A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4; b=13
44、,-9,6,0; Q,R=qr(A); x=R(Qb) 或采用QR分解的第2種格式,命令如下: Q,R,E=qr(A); x=E*(R(Qb,113,3) Cholesky分解 如果矩陣X是對稱正定的,則Cholesky分解將矩陣X分解成一個下三角矩陣和上三角矩陣的乘積。設(shè)上三角矩陣為R,則下三角矩陣為其轉(zhuǎn)置,即X=RR。MATLAB函數(shù)chol(X)用于對矩陣X進(jìn)行Cholesky分解,其調(diào)用格式為: R=chol(X):產(chǎn)生一個上三角陣R,使RR=X。若X為非對稱正定,則輸出一個出錯信息。 R,p=chol(X):這個命令格式將不輸出出錯信息。當(dāng)X為對稱正定的,則p=0,R與上述格式得到的結(jié)果相同;否則p為一個正
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 園林建設(shè)專項施工方案
- 2024年廣東省中考滿分作文《當(dāng)好自己故事的主角》3
- 合作商超協(xié)議合同范本
- 胃造口術(shù)后護(hù)理
- 農(nóng)莊永久出售合同范例
- 交運(yùn)股合同范例
- 制定高效的日常生產(chǎn)計劃
- 加強(qiáng)知識管理的有效方式計劃
- 品牌數(shù)字化轉(zhuǎn)型的路徑與挑戰(zhàn)計劃
- 項目管理的最佳實踐計劃
- GB/T 27476.2-2014檢測實驗室安全第2部分:電氣因素
- GA 1010-2012看守所床具
- 婦女權(quán)益保障法課件
- 2023新教科版六年級下冊科學(xué)全冊教材分析(新版本)
- 魯教版八年級美術(shù)下冊《自己設(shè)計動漫形象》教學(xué)課件
- 急性胰腺炎評分表大全
- 文件、檔案借閱申請表
- PPP項目從建設(shè)期進(jìn)入運(yùn)營期需要梳理哪些程序
- DBJ50T 135-2012 綠色建筑設(shè)計規(guī)范
- 幼兒園大班數(shù)學(xué):《10以內(nèi)的相鄰數(shù)》課件
- 304不銹鋼圓管檢驗報告
評論
0/150
提交評論