一般画函数或方程式之图形讲解.docx

上传人:b****6 文档编号:8191344 上传时间:2023-01-29 格式:DOCX 页数:19 大小:454.67KB
下载 相关 举报
一般画函数或方程式之图形讲解.docx_第1页
第1页 / 共19页
一般画函数或方程式之图形讲解.docx_第2页
第2页 / 共19页
一般画函数或方程式之图形讲解.docx_第3页
第3页 / 共19页
一般画函数或方程式之图形讲解.docx_第4页
第4页 / 共19页
一般画函数或方程式之图形讲解.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

一般画函数或方程式之图形讲解.docx

《一般画函数或方程式之图形讲解.docx》由会员分享,可在线阅读,更多相关《一般画函数或方程式之图形讲解.docx(19页珍藏版)》请在冰豆网上搜索。

一般画函数或方程式之图形讲解.docx

一般画函数或方程式之图形讲解

Chapter5.繪圖

5.1一般畫函數或方程式之圖形,都是先標上幾個圖形上的點,進而再將點連接即為函數圖形,其點愈多圖形越平滑。

MATLAB在簡易2維畫圖(plot),也是相同做法,必須先點出x和y座標(離散資料),再將這些點連接,語法如下:

若取圖形上n個點

,則x=(x1,x2,…,xn),y=(y1,y2,…,yn)

plot(x,y)%x為圖形上之x座標向量,y為其對應的y座標向量

Review:

快速產生一維A陣列資料方法有二

1)利用V=[a:

b:

c]即以a起始,間格為b,至c結束。

(若後面間格位坐落在c,則不包含)。

<方便做等間格資料點>

2)X=linspace(a,b,n)%a代表起始點,b代表終點,n代表所取點的個數。

<方便做固定資料數>

 

例1:

繪y=sin(x)圖,x=0~2π,依序分別取5,10,100個資料點個別畫出。

>>x5=linspace(0,2*pi,5);%在0到2π間,等分取5個點

>>y5=sin(x5);%計算x的正弦函數值

>>plot(x5,y5);%進行二維平面描點作圖

 

 

>>figure;%開新畫圖視窗

>>x10=linspace(0,2*pi,10);%在0到2π間,等分取10個點

>>y10=sin(x10);%計算x的正弦函數值

>>plot(x10,y10);

 

>>figure;%開新畫圖視窗

>>x100=linspace(0,2*pi,100);%在0到2π間,等分取100個點

>>y1000=sin(x10);%計算x的正弦函數值

>>plot(x100,y100);

 

>>plot(x,sin(x),x,cos(x))%進行多條曲線作圖,輸入依序為各曲線的x,

%y值

 

提示:

>>figure%開另一視窗繪圖

5.2快速方程式畫圖(fplot,ezplot)

5.2.1fplot:

單純畫方程式圖形,圖形上之(x,y)座標值會自動取,但必須輸入x座標的範圍,其指令如下:

fplot(‘函式’,[xmin,xmax,ymin,ymax])%繪出函式圖形,x軸的範圍取xmin到%xmax,y軸的範圍取ymin到ymax

例1:

繪出

圖形

>>fplot('x-cos(x^3)-sin(2*x^2)',[-3,3])%繪出

圖形

 

5.2.2ezplot:

類似fplot,可以繪出y=f(x)顯函數,也可繪出f(x,y)=0隱函數以及參數式。

指令如下:

ezplot(‘函式’)

ezplot(‘函式’,[xmin,xmax,ymin,ymax])%繪出函式圖形,x軸的範圍取xmin

%到xmax

ezplot(‘x參數式’,’y參數式’,[tmin,tmax])%繪出參數式圖形,t範圍取tmin

%到tmax

例1:

利用ezplot繪出f(x)=x2

>>ezplot('x^2')

 

提示:

在’’內不需要寫成先前x.^2元素對元素的形式,方程式直接像打計算機操作一樣。

例2:

利用ezplot繪出f(x,y)=x2-y=0

>>ezplot('x^2-y',[-66-28])%繪出

,若不設x或y範圍,則為預%設的

 

例3:

利用ezplot繪出參數式

,t取0~

範圍的圖形。

>>ezplot('cos(2*t)','sin(6*t)',[0,pi])%繪

,t取0~

 

------------------------------------------------------------------------------------------------------------------

隨堂考:

Q1.繪出f(x)=

,x範圍為-10~10,並且標明x座標、y座標、網格。

Q2.繪出

,x範圍為-10~10,並且標明x座標、y座標、

網格。

------------------------------------------------------------------------------------------------------------------

5.3繪圖控制指令

基本二維繪圖指令

指令

說明

plot

X軸和Y軸均為線性刻度

semilogx

X軸為對數刻度,Y軸為線性刻度

semilogy

X軸為線性刻度,Y軸為對數刻度

 

例1:

,其中資料點在1~10之間,y座標為對數刻度。

>>x=linspace(1,10);

>>y=exp(x);

>>semilogy(x,y);%使y軸為對數刻度,並作圖,y值為

 

------------------------------------------------------------------------------------------------------------------

隨堂考:

Q1.繪出y=cos(x),利用linspace做出資料點x在-6~6,共50點。

Q2.承Q1.同上做法一起繪出y=cos(x)與y=e-x在同畫圖區。

------------------------------------------------------------------------------------------------------------------

5.4圖形控制:

plot指令除了接受x及y座標外,還可接受一個字串輸入,用以控制曲線的顏色、格式及線標,其使用語法如下:

plot(x,y,'CLM')

其中C代表曲線的顏色(Colors),L代表曲線的格式(LineStyles),

M代表曲線所用的線標(Markers)。

’顏格標’

 

solidline

dashline

dotline

dash-dotline

 

 

例1:

繪y=sin(x),其中資料點x在0~4π間,間格為0.5,並且取線為黑色虛線,資料點用x標明。

>>x=0:

0.5:

4*pi;%x向量的起始與結束元素為0及4π,0.5

%為各元素相差值

>>y=sin(x);

>>plot(x,y,'k:

x')%其中「k」代表黑色,「:

」代表點線,而

%「x」則指定菱形為曲線的線標

 

5.5建立子圖形(subplot):

若要在同一個視窗畫出多個子圖形即用subplot(m,n,a)和plot,表示將視窗劃分為mxn個區域,plot(x,y)即畫所給圖形在第a個區域。

例1:

一視窗多張圖,利用subplot依序繪出

四個函式。

>>x=0:

0.1:

4*pi;

>>subplot(2,2,1);plot(x,sin(x));%一個視窗分割成4個圖形,此為左上角圖形

>>subplot(2,2,2);plot(x,sin(2*x));%此為右上角圖形

>>subplot(2,2,3);plot(x,sin(4*x));%為左下角圖形

>>subplot(2,2,4);plot(x,sin(8*x));%此為右下角圖形

subplot(2,2,2)

subplot(2,2,1)

 

subplot(2,2,3)

subplot(2,2,4)

 

------------------------------------------------------------------------------------------------------------------

隨堂考:

Q1.利用subplot依序繪出y=sin(x),y=cos(x),y=sin(x)-cos(x),y=cos(x)-sin(x),其中所有圖的x點座標皆為-3π~3π(間格為0.1)。

------------------------------------------------------------------------------------------------------------------

5.6加入說明文字,網格

 

 

例1:

利用subplot只要一畫圖區域,並在此畫圖區繪上兩函式,分別

,並寫上x軸、y軸,並在圖上方標示’兩個Function’。

>>subplot(1,1,1);

>>x=0:

0.1:

2*pi;

>>y1=sin(x);

>>y2=exp(-x);

>>plot(x,y1,'--*',x,y2,':

o');

>>xlabel('radian');%寫出x座標標示

>>ylabel('sinevalue');%寫出y座標標示

>>title('y=sinxandy=e^{-x}');%寫出此圖形代表標題

>>legend('sin(x)','e^{-x}');

>>gridon%繪上網格

 

提示:

>>若要標示上標,要用{}框起,例ex‘e{-x}’

 

5.7極座標與三度空間畫圖:

polar(theta,r)%輸入theta、r值,繪出極座標

plot3(x,y,z)%輸入x,y,z資料,繪出3D曲線圖

surf(x,y,z)%輸入x,y,z資料,繪出3D曲面圖

例1:

極座標圖

>>theta=linspace(0,2*pi);

>>r=cos(4*theta);

>>polar(theta,r);%極座標繪圖

 

例2:

繪出

,x,y範圍在-2~2之間,試用plot3與surf比較兩者差異。

提示:

meshgrid(x,y)%做出x,y座標所交集的網格點座標

>>[x,y]=meshgrid(-2:

0.1:

2);

>>z=y.*exp(-x.^2-y.^2);

>>plot3(x,y,z);

 

>>figure

>>surf(x,y,z);

 

3D曲線圖

這邊教的是如何繪製空間中曲線。

ezplot3(x,y,z)%繪x=x(t),y=y(t),andz=z(t)0

ezplot3(x,y,z,[tmin,tmax])

plot3(x,y,z)%輸入x,y,z資料,繪出3D曲線圖

例1:

>>t=0:

pi/50:

10*pi;

>>plot3(sin(t),cos(t),t)

例2:

>>ezplot3('cos(2*pi*t)','sin(2*pi*t)','t',[0,6])

3D網格圖和曲面圖

mesh(x,y,z)%x:

函數圖形上x座標y:

函數圖形上y座標z:

函數圖形上z座標

surf(x,y,z)%x:

函數圖形上x座標y:

函數圖形上y座標z:

函數圖形上z座標

例1:

繪此圖

>>[xxyy]=meshgrid(-2:

0.25:

2,-3:

0.25:

3);%meshgrid(x座標點,y座標點)做網格語法

%xx:

x座標yy:

y座標

>>plot(xx,yy,'b.');%顯示網格點之分布

 

>>z=((36-9*xx.^2-4*yy.^2).^0.5)/3;%計算每個網格點之Z值,切記要加.為矩

%陣計算

>>mesh(xx,yy,z)

 

>>surf(xx,yy,z)%另一3D畫圖

例2:

繪此圖

>>[xxyy]=meshgrid(-4:

0.5:

4,-4:

0.5:

4);

>>z=yy.^2-xx.^2;

>>surf(xx,yy,z)

例3:

繪此f(x,y)以及計算圖形體積(體積下一章說明)。

>>[xxyy]=meshgrid(0:

0.5:

4,0:

0.5:

8);

>>z=(64-8*xx+yy.^2)/16;

>>surf(xx,yy,z)

(可在視窗調整)

 

5.8其他表示三維之圖形展現

ezsurf(‘方程式’)%快速繪出

之圖形

ezsurfc(‘方程式’,n)%快速繪出

之圖形,並含等值線

%n:

表示所取之網格數(

contour(X,Y,Z)%必須先有網格點之X,Y,Z座標,才能繪等值線

例1:

繪出

圖形利用ezsurf,並用ezsurfc與contour繪出等值線。

>>ezsurf('x*exp(-x^2-y^2)')

 

>>ezsurfc('x*exp(-x^2-y^2)',50)

>>[xxyy]=meshgrid(-3:

0.1:

3,-3:

0.1:

3);

>>z=xx.*exp(-x.^2-y.^2);

>>contour(xx,yy,z)%輪廓圖

--------------------------------------------------------------------------------------------------------------

隨堂考:

Q1.繪出

,x與y座標之間格都取0.2。

(利用surf)

Q2.繪出

圖形

--------------------------------------------------------------------------------------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1