數(shù)學(xué)實(shí)驗(yàn)與Matlab_第1頁(yè)
數(shù)學(xué)實(shí)驗(yàn)與Matlab_第2頁(yè)
數(shù)學(xué)實(shí)驗(yàn)與Matlab_第3頁(yè)
數(shù)學(xué)實(shí)驗(yàn)與Matlab_第4頁(yè)
數(shù)學(xué)實(shí)驗(yàn)與Matlab_第5頁(yè)
已閱讀5頁(yè),還剩82頁(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)介

1、數(shù)學(xué)實(shí)驗(yàn)與數(shù)學(xué)實(shí)驗(yàn)與Matlab 05101520250102030-10-50510 MATLAB是一種交互式的以矩陣為基礎(chǔ)的系統(tǒng)計(jì)算平臺(tái),它用于科學(xué)和工程的計(jì)算與可視化。 Matlab的含義是矩陣實(shí)驗(yàn)室(Matrix Laboratory),是美國(guó)Math Work公司于1982年推出的一套高性能的數(shù)值計(jì)算和可視化軟件,它集數(shù)值分析、矩陣計(jì)算、信號(hào)處數(shù)值分析、矩陣計(jì)算、信號(hào)處理和圖形顯示理和圖形顯示于一體,已發(fā)展成為國(guó)際上最優(yōu)秀的科技應(yīng)用軟件之一。 矩陣矩陣是是MATLAB的核心的核心. 目目 錄錄 MatlabMatlab基本指令基本指令向量的創(chuàng)建和運(yùn)算向量的創(chuàng)建和運(yùn)算x1=1 2 4,

2、 x2=1,2,1, x3=x1x1=1 2 4, x2=1,2,1, x3=x1 x1=3.4 x1=3.4: :6.7,6.7, x2=3.4x2=3.4:2:2:6.7,6.7, x3=2.6x3=2.6:-0.8:-0.8:0 0指令指令x=linspace(a,b,nx=linspace(a,b,n) ) 在在a,ba,b區(qū)間產(chǎn)區(qū)間產(chǎn)生生 n n 個(gè)等分點(diǎn)個(gè)等分點(diǎn)( (包括端點(diǎn)包括端點(diǎn)) ) 例如:例如:x=x=linspacelinspace(0,1,5)(0,1,5)結(jié)果結(jié)果 x = x = 0 0.2500 0.5000 0.7500 1.0000 0 0.2500 0.500

3、0 0.7500 1.0000在在MatlabMatlab窗口創(chuàng)建向量后并運(yùn)行后,窗口創(chuàng)建向量后并運(yùn)行后,向量就存在于工作空間向量就存在于工作空間(WorkspaceWorkspace),可以被調(diào)用。),可以被調(diào)用。 設(shè)三維向量設(shè)三維向量x=x1 x2 x3; y=y1 y2 y3; x=x1 x2 x3; y=y1 y2 y3; ,a, ba, b為標(biāo)量。為標(biāo)量。向量的向量的數(shù)乘數(shù)乘:a a* *x=ax=a* *x1 ax1 a* *x2 ax2 a* *x3x3向量的向量的平移平移: x+b=x1+b x2+b x3+bx+b=x1+b x2+b x3+b向量向量和和: x+y=x1+y

4、1 x2+y2 x3+y3x+y=x1+y1 x2+y2 x3+y3向量向量差差: x-y=x1-y1 x2-y2 x3-y3 x-y=x1-y1 x2-y2 x3-y3 x x. .* *y=x1y=x1* *y1 x2y1 x2* *y2 x3y2 x3* *y3 (y3 (乘積乘積) )x x./ ./y=x1/y1 x2/y2 x3/y3 (y=x1/y1 x2/y2 x3/y3 (右除,右右除,右邊的邊的y y做分母做分母) )x x. .y=y1/x1 y2/x2 y3/x3 (y=y1/x1 y2/x2 y3/x3 (左除,左左除,左邊的邊的x x做分母做分母) )x x.5=x

5、15 x25 x35 (5=x15 x25 x35 (乘冪乘冪) ) 2 2.x=2x1 2x2 2x3x=2x1 2x2 2x3x x.y=x1y1 x2y2 x3y3y=x1y1 x2y2 x3y3MatlabMatlab有許多內(nèi)部函數(shù),可直接作用于有許多內(nèi)部函數(shù),可直接作用于向量產(chǎn)生一個(gè)同維的函數(shù)向量。向量產(chǎn)生一個(gè)同維的函數(shù)向量。如:如:x=linspace(0,4x=linspace(0,4* *pi,100);pi,100);(產(chǎn)生(產(chǎn)生100100維向量維向量x x) y=sin(xy=sin(x); ); (y(y也自動(dòng)為也自動(dòng)為100100維向量維向量) ) y1=sin(x)

6、.2;y1=sin(x).2; y2=exp(-x). y2=exp(-x).* *sin(x); sin(x); 觀察結(jié)果觀察結(jié)果 直接輸入法創(chuàng)建簡(jiǎn)單矩陣。直接輸入法創(chuàng)建簡(jiǎn)單矩陣。 A=1 2 3 4; 5 6 7 8; 9 10 11 12A=1 2 3 4; 5 6 7 8; 9 10 11 12 B=-1.3, B=-1.3,sqrt(3)sqrt(3);(1+2);(1+2)* *4/5,4/5,sin(5)sin(5); ;exp(2exp(2),6),6 觀察運(yùn)行結(jié)果觀察運(yùn)行結(jié)果 A = 1 2 3 4 5 6 7 8 9 10 11 12 B = -1.3000 1.7321

7、2.4000 -0.9589 7.3891 6.0000矩陣的運(yùn)算矩陣的運(yùn)算( (矩陣的加減、數(shù)乘、乘積等矩陣的加減、數(shù)乘、乘積等) )A, A, A_transA_trans=A=A H=1 2 3 ; 2 1 0 ; 1 2 3 ,H=1 2 3 ; 2 1 0 ; 1 2 3 ,K=1 2 3 ; 2 1 0 ; 2 3 1K=1 2 3 ; 2 1 0 ; 2 3 1h_deth_det= =detdet(H), k_det(H), k_det= =detdet(K(K), ),H_invH_inv= =invinv(H), K_inv(H), K_inv=K=K-1-1矩陣的運(yùn)算矩陣

8、的運(yùn)算( (左除和右除左除和右除) )左除左除“ ” ”: 求矩陣方程求矩陣方程AX=BAX=B的解;(的解;( A A 、B B的行要保持一致)的行要保持一致) 解為解為 X=ABX=AB; 當(dāng)當(dāng)A A為方陣且可逆時(shí)有為方陣且可逆時(shí)有X=AB=inv(A)X=AB=inv(A)* *B B;右除右除“ / ”/ ”: 求矩陣方程求矩陣方程XA=BXA=B的解的解 (A A 、B B的列要保持一致)的列要保持一致) 解為解為 X=B/A X=B/A , 當(dāng)當(dāng)A A為方陣且可逆時(shí)有為方陣且可逆時(shí)有X=B/A=BX=B/A=B* *inv(A)inv(A)矩陣的運(yùn)算矩陣的運(yùn)算( (左除和右除左除和

9、右除) )例例1 1:求矩陣方程:求矩陣方程:設(shè)設(shè)A A、B B滿足關(guān)系式:滿足關(guān)系式:ABAB2B+A,2B+A,求求B B。其中其中A=3 0 1; 1 1 0; 0 1 4A=3 0 1; 1 1 0; 0 1 4。解解:有:有(A-2I)B(A-2I)BA A 程序程序 : A=3 0 1; 1 1 0;0 1 4;A=3 0 1; 1 1 0;0 1 4;B=B=invinv(A-2(A-2* *eyeeye(3)(3)* *A,A,B=(A-2B=(A-2* *eyeeye(3)A(3)A 觀察結(jié)果:觀察結(jié)果:例例2 2 取出取出A A的的1 1、3 3行和行和1 1、3 3列的交

10、叉處元列的交叉處元素構(gòu)成新矩陣素構(gòu)成新矩陣A1A1。解:程序解:程序A=1 0 1 1 2;0 1 -1 2 3;A=1 0 1 1 2;0 1 -1 2 3; 3 0 5 1 0;2 3 1 2 1, 3 0 5 1 0;2 3 1 2 1, vr=1, 3; vc vr=1, 3; vc=1, 3;=1, 3;A1=A(vr, vcA1=A(vr, vc) ) 觀察結(jié)果觀察結(jié)果)例例3 3 將將A A分為四塊,并把它們賦值到矩陣分為四塊,并把它們賦值到矩陣B B中,觀察運(yùn)行后的結(jié)果。中,觀察運(yùn)行后的結(jié)果。解:程序解:程序nA11=A(1:2,1:2),A12=A(1:2,3:5),A11=

11、A(1:2,1:2),A12=A(1:2,3:5),nA21=A(3:4,1:2),A22=A(3:4,3:5)A21=A(3:4,1:2),A22=A(3:4,3:5)nB=A11 A12;B=A11 A12;n A21 A22 A21 A22 運(yùn)行結(jié)果運(yùn)行結(jié)果例例4 4 (1 1)修改矩陣)修改矩陣A A,將它的第,將它的第1 1行變?yōu)樾凶優(yōu)? 0。解:程序:解:程序: A=1 0 1 1 2;0 1 -1 2 3;A=1 0 1 1 2;0 1 -1 2 3; 3 0 5 1 0;2 3 1 2 1 3 0 5 1 0;2 3 1 2 1 A(1,:)=0 0 0 0 0; A A(1,

12、:)=0 0 0 0 0; A (2 2)刪除上面矩陣)刪除上面矩陣A A的第的第1 1、3 3行。行。 程序:程序:n A(1,3,:)= A(1,3,:)= 全全1 1陣陣 n ones(n), ones(m,n), ones(size(A)ones(n), ones(m,n), ones(size(A)全零陣:全零陣:n zeros(n) zeros(n) ,zeros(m,n), zeros(size(A) zeros(m,n), zeros(size(A) n常常用于對(duì)某個(gè)矩陣或向量賦常常用于對(duì)某個(gè)矩陣或向量賦0 0初值初值單位陣:?jiǎn)挝魂嚕簄eye(n)eye(n),eye(m,n)

13、 eye(m,n) 隨機(jī)陣:隨機(jī)陣: nrand(m,n)rand(m,n), rand(n)=rand(n,nrand(n)=rand(n,n) )用于隨機(jī)模用于隨機(jī)模擬,常和擬,常和rand(seed,krand(seed,k) )配合使用配合使用。det(Adet(A) ) : 方陣的行列式;方陣的行列式;rank(A)rank(A): 矩陣的秩;矩陣的秩;eig(Aeig(A) ): 方陣的特征值和特征向量;方陣的特征值和特征向量;trace(A)trace(A): 矩陣的跡;矩陣的跡;rref(Arref(A) ): 初等變換階梯化矩陣初等變換階梯化矩陣A Asvd(Asvd(A)

14、): 矩陣奇異值分解。矩陣奇異值分解。1. 1. 矩陣元素的標(biāo)識(shí)矩陣元素的標(biāo)識(shí) : A(i,j)A(i,j)表示矩陣表示矩陣A A 的第的第 i i 行行 j j 列的元素;列的元素; 2. 2. 向量標(biāo)識(shí)方式向量標(biāo)識(shí)方式 A(vr,vcA(vr,vc) ): vr=i1,i2,ikvr=i1,i2,ik、vc=j1,j2,juvc=j1,j2,ju 分別分別是含有矩陣是含有矩陣A A的行號(hào)和列號(hào)的單調(diào)向量。的行號(hào)和列號(hào)的單調(diào)向量。 A(vr,vcA(vr,vc) )是取出矩陣是取出矩陣A A的第的第i1,i2,iki1,i2,ik行行與與j1,j2,juj1,j2,ju列交叉處的元素所構(gòu)成新

15、矩陣。列交叉處的元素所構(gòu)成新矩陣。1.1.當(dāng)數(shù)據(jù)為當(dāng)數(shù)據(jù)為行向量或列向量行向量或列向量時(shí),函數(shù)對(duì)時(shí),函數(shù)對(duì)整整個(gè)向量個(gè)向量進(jìn)行計(jì)算進(jìn)行計(jì)算. .2.2.當(dāng)數(shù)據(jù)為當(dāng)數(shù)據(jù)為矩陣矩陣時(shí),命令對(duì)時(shí),命令對(duì)列列進(jìn)行計(jì)算,進(jìn)行計(jì)算,即把每一即把每一列列數(shù)據(jù)當(dāng)成同一變量的不同觀察數(shù)據(jù)當(dāng)成同一變量的不同觀察值。值。常用的命令:常用的命令: maxmax( (求最大求最大) )、minmin( (求最小求最小) )、meanmean( (求平均求平均值值 ) ) 、 s u ms u m ( ( 求 和求 和 ) ) 、 s t ds t d ( ( 求 標(biāo) 準(zhǔn) 差求 標(biāo) 準(zhǔn) 差 ) ) 、cumsumcums

16、um( (求累積和求累積和) )、medianmedian( (求中值求中值) )、diffdiff( (差分差分) )、sortsort( (升序排列升序排列) )、sortrowssortrows( (行行升序排列升序排列) )等等等等。例例5 5 觀察:生成一個(gè)觀察:生成一個(gè)3 36 6的隨機(jī)數(shù)矩陣,的隨機(jī)數(shù)矩陣,并將其各列排序、求各列的最大值與各列并將其各列排序、求各列的最大值與各列元素之和。元素之和。解:程序解:程序nA=A=randrand(3,6),(3,6),nAsortAsort= =sortsort(A), (A), nAmax=Amax=maxmax(A(A), ), n

17、AsumAsum= =sumsum(A(A) ) 觀察結(jié)果觀察結(jié)果 plot(x,y)plot(x,y):n以以x x為橫坐標(biāo)、為橫坐標(biāo)、y y為縱坐標(biāo)繪制二維圖形為縱坐標(biāo)繪制二維圖形nx,yx,y是同維數(shù)的向量;是同維數(shù)的向量; plot(yplot(y) ):n相當(dāng)于相當(dāng)于x=1,2,length(y)x=1,2,length(y)時(shí)情形。時(shí)情形。)sin(cos(sin()(xxxxf)sin(cos(sin(2 . 0)(xxxxxg問(wèn):?jiǎn)枺篺 (x), g (x)f (x), g (x)是周期函數(shù)嗎?觀察它們的圖象。是周期函數(shù)嗎?觀察它們的圖象。解:程序解:程序clfclf, x=l

18、inspace(0,8, x=linspace(0,8* *pi,100);pi,100);y1=sin(x+cos(x+sin(x); y1=sin(x+cos(x+sin(x); y2=0.2y2=0.2* *x+sin(x+cos(x+sin(xx+sin(x+cos(x+sin(x););plot(x,y1,k:,x,y2,k-) plot(x,y1,k:,x,y2,k-) legend(sin(x+cos(x+sin(x),0.2x+sin(xlegend(sin(x+cos(x+sin(x),0.2x+sin(x+cos(x+sin(x),2)+cos(x+sin(x),2)例例1

19、 1 令令1. plot(x,y1;y2;),1. plot(x,y1;y2;),n x x是橫坐標(biāo)向量,是橫坐標(biāo)向量,y1;y2;y1;y2;是由若干函數(shù)是由若干函數(shù)的縱坐標(biāo)拼成的矩陣;的縱坐標(biāo)拼成的矩陣;2. plot(x1,y1), 2. plot(x1,y1), hold onhold on, , plot(x2,y2), plot(x2,y2), hold offhold off3. plot(x1,y1,x2,y2,) 3. plot(x1,y1,x2,y2,) 4. plotyy4. plotyyn兩個(gè)坐標(biāo)系,用于繪制不同尺度的函數(shù)。兩個(gè)坐標(biāo)系,用于繪制不同尺度的函數(shù)。plot(

20、x,y,plot(x,y,顏色線型點(diǎn)形顏色線型點(diǎn)形) )plot(x,y,plot(x,y,顏色線型點(diǎn)形顏色線型點(diǎn)形,x,y,x,y,顏顏色線型點(diǎn)形色線型點(diǎn)形, ), )句柄圖形和句柄圖形和setset命令改變屬性值,可套命令改變屬性值,可套用:用:nh=plot(x,y),h=plot(x,y), set(h, set(h,屬性屬性, ,屬性值屬性值, ,屬性屬性, ,屬性值屬性值,),)n或或plot(x,yplot(x,y, ,屬性屬性,屬性值屬性值) )設(shè)置圖形對(duì)象設(shè)置圖形對(duì)象的屬性。的屬性。n線寬:線寬:LineWidthLineWidthn點(diǎn)的大?。狐c(diǎn)的大?。?MarkerSize

21、MarkerSizen線型:線型:LineStyleLineStylen顏色:顏色:ColorColor程序程序nh=plot(0:0.1:2h=plot(0:0.1:2* *pi,sin(0:0.1:2pi,sin(0:0.1:2* *pi); pi); nset(h,LineWidth,5,color,red); set(h,LineWidth,5,color,red); ngrid ongrid on觀察結(jié)果觀察結(jié)果grid on grid on 指令為圖形窗口加上網(wǎng)格線指令為圖形窗口加上網(wǎng)格線axisaxis指令指令 axis(xmin xmax ymin ymaxaxis(xmin

22、xmax ymin ymax) ): 設(shè)定二維圖形的設(shè)定二維圖形的x x和和y y坐標(biāo)的范圍;坐標(biāo)的范圍; axis(xmin xmax ymin ymax zmin axis(xmin xmax ymin ymax zmin zmaxzmax) ): 設(shè)定三維圖形的坐標(biāo)范圍設(shè)定三維圖形的坐標(biāo)范圍 ; 其中其中xminxxmaxxminxxmax, yminyymaxyminyymax , zminzzmaxzminzzmax。title(title(圖形標(biāo)題圖形標(biāo)題) );xlabelxlabel(x x軸名稱軸名稱););ylabelylabel(y y軸名軸名稱稱););zlabelzl

23、abel(z z軸名稱軸名稱););text(text(說(shuō)明文字說(shuō)明文字) ):創(chuàng)建說(shuō)明文字;:創(chuàng)建說(shuō)明文字;gtextgtext( 說(shuō)明文字說(shuō)明文字 ):用鼠標(biāo)在特定位置輸入文):用鼠標(biāo)在特定位置輸入文字。字。文字標(biāo)注常用符號(hào):文字標(biāo)注常用符號(hào): pi pi ( ););alpha alpha ( ););beta beta ( );); leftarrowleftarrow(左箭頭)(左箭頭) rightarrowrightarrow(右箭頭);(右箭頭); bullet bullet (點(diǎn)號(hào))(點(diǎn)號(hào)) subplot(m,n,k) subplot(m,n,k)命令命令 在圖形區(qū)域中顯示多

24、個(gè)圖形窗口,在圖形區(qū)域中顯示多個(gè)圖形窗口,mm為上下分為上下分割數(shù),割數(shù),n n為左右分割數(shù),為左右分割數(shù),k k為第為第k k子圖編號(hào)。子圖編號(hào)。例例:將一個(gè)圖形分為:將一個(gè)圖形分為4 4個(gè)子圖,在第個(gè)子圖,在第k k個(gè)子圖畫(huà)個(gè)子圖畫(huà)sin(kxsin(kx) ) 的圖象的圖象. .程序:程序: clfclf,b=2b=2* *pi; x=linspace(0,b,50);pi; x=linspace(0,b,50); for k =1:4 for k =1:4 y=sin(k y=sin(k * * x);x); subplotsubplot(2,2,k),plot(x,y),axis(0

25、,2(2,2,k),plot(x,y),axis(0,2* *pi,-1,1)pi,-1,1) end endclfclf:清除圖形窗口已有的內(nèi)容:清除圖形窗口已有的內(nèi)容. . shgshg:顯示圖形窗口。:顯示圖形窗口。clearclear、 clear xclear x:清除工作空間的已:清除工作空間的已有變量。有變量。figure(n): figure(n): 打開(kāi)第打開(kāi)第n n個(gè)圖形窗口個(gè)圖形窗口 help:help: : : 續(xù)行號(hào)續(xù)行號(hào)基本步驟:基本步驟: 1. 1. 生成二維網(wǎng)格點(diǎn)生成二維網(wǎng)格點(diǎn) 2. 2. 計(jì)算函數(shù)在網(wǎng)格點(diǎn)上的值計(jì)算函數(shù)在網(wǎng)格點(diǎn)上的值 3. 3. 繪制函數(shù)圖形繪

26、制函數(shù)圖形觀察觀察meshgridmeshgrid指令的效果。指令的效果。程序:程序: a=-3;b=3;c=-3;d=3;n=10;a=-3;b=3;c=-3;d=3;n=10; x=linspace(a,b,n x=linspace(a,b,n); ); y=linspace(c,d,n y=linspace(c,d,n); ); X,Y= X,Y=meshgridmeshgrid(x,y(x,y); ); plot(X,Y plot(X,Y,+),+)觀察結(jié)果觀察結(jié)果 如,如,z=peaks(X,Yz=peaks(X,Y); ); mesh(X,Y,z) mesh(X,Y,z) :n在三

27、維空間中繪出由在三維空間中繪出由(X,Y,z)(X,Y,z)表示的曲面表示的曲面;meshz(X,Y,zmeshz(X,Y,z) ):n除了具有除了具有meshmesh的功能外,還畫(huà)出上下高度線,的功能外,還畫(huà)出上下高度線,meshc(X,Y,zmeshc(X,Y,z) ):n除了具有除了具有meshmesh的功能外,還在曲面的下方畫(huà)出函數(shù)的功能外,還在曲面的下方畫(huà)出函數(shù)z=f(x,y)z=f(x,y)的等值線圖,的等值線圖,surf(X,Y,z)surf(X,Y,z):n也是三維繪圖指令,與也是三維繪圖指令,與meshmesh的區(qū)別在于的區(qū)別在于meshmesh繪出彩繪出彩色的線,色的線,s

28、urfsurf繪出彩色的面,繪出彩色的面,)contour(X,Y,z,n)contour(X,Y,z,n):nn n條等高線,條等高線,n n可缺??;可缺??;contourf(X,Y,z,ncontourf(X,Y,z,n) ):n等值線間用不同的顏色填滿,有更好的視覺(jué)效果;等值線間用不同的顏色填滿,有更好的視覺(jué)效果; contour3(X,Y,z,n)contour3(X,Y,z,n):n在三維空間畫(huà)出等值線圖;在三維空間畫(huà)出等值線圖;colorbarcolorbar:n將顏色與函數(shù)值對(duì)應(yīng)起來(lái)顯示在圖中將顏色與函數(shù)值對(duì)應(yīng)起來(lái)顯示在圖中。一條空間曲線可以用矢量函數(shù)表示為一條空間曲線可以用矢量

29、函數(shù)表示為, , )(),(),()( :ttztytxtrn它的速度矢量表現(xiàn)為曲線的切矢量:)(,)(,)()(dttdzdttdydttdxdtdrtv plot3(x,y,z)plot3(x,y,z):n繪制三維空間曲線,用法和繪制三維空間曲線,用法和plotplot類似。類似。quiver(X,Y,u,v)quiver(X,Y,u,v):繪制二維矢量,:繪制二維矢量,n在坐標(biāo)矩陣點(diǎn)在坐標(biāo)矩陣點(diǎn)X,YX,Y處繪制矢量處繪制矢量u,v, u,v, 其中其中u u為矢量的為矢量的x x坐標(biāo),坐標(biāo),v v為矢量的為矢量的y y 坐標(biāo),其維數(shù)不坐標(biāo),其維數(shù)不小于小于2 2。quiver3quiv

30、er3(X,Y,Z,u,v,wX,Y,Z,u,v,w):):n繪制三維矢量,用法與繪制三維矢量,用法與quiverquiver類似。類似。gradientgradient:n Fx,Fy,FzFx,Fy,Fz=gradient(F)=gradient(F)為函數(shù)為函數(shù)F F數(shù)值梯度數(shù)值梯度)3/1 (3 ,)3/2( ,()6 ,2 ,2()(34320232ttttdttttttrtn很顯然飛行曲線方程為: 程序:程序:t=linspace(0,1.5,20); x=t.2; y=(2/3)*t.3; z=(6/4)*t.4-(1/3)*t.3; plot3(x,y,z,r.-,linewi

31、dth,1,markersize,10), hold on Vx=gradient(x);Vy=gradient(y);Vz=gradient(z); h=quiver3(x,y,z,Vx,Vy,Vz); set(h,linewidth,1), grid on axis(0 1.5 0 1.5 0 40) xlabel(x),ylabel(y),zlabel(z), box on, hold off 用程控銑床加工機(jī)翼斷面的下輪廓線時(shí)用程控銑床加工機(jī)翼斷面的下輪廓線時(shí)每一刀只能沿每一刀只能沿x x方向和方向和y y方向走非常小的一步。方向走非常小的一步。表表3-13-1給出了下輪廓線上的部分?jǐn)?shù)

32、據(jù)給出了下輪廓線上的部分?jǐn)?shù)據(jù)但工藝要求銑床沿但工藝要求銑床沿x x方向每次只能移動(dòng)方向每次只能移動(dòng)0.10.1單位單位. . 這時(shí)需求出當(dāng)這時(shí)需求出當(dāng)x x坐標(biāo)每改變坐標(biāo)每改變0.10.1單位時(shí)的單位時(shí)的y y坐標(biāo)。坐標(biāo)。試完成加工所需的數(shù)據(jù),畫(huà)出曲線試完成加工所需的數(shù)據(jù),畫(huà)出曲線. . 表表3-1 3-1 機(jī)翼斷面的下輪廓線上的數(shù)據(jù)機(jī)翼斷面的下輪廓線上的數(shù)據(jù)x0357911 12 13 14 15y01.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6n已知有已知有n +1n +1個(gè)節(jié)點(diǎn)(個(gè)節(jié)點(diǎn)(x xj j,y,yj j),),j = 0,1, nj = 0,1, n,其

33、中其中x xj j互不相同,節(jié)點(diǎn)互不相同,節(jié)點(diǎn)(x(xj j, y, yj j) )可看成由某個(gè)函可看成由某個(gè)函數(shù)數(shù) y= fy= f(x x)產(chǎn)生;)產(chǎn)生;n構(gòu)造一個(gè)相對(duì)簡(jiǎn)單的函數(shù)構(gòu)造一個(gè)相對(duì)簡(jiǎn)單的函數(shù) y=P(x);n使使P P通過(guò)全部節(jié)點(diǎn),通過(guò)全部節(jié)點(diǎn), 即即 P (xP (xk k) = y) = yk k, k k=0,1, n =0,1, n ;n用用P (x)P (x)作為作為 函數(shù)函數(shù)f ( x )f ( x )的的 近似。近似。yi=interp1(x,y,xi,method)插值方法插值方法被插值點(diǎn)被插值點(diǎn)插值節(jié)點(diǎn)插值節(jié)點(diǎn)xixi處的插處的插值結(jié)果值結(jié)果nearest :最

34、鄰近插值:最鄰近插值linear : 線性插值;線性插值;spline : 三次樣條插值;三次樣條插值;cubic : 立方插值。立方插值。缺省時(shí):缺省時(shí): 線性插值。線性插值。 注意:所有的插值方法都要求注意:所有的插值方法都要求x x是單調(diào)的,并且是單調(diào)的,并且xi不不能夠超過(guò)能夠超過(guò)x的范圍。的范圍。用用MATLABMATLAB作一維插值計(jì)算作一維插值計(jì)算x0=0 3 5 7 9 11 12 13 14 15 ;y0=0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ;x=0:0.1:15;y=interp1(x0,y0,x,spline);plot(x0,y0

35、,k+,x,y,r)grid on 要求要求x0,y0 x0,y0單調(diào);單調(diào);x x,y y可取可取為矩陣,或?yàn)榫仃?,或x x取取行向量,行向量,y y取為列向量,取為列向量,x,yx,y的值分別不能超出的值分別不能超出x0,y0 x0,y0的范圍。的范圍。z=interp2(x0,y0,z0,x,y,method)被插值點(diǎn)插值方法插值節(jié)點(diǎn)被插值點(diǎn)的函數(shù)值nearest nearest 最鄰近插值最鄰近插值linear linear 雙線性插值雙線性插值cubic cubic 雙三次插值雙三次插值缺省時(shí)缺省時(shí), , 雙線性插值雙線性插值用用MATLABMATLAB作網(wǎng)格節(jié)點(diǎn)數(shù)據(jù)的插值作網(wǎng)格節(jié)點(diǎn)

36、數(shù)據(jù)的插值( (二維二維) ) cz =griddata(x,y,z,cx,cy,method) 要求要求cxcx取行向量,取行向量,cycy取為列向量取為列向量。被插值點(diǎn)插值方法插值節(jié)點(diǎn)被插值點(diǎn)的函數(shù)值nearest nearest 最鄰近插值最鄰近插值linear linear 雙線性插值雙線性插值cubic cubic 雙三次插值雙三次插值v4 Matlab提供的插值方法提供的插值方法缺省時(shí)缺省時(shí), , 雙線性插值雙線性插值用用MATLABMATLAB作散點(diǎn)數(shù)據(jù)的插值計(jì)算作散點(diǎn)數(shù)據(jù)的插值計(jì)算某海域上頻繁地有各種噸位的船只經(jīng)過(guò)。為保證船只的航行安全,有關(guān)機(jī)構(gòu)在低潮時(shí)對(duì)水深進(jìn)行了測(cè)量,表3-

37、8是他們提供的測(cè)量數(shù)據(jù):n表3-8. 水道水深的測(cè)量數(shù)據(jù)x 129.0 140.0 103.5 88.0 185.5 195.0 105.5y 7.5 141.5 23.0 147.0 22.5 137.5 85.5z 4 8 6 8 6 8 8x 157.5 107.5 77.0 81.0 162.0 162.0 117.5y -6.5 -81.0 3.0 56.5 -66.5 84.0 -33.5z 9 9 8 8 9 4 9其中(其中(x, yx, y)為測(cè)量點(diǎn),)為測(cè)量點(diǎn),z z為(為(x, yx, y)處的水深)處的水深( (英尺英尺) ),水深,水深z z是區(qū)域坐標(biāo)(是區(qū)域坐標(biāo)(x

38、, yx, y)的函數(shù))的函數(shù)z= z z= z (x, y(x, y),),船的噸位可以用其吃水深度來(lái)反映,分為船的噸位可以用其吃水深度來(lái)反映,分為 4 4英英尺、尺、4.54.5英尺、英尺、5 5英尺和英尺和 5.55.5英尺英尺 4 4 檔。檔。 航運(yùn)部門(mén)要在矩形海域(航運(yùn)部門(mén)要在矩形海域(7575,200200)(5050,150150)上為不同噸位的航船設(shè)置警示標(biāo)記。)上為不同噸位的航船設(shè)置警示標(biāo)記。請(qǐng)根據(jù)測(cè)量的數(shù)據(jù)描述該海域的地貌,并繪制請(qǐng)根據(jù)測(cè)量的數(shù)據(jù)描述該海域的地貌,并繪制不同噸位的警示線,供航運(yùn)部門(mén)使用。不同噸位的警示線,供航運(yùn)部門(mén)使用。x=129 140 103.5 88

39、185.5 195 105.5 157.5 107.5 77 81 162 162 117.5;y=7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5;z=-4 -8 -6 -8 -6 -8 -8 -9 -9 -8 -8 -9 -4 -9;cx=75:0.5:200;cy=-70:0.5:150;cz=griddata(x,y,z,cx,cy,cubic);meshz(cx,cy,cz), xlabel(X),ylabel(Y),zlabel(Z)figure(2),contour(cx,cy,cz,-5 -5); g

40、rid on,hold onplot(x,y,+)xlabel(X),ylabel(Y) 已知一組(二維)數(shù)據(jù),即平面上已知一組(二維)數(shù)據(jù),即平面上 n個(gè)點(diǎn)個(gè)點(diǎn)(xi,yi) i=1,n, 尋求一個(gè)函數(shù)(曲線)尋求一個(gè)函數(shù)(曲線)y=f(x), 使使 f(x) 在某種準(zhǔn)則在某種準(zhǔn)則下與所有數(shù)據(jù)點(diǎn)最為接近,即曲線擬合得最好。下與所有數(shù)據(jù)點(diǎn)最為接近,即曲線擬合得最好。 +xyy=f(x)(xi,yi)i i 為點(diǎn)為點(diǎn)(xi,yi) 與與曲線曲線 y=f(x) 的距離的距離最常用的方法是線性最小二乘擬和最常用的方法是線性最小二乘擬和n對(duì)給定的數(shù)據(jù)(對(duì)給定的數(shù)據(jù)(x xj j,y,yj j),),j

41、 = 0,1, nj = 0,1, n;n選取適當(dāng)階數(shù)的多項(xiàng)式,如二次多項(xiàng)式選取適當(dāng)階數(shù)的多項(xiàng)式,如二次多項(xiàng)式g(x)=ax2+bx+cg(x)=ax2+bx+c;n使使g(x)g(x)盡可能逼近(擬合)這些數(shù)據(jù),但盡可能逼近(擬合)這些數(shù)據(jù),但是不要求經(jīng)過(guò)給定的數(shù)據(jù)(是不要求經(jīng)過(guò)給定的數(shù)據(jù)(x xj j,y,yj j););1. 1. 多項(xiàng)式多項(xiàng)式f(x)=a1xm+ +amx+am+1擬合指令擬合指令:a=polyfit(x,y,m)2.2.多項(xiàng)式在多項(xiàng)式在x x處的值處的值y y的計(jì)算命令:的計(jì)算命令: y=y=polyvalpolyval(a,xa,x)輸出擬合多項(xiàng)式系數(shù)輸出擬合多項(xiàng)式

42、系數(shù)a=a1,am,am+1 (數(shù)組)數(shù)組)輸入同長(zhǎng)度輸入同長(zhǎng)度數(shù)組數(shù)組X,Y擬合多項(xiàng)式擬合多項(xiàng)式次數(shù)次數(shù)多項(xiàng)式擬合指令多項(xiàng)式擬合指令即要求出二次多項(xiàng)式即要求出二次多項(xiàng)式:3221)(axaxaxf中中 的的123(,)Aa a a 使得使得:1121() iiif xy最小例例 對(duì)下面一組數(shù)據(jù)作二次多項(xiàng)式擬合對(duì)下面一組數(shù)據(jù)作二次多項(xiàng)式擬合x(chóng)i00.10.20.30.40.50.60.70.80.91yi-0.4471.9783.286.166.167.347.669.589.489.3011.22)計(jì)算結(jié)果:)計(jì)算結(jié)果: = -9.8108, 20.1293, -0.0317解:解:用多項(xiàng)式

43、擬合的命令用多項(xiàng)式擬合的命令00.20.40.60.81-20246810120317.01293.208108.9)(2xxxf1)輸入命令:)輸入命令:x=0:0.1:1; y=-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.30,11.2;A=polyfit(x,y,2)z=polyval(A,x);plot(x,y,k+,x,z,r) %作出數(shù)據(jù)點(diǎn)和擬合曲線的圖形作出數(shù)據(jù)點(diǎn)和擬合曲線的圖形可化為多項(xiàng)式的非線性擬和可化為多項(xiàng)式的非線性擬和一般非線性最小二乘擬和一般非線性最小二乘擬和,實(shí)際上是無(wú)約實(shí)際上是無(wú)約束最優(yōu)化問(wèn)題束最優(yōu)化問(wèn)題命令:

44、命令:lsqcurvefit、lsqnonlin等等 (1 1)用不定積分計(jì)算定積分:)用不定積分計(jì)算定積分: 牛頓萊布尼茲公式牛頓萊布尼茲公式, ,但是有時(shí)得不但是有時(shí)得不到原函數(shù);到原函數(shù);(2 2)定義法,取近似和的極限:)定義法,取近似和的極限:n高等數(shù)學(xué)中不是重點(diǎn)內(nèi)容高等數(shù)學(xué)中不是重點(diǎn)內(nèi)容n但數(shù)值積分的各種算法卻是基于定義建立的但數(shù)值積分的各種算法卻是基于定義建立的 )x(x)f(limf(x)dxi1i1n0ii0ba數(shù)值微積分?jǐn)?shù)值微積分(梯形公式和辛普森公式梯形公式和辛普森公式)trapz(x,ytrapz(x,y) ),按梯形公式計(jì)算近似積分;,按梯形公式計(jì)算近似積分; 其中步

45、長(zhǎng)x=x0 x1 xn和函數(shù)值y=f0 f1 fn為同維向量;q = quad(fun,a,b,tol,trace,P1,P2,.) q = quad(fun,a,b,tol,trace,P1,P2,.) (低階方法,辛普森自適應(yīng)遞歸法求積分)(低階方法,辛普森自適應(yīng)遞歸法求積分)q = quad8(fun,a,b,tol,trace,P1,P2,.)q = quad8(fun,a,b,tol,trace,P1,P2,.)(高階方法,自適應(yīng)法(高階方法,自適應(yīng)法CotesCotes求積分)求積分) 在同樣的精度下高階方法在同樣的精度下高階方法quad8quad8要求的節(jié)點(diǎn)要求的節(jié)點(diǎn)較少。較少。

46、X = 0:pi/100:pi;Y = sin(X);Z1 = trapz(X,Y)Z2=quad(sin,0,pi)Z1 = 1.998z2 = 2.0000 x,yx,y=ode23(fun,tspan,y0,option)=ode23(fun,tspan,y0,option) (低階龍格庫(kù)塔函數(shù))(低階龍格庫(kù)塔函數(shù))x,yx,y=ode45(fun,tspan,y0,option) =ode45(fun,tspan,y0,option) (高階龍格庫(kù)塔函數(shù))(高階龍格庫(kù)塔函數(shù))其中,(1) tspan=t0,tf,t0、tf為自變量的初值和終值 (2) option用于設(shè)定誤差限(缺省時(shí)

47、設(shè)定相對(duì)誤差10-3, 絕對(duì)誤差10-6), 命令為:options=odeset (reltol,rt,abstol,at), rt,at:分別為設(shè)定的相對(duì)誤差和絕對(duì)誤差. 1、在解、在解n個(gè)未知函數(shù)的方程組時(shí),個(gè)未知函數(shù)的方程組時(shí),x0和和x均為均為n維向量,維向量,m-文件中的待解方程文件中的待解方程組應(yīng)以組應(yīng)以x的分量形式寫(xiě)成的分量形式寫(xiě)成. 2、使用、使用Matlab軟件求數(shù)值解時(shí),高軟件求數(shù)值解時(shí),高階微分方程必須等價(jià)地變換成一階微分階微分方程必須等價(jià)地變換成一階微分方程組方程組.注意注意: : 設(shè)位于坐標(biāo)原點(diǎn)的甲艦向位于設(shè)位于坐標(biāo)原點(diǎn)的甲艦向位于x軸上點(diǎn)軸上點(diǎn)A(1, 0)處的乙

48、艦發(fā)射導(dǎo)彈,導(dǎo)彈頭始終對(duì)準(zhǔn)處的乙艦發(fā)射導(dǎo)彈,導(dǎo)彈頭始終對(duì)準(zhǔn)乙艦。如果乙艦以最大的速度乙艦。如果乙艦以最大的速度v0(是常數(shù)是常數(shù))沿平沿平行于行于y軸的直線行駛,軸的直線行駛,導(dǎo)彈的速度是導(dǎo)彈的速度是5v0,(1)畫(huà)出導(dǎo)彈運(yùn)行的曲線方程)畫(huà)出導(dǎo)彈運(yùn)行的曲線方程.(2)乙艦行駛多遠(yuǎn)時(shí),)乙艦行駛多遠(yuǎn)時(shí), 導(dǎo)彈將它擊中?導(dǎo)彈將它擊中?導(dǎo)彈追擊問(wèn)題由由(1),(2)消去消去t整理得模型整理得模型:(3) 151)1 (2yyx1.建立建立m-文件文件eq1.m function dy=eq1(x,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1/5*sqrt(1+y(1)2

49、)/(1-x); 2. 取取x0=0,xf=0.9999,建立主程序,建立主程序ff6.m如下如下: x0=0,xf=0.9999 x,y=ode23(eq1,x0 xf,0 0); plot(x,y(:,1),b.) hold on y=0:0.01:1; plot(1,y,b*) hold off 結(jié)論結(jié)論: 導(dǎo)彈大致在(導(dǎo)彈大致在(1,0.2)處擊中乙艦)處擊中乙艦2151 )1 (yyx)1/(15121221xyyyy令y1=y, y2=y1,將方程(3)化為一階微分方程組。 最優(yōu)化方法最優(yōu)化方法 許多生產(chǎn)計(jì)劃與管理問(wèn)題都可以歸納為最優(yōu)許多生產(chǎn)計(jì)劃與管理問(wèn)題都可以歸納為最優(yōu)化問(wèn)題化問(wèn)

50、題, , 最優(yōu)化模型是數(shù)學(xué)建模中應(yīng)用最廣泛的最優(yōu)化模型是數(shù)學(xué)建模中應(yīng)用最廣泛的模型之一模型之一, ,其內(nèi)容包括線性規(guī)劃、整數(shù)線性規(guī)劃、其內(nèi)容包括線性規(guī)劃、整數(shù)線性規(guī)劃、非線性規(guī)劃、動(dòng)態(tài)規(guī)劃、變分法、最優(yōu)控制等非線性規(guī)劃、動(dòng)態(tài)規(guī)劃、變分法、最優(yōu)控制等. . 近幾年來(lái)的全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽中,幾近幾年來(lái)的全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽中,幾乎每次都有一道題要用到此方法乎每次都有一道題要用到此方法. .目標(biāo)函數(shù) 約束條件 可行解域 xpjxhmixgtsxfji, 2 , 10)(, 2 , 1, 0)(. .)(min線性規(guī)劃線性規(guī)劃xpjxhmixgtsxfji, 2 , 10)(, 2 , 1, 0

51、)(. .)(min若)() ,() ,(xhxgxfii都是線性 函 數(shù) , 則 稱 為 線 性 規(guī) 劃 問(wèn)題 , 簡(jiǎn) 稱L P問(wèn) 題 用用MATLAB優(yōu)化工具箱解線性規(guī)劃優(yōu)化工具箱解線性規(guī)劃min z=cX bAXts. .1、模型:命令:x=linprog(c,A,b) 2、模型:min z=cX bAXts. .beqXAeq命令:x=linprog(c,A,b,Aeq, beq)注意:若沒(méi)有不等式: 存在,則令A(yù)= ,b= .bAX 3、模型:min z=cX bAXts. .beqXAeq VLBXVUB命令:1 x=linprog(c,A,b,Aeq, beq, VLB,VUB)

52、 2 x=linprog(c,A,b,Aeq, beq, VLB,VUB, X0) 注意:若沒(méi)有等式約束: , 則令A(yù)eq= , beq= ; 其中X0表示初始點(diǎn) beqXAeq4、命令:x,fval=linprog()返回最優(yōu)解及處的目標(biāo)函數(shù)值返回最優(yōu)解及處的目標(biāo)函數(shù)值fval.解解: 編寫(xiě)編寫(xiě)M文件文件xxgh2.m如下:如下: c=6 3 4; A=0 1 0; b=50; Aeq=1 1 1; beq=120; vlb=30,0,20; vub=; x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)321)436(minxxxz32120030 xxx50010

53、,120111 .321321xxxxxxts 某車間有甲、乙兩臺(tái)機(jī)床,可用于加工三種工件。假定這兩臺(tái)車床的可用臺(tái)時(shí)數(shù)分別為800和900,三種工件的數(shù)量分別為400、600和500,且已知用三種不同車床加工單位數(shù)量不同工件所需的臺(tái)時(shí)數(shù)和加工費(fèi)用如下表。問(wèn)怎樣分配車床的加工任務(wù),才能既滿足加工工件的要求,又使加工費(fèi)用最低? 單 位 工 件 所 需 加 工 臺(tái) 時(shí) 數(shù) 單 位 工 件 的 加 工 費(fèi) 用 車 床類 型 工 件1 工 件2 工 件3 工 件1 工 件2 工 件3 可 用 臺(tái)時(shí) 數(shù) 甲 0.4 1.1 1.0 13 9 10 800 乙 0.5 1.2 1.3 11 12 8 900 例例(任務(wù)分配問(wèn)題(任務(wù)分配問(wèn)題)解解 設(shè)在甲車床上加工工件1、2、3的數(shù)量分別為x1、x2、x3,在乙車床上加工工件1、2、3的數(shù)量分別為x4、x5、x6。可建立以下線性規(guī)劃模型:6543218121110913minxxxxxxz 6 , 2 , 1, 09003 . 12 . 15 . 08001 . 14 . 0500600400 x . .654321635241ixxxxxxxxxxxxtsiS.t.Xz8121110913min 9008003 . 12 . 15 . 000000011 . 14 . 0X5006004001001000100100010

溫馨提示

  • 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)論