第6章 MATLAB數(shù)值計(jì)算_第1頁
第6章 MATLAB數(shù)值計(jì)算_第2頁
第6章 MATLAB數(shù)值計(jì)算_第3頁
第6章 MATLAB數(shù)值計(jì)算_第4頁
第6章 MATLAB數(shù)值計(jì)算_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1/30第6章MATLAB數(shù)值計(jì)算6.1數(shù)據(jù)處理與多項(xiàng)式計(jì)算6.2數(shù)值微積分(略)6.3離散傅立葉變換(略)6.4線性方程組求解6.5非線性方程與最優(yōu)化問題求解(略)6.6常微分方程的數(shù)值求解(略)6.7稀疏矩陣(略)2/306.1數(shù)據(jù)處理與多項(xiàng)式計(jì)算

6.1.1數(shù)據(jù)統(tǒng)計(jì)與分析1.求矩陣最大元素和最小元素MATLAB提供的求數(shù)據(jù)序列的最大值和最小值的函數(shù)分別為max和min,兩個函數(shù)的調(diào)用格式和操作過程類似。(1)求向量的最大值和最小值

y=max(X):返回向量X的最大值存入y,如果X中包含復(fù)數(shù)元素,則按模取最大值。3/30[y,I]=max(X):返回向量X的最大值存入y,最大值的序號存入I,如果X中包含復(fù)數(shù)元素,則按模取最大值。求向量X的最小值的函數(shù)是min(X),用法和max(X)完全相同。例求向量x的最大值。命令如下:x=[-43,72,9,16,23,47];y=max(x)%求向量x中的最大值[y,l]=max(x)%求向量x中的最大值及其該元素的位置4/30(2)求矩陣的最大值和最小值求矩陣A的最大值的函數(shù)有3種調(diào)用格式,分別是:

max(A):返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。

[Y,U]=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值的行號。5/30max(A,[],dim):dim取1或2。dim取1時,該函數(shù)和max(A)完全相同;dim取2時,該函數(shù)返回一個列向量,其第i個元素是A矩陣的第i行上的最大值。求最小值的函數(shù)是min,其用法和max完全相同。例6.1分別矩陣A中各列和各行元素中的最大值,并求整個矩陣的最大值和最小值。6/30A=[13,-56,78;25,63,-235;78,25,563;1,0,-1];max(A,[],2)%求每行最大元素min(A,[],2)%求每行最小元素max(A)%求每列最大元素min(A)%求每列最小元素max(max(A))%求整個矩陣的最大元素。也可使用命令:max(A(:))min(min(A))%求整個矩陣的最小元素。也可使用命令:min(A(:))7/30(3)兩個向量或矩陣對應(yīng)元素的比較函數(shù)max和min還能對兩個同型的向量或矩陣進(jìn)行比較,調(diào)用格式為:

U=max(A,B):A,B是兩個同型的向量或矩陣,結(jié)果U是與A,B同型的向量或矩陣,U的每個元素等于A,B對應(yīng)元素的較大者。

U=max(A,n):n是一個標(biāo)量,結(jié)果U是與A同型的向量或矩陣,U的每個元素等于A對應(yīng)元素和n中的較大者。

min函數(shù)的用法和max完全相同。

8/302.求矩陣的平均值和中值求數(shù)據(jù)序列平均值的函數(shù)是mean,求數(shù)據(jù)序列中值的函數(shù)是median。兩個函數(shù)的調(diào)用格式為:mean(X):返回向量X的算術(shù)平均值。median(X):返回向量X的中值。mean(A):返回一個行向量,其第i個元素是A的第i列的算術(shù)平均值。median(A):返回一個行向量,其第i個元素是A的第i列的中值。mean(A,dim):當(dāng)dim為1時,該函數(shù)等同于mean(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的算術(shù)平均值。median(A,dim):當(dāng)dim為1時,該函數(shù)等同于median(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的中值。9/303.矩陣元素求和與求積數(shù)據(jù)序列求和與求積的函數(shù)是sum和prod,其使用方法類似。設(shè)X是一個向量,A是一個矩陣,函數(shù)的調(diào)用格式為:sum(X):返回向量X各元素的和。prod(X):返回向量X各元素的乘積。sum(A):返回一個行向量,其第i個元素是A的第i列的元素和。10/30prod(A):返回一個行向量,其第i個元素是A的第i列的元素乘積。sum(A,dim):當(dāng)dim為1時,該函數(shù)等同于sum(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的各元素之和。prod(A,dim):當(dāng)dim為1時,該函數(shù)等同于prod(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的各元素乘積。11/304.矩陣元素累加和與累乘積在MATLAB中,使用cumsum和cumprod函數(shù)能方便地求得向量和矩陣元素的累加和與累乘積向量,函數(shù)的調(diào)用格式為:cumsum(X):返回向量X累加和向量。cumprod(X):返回向量X累乘積向量。cumsum(A):返回一個矩陣,其第i列是A的第i列的累加和向量。cumprod(A):返回一個矩陣,其第i列是A的第i列的累乘積向量。cumsum(A,dim):當(dāng)dim為1時,該函數(shù)等同于cumsum(A);當(dāng)dim為2時,返回一個矩陣,其第i行是A的第i行的累加和向量。cumprod(A,dim):當(dāng)dim為1時,該函數(shù)等同于cumprod(A);當(dāng)dim為2時,返回一個向量,其第i行是A的第i行的累乘積向量。12/307.排序MATLAB中對向量X是排序函數(shù)是sort(X),函數(shù)返回一個對X中的元素按升序排列的新向量。sort函數(shù)也可以對矩陣A的各列或各行重新排序,其調(diào)用格式為:[Y,I]=sort(A,dim)其中dim指明對A的列還是行進(jìn)行排序。若dim=1,則按列排;若dim=2,則按行排。Y是排序后的矩陣,而I記錄Y中的元素在A中位置。Note:不同版本此函數(shù)可選參數(shù)不同。13/30例6.6

對下列矩陣做各種排序。A=[1,-8,5;4,12,6;13,7,-13];sort(A)%對A的每列按升序排序-sort(-A,2)%對A的每行按降序排序

[X,I]=sort(A)%對A按列排序,并將每個元素所在行號送矩陣IZhouyi14/306.1.4多項(xiàng)式計(jì)算1.多項(xiàng)式的四則運(yùn)算(1)多項(xiàng)式的加減運(yùn)算(2)多項(xiàng)式乘法運(yùn)算函數(shù)conv(P1,P2)用于求多項(xiàng)式P1和P2的乘積。這里,P1、P2是兩個多項(xiàng)式系數(shù)向量。note:非等高次多項(xiàng)式相加減時缺項(xiàng)補(bǔ)零。15/30(3)多項(xiàng)式除法函數(shù)[Q,r]=deconv(P1,P2)用于對多項(xiàng)式P1和P2作除法運(yùn)算。其中Q返回多項(xiàng)式P1除以P2的商式,r返回P1除以P2的余式。這里,Q和r仍是多項(xiàng)式系數(shù)向量。deconv是conv的逆函數(shù),即有P1=conv(P2,Q)+r。16/302.多項(xiàng)式的導(dǎo)函數(shù)對多項(xiàng)式求導(dǎo)數(shù)的函數(shù)是:p=polyder(P):求多項(xiàng)式P的導(dǎo)函數(shù)p=polyder(P,Q):求P·Q的導(dǎo)函數(shù)[p,q]=polyder(P,Q):求P/Q的導(dǎo)函數(shù),導(dǎo)函數(shù)的分子存入p,分母存入q。上述函數(shù)中,參數(shù)P,Q是多項(xiàng)式的向量表示,結(jié)果p,q也是多項(xiàng)式的向量表示。17/303.多項(xiàng)式求值MATLAB提供了兩種求多項(xiàng)式值的函數(shù):polyval與polyvalm,它們的輸入?yún)?shù)均為多項(xiàng)式系數(shù)向量P和自變量x。兩者的區(qū)別在于前者是代數(shù)多項(xiàng)式求值,而后者是矩陣多項(xiàng)式求值。18/30(1)代數(shù)多項(xiàng)式求值polyval函數(shù)用來求代數(shù)多項(xiàng)式的值,其調(diào)用格式為:Y=polyval(P,x)若x為一數(shù)值,則求多項(xiàng)式在該點(diǎn)的值;若x為向量或矩陣,則對向量或矩陣中的每個元素求其多項(xiàng)式的值。例6.14已知多項(xiàng)式x4+8x3-10,分別取x=1.2和一個2×3矩陣為自變量計(jì)算該多項(xiàng)式的值。A=[1,8,0,0,-10];%4次多項(xiàng)式系數(shù)x=1.2;%取自變量為一數(shù)值y1=polyval(A,x)x=[-1,1.2,-1.4;2,-1.8,1.6]%給出一個矩陣xy2=polyval(A,x)%分別計(jì)算矩陣x中各元素為自變量的多項(xiàng)式之值19/304.多項(xiàng)式求根n次多項(xiàng)式具有n個根,當(dāng)然這些根可能是實(shí)根,也可能含有若干對共軛復(fù)根。MATLAB提供的roots函數(shù)用于求多項(xiàng)式的全部根,其調(diào)用格式為:x=roots(P)其中P為多項(xiàng)式的系數(shù)向量,求得的根賦給向量x,即x(1),x(2),…,x(n)分別代表多項(xiàng)式的n個根。20/30例6.16求多項(xiàng)式x4+8x3-10的根。命令如下:A=[1,8,0,0,-10];x=roots(A)若已知多項(xiàng)式的全部根,則可以用poly函數(shù)建立起該多項(xiàng)式,其調(diào)用格式為:P=poly(x)若x為具有n個元素的向量,則poly(x)建立以x為其根的多項(xiàng)式,且將該多項(xiàng)式的系數(shù)賦給向量P。Zhousanzhousi21/30例6.17已知(1)計(jì)算f(x)=0的全部根。(2)由方程f(x)=0的根構(gòu)造一個多項(xiàng)式g(x),并與f(x)進(jìn)行對比。命令如下:P=[3,0,4,-5,-7.2,5];%缺項(xiàng)補(bǔ)零X=roots(P)%求方程f(x)=0的根G=poly(X)%求多項(xiàng)式g(x)22/306.4線性方程組求解6.4.1直接解法1.利用左除運(yùn)算符的直接解法對于線性方程組Ax=b,可以利用左除運(yùn)算符“\”求解:

x=A\b23/30例6.24用直接解法求解下列線性方程組。命令如下:A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';x=A\b24/302.利用矩陣的分解求解線性方程組(略)矩陣分解是指根據(jù)一定的原理用某種算法將一個矩陣分解成若干個矩陣的乘積。常見的矩陣分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇異分解等。25/306.4.3求線性方程組的通解線性方程組的求解分為兩類:一類是求方程組的唯一解即特解,另一類是求方程組的無窮解即通解。這里對線性方程組Ax=b的求解理論作一個歸納。(1)當(dāng)系數(shù)矩陣A是一個滿秩方陣時,方程Ax=b稱為恰定方程,方程有惟一解x=A-1b,這是最基本的一種情況。一般用x=A\b求解速度更快。(2)當(dāng)方程組右端向量b=0時,方程稱為齊次方程組。齊次方程組總有零解,因此稱解x=0為平凡解。當(dāng)系數(shù)矩陣A的秩小于n(n為方程組中未知變量的個數(shù))時,齊次方程組有無窮多個非平凡解,其通解中包含n-rank(A)個線性無關(guān)的解向量,用MATLAB的函數(shù)null(A,'r')可求得基礎(chǔ)解系。26/30(3)當(dāng)方程組右端向量b≠0時,系數(shù)矩陣的秩rank(A)與其增廣矩陣的秩rank([A,b])是判斷其是否有解的基本條件:①當(dāng)rank(A)=rank([A,b])=n時,方程組有惟一解:x=A\b。②當(dāng)rank(A)=rank([A,b])<n時,方程組有無窮多個解,其通解=方程組的一個特解+對應(yīng)的齊次方程組Ax=0的通解??梢杂肁\b求得方程組的一個特解,用null(A,'r')求得該方程組所對應(yīng)的齊次方程組的基礎(chǔ)解系,基礎(chǔ)解系中包含n-rank(A)個線性無關(guān)的解向量。③當(dāng)rank(A)<rank([A,b])時,方程組無解。27/30

有了上面這些討論,可以設(shè)計(jì)一個求解線性方程組的函數(shù)文件line_solution.m。在例中可以調(diào)用line_solution.m文件來解線性方程組。

28/30function[x,y]=line_solution(A,b)[m,n]=size(A);y=[];ifnorm(b)>0%非齊次方程組

ifrank(A)==rank([A,b])

ifrank(A)==n%有惟一解

disp('原方程組有惟一解x');x=A\b;

else%方程組有無窮多個解,基礎(chǔ)解系

disp('原方程組有無窮個解,特解為x,其齊次方程組的基礎(chǔ)解系為y');

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論