52節(jié) 解析幾何與多變量函數(shù)ppt課件_第1頁
52節(jié) 解析幾何與多變量函數(shù)ppt課件_第2頁
52節(jié) 解析幾何與多變量函數(shù)ppt課件_第3頁
52節(jié) 解析幾何與多變量函數(shù)ppt課件_第4頁
52節(jié) 解析幾何與多變量函數(shù)ppt課件_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、5.2節(jié)節(jié) 解析幾何和多變量函數(shù)解析幾何和多變量函數(shù)5.2節(jié)節(jié) 解析幾何和多變量分析解析幾何和多變量分析 本節(jié)主要討論用MATLAB解決空間解析幾何的問題。重點是利用MATLAB的三維作圖功能,對多變量函數(shù)的性質(zhì)進行更為形象的討論。 讀者要從中學(xué)會曲面的繪制方法,等高線圖和方向?qū)?shù)梯度的計算和繪制,進一步把它們的幾何意義與解析表示式聯(lián)系起來。極坐標系中的繪圖【例【例5-2-1】 繪制極坐標系下的平面曲線繪制極坐標系下的平面曲線并討論參數(shù)并討論參數(shù)a、b、n的影響。的影響。 建模建模 繪圖的基本方法仍然是先設(shè)置自變量數(shù)組,繪圖的基本方法仍然是先設(shè)置自變量數(shù)組,按元數(shù)群運算的要求列出函數(shù)表示式,使

2、得一個按元數(shù)群運算的要求列出函數(shù)表示式,使得一個表示式能夠同時計算出與自變量數(shù)目相等的因變表示式能夠同時計算出與自變量數(shù)目相等的因變量,立即可用來繪圖。為了便于比較,編一個能量,立即可用來繪圖。為了便于比較,編一個能分別畫出兩個圖形的程序,采用分別畫出兩個圖形的程序,采用for循環(huán),讀者可循環(huán),讀者可從中看到利用循環(huán)指數(shù)的技巧。從中看到利用循環(huán)指數(shù)的技巧。由于有兩種參數(shù)下的數(shù)據(jù),因變量也有兩組數(shù)據(jù),由于有兩種參數(shù)下的數(shù)據(jù),因變量也有兩組數(shù)據(jù),所以所以rho要設(shè)成二維的數(shù)組。要設(shè)成二維的數(shù)組。 cos()abn極坐標繪圖程序exn521theta=0:0.1:2*pi; % 產(chǎn)生自變量(極角)向

3、量% 或用 theta=linspace(0,2*pi,N);for i=1:2 a(i)=input(a= (書上值為a(1)=2;a(2)=2); b(i)=input(b= (書上值為b(1)=pi/4;b(2)=0);n(i)=input(n= (書上值為n(1)=2;n(2)=3)rho(i,:)=a(i)*cos(b(i)+n(i)*theta); %因變量方程 subplot(1,2,i),polar(theta,rho(i,:); %繪圖end極坐標繪圖程序的輸出圖形運行并輸入不同參數(shù)的結(jié)果如圖5-1-2。a=2;b=pi/4;n=2(四葉玫瑰線)a=2; b=0; n=3(三

4、葉玫瑰線)行星軌道的繪制 【例【例5-2-2】 根據(jù)開普勒定律,當忽略其他天體引力,在根據(jù)開普勒定律,當忽略其他天體引力,在一個大天體引力下的小天體應(yīng)該取橢圓、拋物線或雙曲線一個大天體引力下的小天體應(yīng)該取橢圓、拋物線或雙曲線軌道。它相對于大天體的極坐標位置應(yīng)滿足下列方程:軌道。它相對于大天體的極坐標位置應(yīng)滿足下列方程:其中其中為偏心率,為偏心率,為常數(shù),為常數(shù),為向徑而為向徑而為極角,所取為極角,所取的軌道形狀由偏心率決定。試畫出天體軌道,討論參數(shù)的軌道形狀由偏心率決定。試畫出天體軌道,討論參數(shù),對軌道形狀的影響。對軌道形狀的影響。 解:建模:解:建模: 移項,將方程變換為移項,將方程變換為

5、其中自變量為其中自變量為theta,因變量為,因變量為rho。beta和和epsilon為參為參數(shù)。數(shù)。cos1cos行星軌道繪制程序exn522theta=0:0.1:2*pi; % 產(chǎn)生自變量向量beta= input(beta= (取為1); for i=1:3% 設(shè)置小于1,等于1,大于1的三種偏心率epsilon=input(epsilon= (依次取為0.5,1,1.5);rho=beta./(1- epsilon.*cos(theta); %求因變量 subplot(1,3,i),polar(theta,rho); %繪圖end行星軌道繪制程序運行的結(jié)果 其中第三個圖比例尺太大,

6、看不出原點附近的情況。因此鍵入改變圖形比例尺的語句:subplot(1,3,3),axis(-2,2,-2,2) 改變beta將成比例地改變軌道的直徑。直角坐標系中橢圓的繪制 直角坐標中的橢圓方程為: 繪圖時把y表示為x的顯函數(shù) 這里正負號必須都要考慮,否則畫出的橢圓就少了一半。設(shè)a=3,b=2,程序可編寫如下: x=linspace(-pi,pi,1001);% 自變量數(shù)組 y1=2*sqrt(1-x.2/32); % 上半部因變量計算 y2=-2*sqrt(1-x.2/32);% 下半部因變量計算 plot(x,y1;y2),grid on % 兩半圖都畫 axis equal% x,y軸

7、同比例22221xyab221/ybxa 參數(shù)法繪制直角坐標中的橢圓 用參數(shù)方程的形式作圖也許更為方便,因為它不必考慮開方的正負號和出現(xiàn)的虛數(shù)。橢圓的參數(shù)方程形式如下: 因此自變量可以設(shè)為theta,其范圍為02。theta= linspace(-pi,pi,1001);plot(3*cos(theta),2*sin(theta),%省略了變量a,bgrid on,axis equal 得出的圖形是一樣的。 cos ,sinxayb二二次曲面的畫法二二次曲面的畫法 【例【例5-2-3】 二次曲面的方程如下二次曲面的方程如下 要求討論參數(shù)要求討論參數(shù)a,b,c對其形狀的影響對其形狀的影響,并畫出

8、其圖形。并畫出其圖形。 解:原理解:原理 數(shù)學(xué)模型很清楚,關(guān)鍵在于如何作出三維曲數(shù)學(xué)模型很清楚,關(guān)鍵在于如何作出三維曲面圖形。首先是自變量面圖形。首先是自變量x和和y不再是一維數(shù)組,而要設(shè)置成不再是一維數(shù)組,而要設(shè)置成二維的矩陣二維的矩陣(網(wǎng)格網(wǎng)格)。其次從上題中知道,在按給定。其次從上題中知道,在按給定x,y求求z時有開方運算,有正有負,都要考慮在內(nèi):時有開方運算,有正有負,都要考慮在內(nèi): 按此式計算,一是有正負兩個解,這在上例中已經(jīng)談到;按此式計算,一是有正負兩個解,這在上例中已經(jīng)談到;二是在二是在x,y取某些值時,取某些值時,z會出現(xiàn)虛數(shù)。為了使虛數(shù)不出現(xiàn)會出現(xiàn)虛數(shù)。為了使虛數(shù)不出現(xiàn)在在

9、surf中,把中,把z的實部的實部z1=real(z)作為三維繪圖的因變量。作為三維繪圖的因變量。 2222221xyzabc22221/zcxayb 畫圓錐曲面的程序exn523% a,b為實數(shù)時得橢球,a為虛數(shù)時得鞍面,a,b為虛數(shù)時得雙曲面,a=input(a=);b=input(b=); % 輸入?yún)?shù)a,b,c,c=input(c=);N=input(N=); % N為網(wǎng)格線的數(shù)目xgrid= linspace(-abs(a),abs(a),N); % 建立x網(wǎng)格坐標ygrid= linspace(-abs(b),abs(b),N); % 建立y網(wǎng)格坐標x,y=meshgrid(xgr

10、id,ygrid); % 自變量x,y矩陣z=c*sqrt(1-y.*y/b/b-x.*x/a/a); % 因變量矩陣z1=real(z);% 取z的實部z1去掉虛數(shù))surf(x,y,z1),hold on % 畫正負兩半空間曲面surf(x,y,-z1); exn523參數(shù)不同時生成的圖形用參數(shù)方程生成的橢球 【例【例5-2-4】 與上述等價的橢球參數(shù)方程為:與上述等價的橢球參數(shù)方程為: 其中其中u的取值范圍為的取值范圍為02,其幾何意義是球面上,其幾何意義是球面上任何點向徑的投影在任何點向徑的投影在xy平面上的方位角,即相當平面上的方位角,即相當于上例中的于上例中的。v的取值范圍是的取值

11、范圍是-+,其幾何意,其幾何意義是球面上任何點向徑的俯仰角。這個參數(shù)方程義是球面上任何點向徑的俯仰角。這個參數(shù)方程避開了上下兩半個橢球不同方程的銜接問題,使避開了上下兩半個橢球不同方程的銜接問題,使它成為連續(xù)平滑過渡的同一個方程,既簡化了程它成為連續(xù)平滑過渡的同一個方程,既簡化了程序,畫出的圖形也漂亮得多。序,畫出的圖形也漂亮得多。 cos sin ,sin sin ,cosxauvybuvzcv用參數(shù)方程畫橢球的程序程序exn524a=3,b=2,c=4,u=linspace(0,2*pi,20);% u設(shè)為列向量v=linspace(-pi,pi,20);% v設(shè)為行向量x= a*cos(

12、u)*sin(v);% x為length(u)length(v)矩陣y= b*sin(u)*sin(v);% y為與x同階的矩陣z= c*ones(size(u)*cos(v); % z也為與x同階的矩陣mesh(z,x,y)axis equal 程序exn524生成的圖形 執(zhí)行這個程序所得到的圖形如右,雖然我們對u,v的分割取的是20份,并不特別細。但是圖形卻是非常光滑的。參數(shù)方程繪曲面的要點 (1)。二維參數(shù)作為自變量必須構(gòu)成二維向量,也就是要能構(gòu)成一個矩陣,而不能是一個向量。因此要由一個自變量的列向量乘以另一個自變量的行向量來構(gòu)成自變量矩陣。在本程序中,我們將u設(shè)為列向量,v設(shè)為行向量,

13、x和y的表示式中本來就有u和v的函數(shù)的乘積,它們就自然構(gòu)成了u向量長度和v向量長度相乘階數(shù)的矩陣。 (2)。對于z,它的表達式中只有v,沒有u。如果程序中簡單地用z=c*cos(v),那得出的z將是與v同長度的行向量,不是矩陣,與x及y中的元素數(shù)目完全不同,無法放在一起畫曲面。其實z的表達式中沒有u,表示它與u無關(guān),所以用一個階數(shù)與u相同的全么向量ones(size(u)去左乘它,就可以使z的階數(shù)與x及y相同,且不影響z的值。 參數(shù)方程繪曲面另一程序%程序exn524a:clear,clfu=0:0.03:3;v=linspace(0,2*pi); x=u*cos(v);y=u*sin(v);

14、z=exp(-u.*u*ones(size(v)/2);mesh(x,y,z)axis(-3,3,-3,3,-1,1)set(gcf,color,w)三空間兩曲面的交線三空間兩曲面的交線 【例【例 5-2-5】 給出空間兩曲面方程給出空間兩曲面方程z1=f1(x,y)及及z2=f2(x,y),列出繪制兩曲面及其交線的,列出繪制兩曲面及其交線的MATLAB程序。程序。 解:方法解:方法 兩空間曲面方程聯(lián)立起來,就形成一個空間兩空間曲面方程聯(lián)立起來,就形成一個空間曲線的方程,這個曲線能滿足兩個曲面的方程,因而也就曲線的方程,這個曲線能滿足兩個曲面的方程,因而也就是這兩個空間曲面的交線。顯示這兩個曲

15、面,可用兩次是這兩個空間曲面的交線。顯示這兩個曲面,可用兩次mesh語句,之間有一條語句,之間有一條hold on語句即可。語句即可。 要顯示其交線,必須先找到各個交點。因為數(shù)值計算得到要顯示其交線,必須先找到各個交點。因為數(shù)值計算得到的是離散點,難于找到兩曲面上的完全重合的點,本程序的是離散點,難于找到兩曲面上的完全重合的點,本程序采用了設(shè)置門限的方法,只要同樣網(wǎng)格點處兩曲面的采用了設(shè)置門限的方法,只要同樣網(wǎng)格點處兩曲面的z值值之差小于設(shè)定門限,就認為它是交點,門限值要試驗幾次之差小于設(shè)定門限,就認為它是交點,門限值要試驗幾次才能定得好才能定得好 繪制兩曲面交線的程序exn525 %本程序給

16、出兩個空間曲面的交線,方程 %給出不同的z1,z2方程,畫出不同的空間曲面和曲線。 clear,clf x,y=meshgrid(-2:.1:2);% 確定計算和繪圖的定義域網(wǎng)格 z1=x.*x-2*y.*y;%第一個曲面方程 z2=2*x-3*y;%第二個曲面方程平面) mesh(x,y,z1);hold on;mesh(x,y,z2);%分別畫出兩個曲面保持坐標比例不變) r0=abs(z1-z2)=.1;%求兩曲面z坐標差小于0.1的網(wǎng)格矩陣 zz=r0.*z1;yy=r0.*y;xx=r0.*x; %求這些網(wǎng)格上的坐標值,即交線坐標值 plot3(xx,yy,zz,x);%畫出這些點

17、colormap(gray),hold off set(gcf,color,w)程序exn525生成的圖形通用的畫曲面交線程序exn525a 如果改變曲面方程,可以在程序中改動第二和第三行。這究竟不好,程序還不能說是通用的。應(yīng)該使程序運行時向用戶提問,允許用戶輸入曲面的方程。此時就要用到字符串功能和eval命令。 s1=input(輸入方程語句1,s); s2=input(輸入方程語句1,s); 在原來的z1,z2方程語句處改為 z1 = eval(s1);z2= eval(s2); 這樣就可以得出繪制兩個任意曲面的交線的程序exn525a。此外,最好讓用戶能給出定義域和間隔。這比較簡單,只要

18、把第一句改為: x,y=meshgrid(xmin:dx:xmax,ymin:dy:ymax);等高線和方向?qū)?shù)梯度的繪制 【例【例5-2-6】 畫出多個水平截面與馬鞍面畫出多個水平截面與馬鞍面 的的交線,討論它們的意義。交線,討論它們的意義。 解解:方法方法 對上例的程序作如下修改。定義域網(wǎng)格改為對上例的程序作如下修改。定義域網(wǎng)格改為x,y=meshgrid(-10:.2:10);第一個曲面方程改為第一個曲面方程改為z1=(X.2-2*Y.2)+eps; 第二個曲面平面方程改為與第二個曲面平面方程改為與z軸正交的水平面軸正交的水平面z2=a;為了畫為了畫z2平面,應(yīng)使平面,應(yīng)使z2與與x,y

19、有同有同樣的維數(shù),故寫成樣的維數(shù),故寫成z2=a*ones(size(x),a可由用戶輸入??捎捎脩糨斎?。 水平平面與曲面的交線有一個重要的名稱,就是等高線。水平平面與曲面的交線有一個重要的名稱,就是等高線。MATLAB三維繪圖庫中有繪制等高線的命令三維繪圖庫中有繪制等高線的命令contour和和contour3,前者是把等高線畫在,前者是把等高線畫在xy平面上,后者則是把平面上,后者則是把等高線畫在該高度的平面上,使之具有立體的、與所在曲等高線畫在該高度的平面上,使之具有立體的、與所在曲面對應(yīng)的部位。本題中用面對應(yīng)的部位。本題中用subplot命令把曲面和交線分別命令把曲面和交線分別畫在兩張

20、圖上,又把相應(yīng)的立體化的等高線畫在第三張子畫在兩張圖上,又把相應(yīng)的立體化的等高線畫在第三張子圖上,以便于比較。,圖上,以便于比較。,222zxy繪制等高線的程序exn526x,y=meshgrid(-10:.2:10); % 確定定義域網(wǎng)格z1=(x.2-2*y.2)+eps;% 第一個曲面方程a=input(a= (-50a50) );%a 取-50a50中的某一個值z2=a*ones(size(x); %第二個曲面方程平面)subplot(1,3,1),mesh(x,y,z1);hold on;mesh(x,y,z2); %分別畫出兩個曲面r0=abs(z1-z2) x0= roots(3

21、,6,-9) x0 = -3.0000, 1.0000 y0=roots(-3,6,0) y0 = 0 2知極值點應(yīng)在A(-3,0),B(-3,2),C(1,0),D(1,2)四處, 0,0 xyff223690,360 xxyy及多變量函數(shù)的極值程序多變量函數(shù)的極值程序exn526 %畫出-4,4-4,4的區(qū)域內(nèi)曲面f(x,y)的形狀。 x,y=meshgrid(-4:.1:4); f = x.3-y.3+3*x.2+3*y.2-9*x ,mesh(x,y,f) %計算A,B,C,D四點的函數(shù)fm及其各階偏導(dǎo)數(shù): xm=-3,-3,1,1; ym=0,2,0,2; fm=xm.3-ym.3+

22、3*xm.2+3*ym.2-9*xm fxm = 3*xm.2+6*xm-9, fym = -3*ym.2+6*xm, fxxm = 6*xm+6, fyym = -6*ym+6,fxym = 0, dis = fxxm.*fyym-(fxym.2)例【5.2.7】的空間曲面多變量函數(shù)的極值多變量函數(shù)的極值(續(xù)續(xù)3) 最后一項dis是極點性質(zhì)的判別式,dis0時為極值點。Dis0時,若fxxm0,fm為極小值,若fxxm0,fm為極大值。 運行此程序exn527得到fm = 27, 31, -5, -1, fxxm = -12,-12,12,12,fyym = 6,-6,6,-6,fxym=0

23、。判別式dis= =-72,72,72,-72,說明只有B,C點是極值點。B點兩個方向的二階導(dǎo)數(shù)均為負,是極大值31;C點兩個方向的二階導(dǎo)數(shù)均為正,是極小值-1。A,D兩點則是鞍點。方法二:等高線法:程序exn527a x,y=meshgrid(-5:0.5:3,-3:0.5:5); z=x.3-y.3+3*x.2+3*y.2-9*x; % 畫出等高線圖和彩色標尺圖 contour(x,y,z,20), colorbar,hold on,grid on plot(-3,1,1,-3,0,0,2,2,o) % 以0.2步長求z1的梯度的x,y分量 px,py = gradient(z,.2,.2

24、); % 畫出梯度向量圖 quiver(x,y,px,py)例5.2.7的等高線和梯度圖程序exn527a執(zhí)行的結(jié)果討論 程序運行后得到圖5-2-7b。在彩色屏幕上,用顏色表示等高線值的大小,旁邊的彩色標尺標示了不同的顏色所對應(yīng)的z值。在黑白印刷的書上,只好藉助于梯度向量圖。在極值點,梯度為零,在極值點的附近,等高線應(yīng)圍繞它,呈閉合形式而梯度箭頭應(yīng)都指向該點極大值),或者背離該點極小值)。如果某點梯度為零,但等高線不是環(huán)繞而是通過它,而既有部分梯度向量指向它,又有部分梯度向量背離它,那它就不是極值點而是鞍點。由這些準則,很容易看出B處是極大值位置而C是極小值位置,而A,D兩點則是鞍點。五柱面的

25、繪制五柱面的繪制 通常要畫的柱面是平行于某個坐標軸的,這時方程中將不出現(xiàn)這個變量,例如在三維空間中方程表示的是平面曲線沿z向無限延伸的柱面。在方程中沒有在z,此時三維曲面的繪制需要一點技巧,可從下面的例中看到。 【例5-2-8】 畫出下列方程所表示的三維空間中的柱面:(a) , (b) ,22zx2222112xy小題(a)的自變量矩陣設(shè)置 (a) X是一個自變量矩陣,而Z則是因變量,所以另一個自變量矩陣必定是Y。自變量平面是xy平面,其中x是真正的自變量而y軸是柱面方向。設(shè)定列向量u為x軸方向,行向量v為y軸方向。X矩陣由列向量u與一個長度同v的全么行向量相乘構(gòu)成,Y矩陣由長度與u向量相同的

26、全么列向量與v行向量相乘構(gòu)成,生成的X,Y取值用圖5-2-9a給出,要注意的是此處的橫坐標恰好對應(yīng)于X,Y中的列向量,圖形和矩陣排列的位置恰好轉(zhuǎn)了90度。而Z則由x與y之間的函數(shù)關(guān)系確定。 解(a)的程序語句如下:u=linspace(-5,5,10); v=linspace(-5,10,10);X=u*ones(size(v);Y=ones(size(u)*v;Z=2-X.2;subplot(1,2,1),mesh(X,Y,Z)此程序運行的結(jié)果得到圖5-2-8b中的左圖。它是一個沿y軸的柱形曲面。 小題(b)的自變量矩陣設(shè)置 X是一個自變量矩陣,而是一個自變量矩陣,而Y則是因變量,所則是因變

27、量,所以另一個自變量矩陣必定是以另一個自變量矩陣必定是Z。自變量平面。自變量平面是是xz平面平面,而而z軸是柱面方向。軸是柱面方向。X矩陣由列向矩陣由列向量量u與一個長度同與一個長度同v的全么行向量相乘構(gòu)成,的全么行向量相乘構(gòu)成,Z矩陣由長度與矩陣由長度與u向量相同的全么列向量與向量相同的全么列向量與v行向量相乘構(gòu)成,而行向量相乘構(gòu)成,而Y則由則由x與與y之間的函數(shù)之間的函數(shù)關(guān)系確定。因為函數(shù)關(guān)系的開方包含正負關(guān)系確定。因為函數(shù)關(guān)系的開方包含正負兩個分量,要分別用兩個分量,要分別用Y1,Y2表示,并分別畫表示,并分別畫圖。圖。 解(b)的程序語句如下: X1=u*ones(size(v); 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論