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

下載本文檔

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

文檔簡(jiǎn)介

MATLAB數(shù)值計(jì)算矩陣和向量及其數(shù)值運(yùn)算多項(xiàng)式的運(yùn)算求函數(shù)的極值和零點(diǎn)

矩陣和向量及其運(yùn)算矩陣與向量的輸入MATLAB的基本數(shù)據(jù)單元是無(wú)需指定維數(shù)的矩陣,數(shù)量可看成1×1矩陣,n維行向量或列向量看做1×n或n×1矩陣.>>clear;A=[1,2,3;4,5,6;7,8,9]A=123456789>>A=[123456789]A=123456789>>clear;B=[012]B=012輸入矩陣元素時(shí),同行元素間用空格或逗號(hào)分隔,不同行間用分號(hào)或回車分隔.n=length(A):取出矩陣A的行數(shù)和列數(shù)的最大值.[m,n]=size(A):取出矩陣A的行數(shù)m和列數(shù)n.向量的快捷生成利用冒號(hào)”:”生成等差數(shù)列①a=i:j初值:終值如果i<j,則生成向量a=[i,i+1,…,j];如果i>j,則生成空向量.②a=i:k:j初值:步長(zhǎng):終值如果i<j且k>0,或者i>j且k<0,則生成步長(zhǎng)為k的向量a=[i,i+1,…,j];如果i<j且k<0,或者i>j,且k>0,則生成空向量.例1.利用冒號(hào)生成等差數(shù)列.>>X=1:5

%初值:終值X=

1

2

3

4

5>>Y=0:2:10

%初值:步長(zhǎng):終值Y=

0

2

4

6

8

10利用linspace函數(shù)生成向量①a=linspace(i,j).生成有100個(gè)元素的行向量,在i,j,之間等分分布.②a=linspace(i,j,n).生成有n個(gè)元素的行向量,在i,j,之間等分分布.利用logspace函數(shù)生成向量①a=logspace(i,j).生成有50個(gè)元素的對(duì)數(shù)等分行向量,第一個(gè)元素是10i,最后一個(gè)元素是10j.②a=logspace(i,j,n).生成有n個(gè)元素的對(duì)數(shù)等分行向量,第一個(gè)元素是10i,最后一個(gè)元素是10j.③a=logspace(i,pi).生成有50個(gè)元素的對(duì)數(shù)等分行向量,第一個(gè)元素是10i,最后一個(gè)元素是pi.例2.利用linspace和logspace生成向量示例.>>x1=linspace(1.2,5.8,4)x1=1.20002.73334.26675.8000>>x2=logspace(1.0,2.9,5)x2=10.000029.853889.1251266.0725794.3282矩陣的快捷生成用函數(shù)建立矩陣用于建立矩陣的函數(shù),常見(jiàn)的有:det(A):行列式計(jì)算AT:轉(zhuǎn)置.若是復(fù)陣,則為共軛轉(zhuǎn)置inv(A):矩陣的逆orth(A):正交化poly(A):特征多項(xiàng)式rank(A):矩陣的秩trace(A):矩陣的跡zeros(m,n):m行n列零矩陣ones(m,n):m行n列元素全為1的矩陣eye(n):n階單位矩陣d=eig(A),[v,d]=eig(A):特征值與特征向量rand(m,n):m行n列均勻分布隨機(jī)數(shù)矩陣randn(m,n):m行n列正態(tài)分布隨機(jī)數(shù)矩陣?yán)?.設(shè),試生成矩陣A-1,AT,與A同階的單位矩陣.解所用MATLAB命令及運(yùn)行結(jié)果為>>A=[211;312;1-10];>>inv(A)ans=1.0000-0.50000.50001.0000-0.5000-0.5000-2.00001.5000-0.5000>>A′ans=23111-1120>>eye(length(A))ans=100010001矩陣的調(diào)用假如A是一個(gè)已知10*10的方陣,那么:A(:,3)是A的第3列元素構(gòu)成的列向量;A(5,:)是A的第5行元素構(gòu)成的行向量;A(1:5,3)是A的前5行的第3列元素構(gòu)成的列向量;A(1:5,7:10)是A的前5行,第7到第10列元素構(gòu)成的子矩陣;A([135],[246])是A的第1、3、5行,第2、4、6列元素構(gòu)成的子矩陣;A(:,7:-1:3)是A的第7、6、5、4、3列元素構(gòu)成的子矩陣.A(:,[24])=[]用于把A的第2、4列刪除,形成A的一個(gè)子矩陣.矩陣運(yùn)算矩陣的四則運(yùn)算①矩陣相加減.同型矩陣相加減等于對(duì)應(yīng)矩陣的元素相加減,用符號(hào)“+”和“-”表示.②矩陣相乘.矩陣相乘用符號(hào)*表示,兩個(gè)矩陣相乘以及數(shù)量和矩陣相乘遵循通常的數(shù)學(xué)規(guī)則.③矩陣相除.分右除和左除兩種,分別用符號(hào)“/”和“\”表示.例如,如果A和B都是n階矩陣,且A非奇異,則A\B=A-1B,B/A=BA-1.矩陣的乘方方陣A的乘方用符號(hào)“^”表示.當(dāng)p是正整數(shù)時(shí),Ap是A的p次冪,即:A^p=Ap;當(dāng)p為0時(shí),A^0是單位陣;當(dāng)p為負(fù)數(shù)時(shí),只有當(dāng)A非奇異才有意義,例如:A^(-1)=A-1,A^(-2)=A-2.例4.設(shè)試求A+B,A*B,B*A,A2,AB-1.解所用MATLAB命令及運(yùn)行結(jié)果為>>A=[-24;1-2];>>B=[24;-1-6];>>A+Bans=080-8>>A*Bans=-8-32416>>B*Aans=00-48>>A^2ans=8-16-48>>D=A/Bans=-2-211多項(xiàng)式的運(yùn)算多項(xiàng)式的表示方法及其運(yùn)算MATLAB中,無(wú)論是一個(gè)多項(xiàng)式,還是它的根,都是向量,MATLAB規(guī)定,多項(xiàng)式是行向量,根是列向量.例如,多項(xiàng)式p(x)=x3-3x+5可以表示成p=[10-35].給定一個(gè)多項(xiàng)式的根,也可以構(gòu)造相應(yīng)的多項(xiàng)式.在MATLAB中,函數(shù)poly(r)執(zhí)行這個(gè)任務(wù).求多項(xiàng)式p=[10-35]在x=5時(shí)的值p(5),可以用函數(shù)polyval(p,5).其中第一個(gè)參數(shù)是多項(xiàng)式的系數(shù)向量,第二個(gè)是自變量的取值(可以是矩陣).函數(shù)polyvalm(p,X)的第二個(gè)參數(shù)是方陣,求以矩陣為自變量的多項(xiàng)式的值.函數(shù)roots(p)可以找一個(gè)多項(xiàng)式的根.例5.改變自變量時(shí)多項(xiàng)式的取值及求多項(xiàng)式的根.>>p=[10-35]p=10-35>>result=polyval(p,5)%自變量為數(shù)result=115>>A=[91;68;27];>>c=polyval(p,A)%自變量為矩陣c=70732034937327>>A=[91;68];>>c=polyvalm(p,A)%自變量為方陣c=8632201320643>>p=[10-35];>>r=roots(p)r=-2.27901.1395+0.9463i1.1395-0.9463i常見(jiàn)的多項(xiàng)式函數(shù)函數(shù)conv支持多項(xiàng)式乘法例6.求a(x)=x3+2x2+3x+4和b(x)=x3+4x2+9x+16的乘積.>>a=[1234];b=[14916]>>c=conv(a,b)c=162050758464多項(xiàng)式的加法>>d=a+bd=261220結(jié)果是d(x)=2x3+6x2+12x+20>>e=c+[000d]e=162052819684低階多項(xiàng)式用首零填補(bǔ),使其與高階多項(xiàng)式有相同的階數(shù)多項(xiàng)式的求導(dǎo)函數(shù)polyder由函數(shù)deconv完成,格式為[g,r]=deconv(c,b)表示c除以b,給出商多項(xiàng)式g和余數(shù)r,若r=0,則c=bg.

>>[g,r]=deconv(c,b)g=1234r=0000000例7.用例6中的多項(xiàng)式b和c,求它們的商.一個(gè)多項(xiàng)式除以另一個(gè)多項(xiàng)式例8.對(duì)于一個(gè)新的多項(xiàng)式g求導(dǎo)>>g=[162048697244]g=162048697244>>h=polyder(g)h=6308014413872求函數(shù)的極值和零點(diǎn)求解一元函數(shù)的取小值可以通過(guò)函數(shù)fminbnd來(lái)求一元函數(shù)y=f(x)在指定區(qū)間[a,b]上的函數(shù)局部極小值,該函數(shù)返回函數(shù)在極小值點(diǎn)時(shí)自變量x的值,調(diào)用格式為:x=fminbnd(′fun′,a,b).例9.求humps函數(shù)在開(kāi)區(qū)間(0.3,1)內(nèi)的最小值.humps是MATLAB內(nèi)置的M文件函數(shù),實(shí)際上是y=1/((x-0.3)^2+0.01)+1/((x-0.9)^2+0.04)-6.>>x=fminbnd(′humps′,0.3,1)x=0.6370>>f=inline(′sin(x)+3′);%用內(nèi)聯(lián)函數(shù)表達(dá)>>x=fminbnd(f,2,5)x=4.7124求解多元函數(shù)的取小值函數(shù)fminsearch用于求多元函數(shù)在向量x0附近的最小值.它指定一個(gè)開(kāi)始的向量(x0),并非指定一個(gè)區(qū)間.此函數(shù)返回一個(gè)向量,為此多元函數(shù)局部最小函數(shù)值對(duì)應(yīng)的自變量的取值,調(diào)用格式為x=fminsearch(′fun′,x0)例10.把一個(gè)3個(gè)自變量的函數(shù)創(chuàng)建在一個(gè)M文件里.%three.mfunctionb=three(v)x=v(1);y=v(2);z=v(3);b=x*x+2.5*sin(y)-z*z*x*y*y;求這個(gè)函數(shù)在[1,-1,0]點(diǎn)附近的最小值可以得到:>>v=[1-10];>>fminsearch(′three′,v)ans=-0.0000-1.57080.0008也可以簡(jiǎn)單輸入如下:f=′x(1)^2+2.5*sin(x(2))-x(3)^2*x(1)*x(2)^2′>>x=fminsearch(f,[1-10]),f=eval(f)x=-0.0000

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論