MATLAB选修课讲义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二讲:函数作图

1、画曲线

◆平面曲线

(2) 函数作图

fplot('[tan(x),sin(x),cos(x)]',[-6 6 -6 6])

subplot(2,2,4),

fplot('sin(1 ./ x)', [0.01 0.1], 1e-3)

(3)符号作图

显函数ezplot('cos(x)', [0, 2*pi])

隐函数ezplot('1/y-log(y)+log(-1+y)+x - 1')

参数式ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',[0, pi])

◆空间曲线

(1) 描点作图

(2) 符号作图

参数式ezplot3('cos(t)', 't * sin(t)', 'sqrt(t)', [0,6*pi])

2、画曲面

◆x=-8:0.1:8; y=x;

[X,Y]=meshgrid(x,y); z=X.^2/16-Y.^2/9;

mesh(x,y,z); surf(x,y,z)

◆ezmesh( 'x*exp(-x^2 - y^2)' )

ezsurf( 'exp(-s)*cos(t)', 'exp(-s)*sin(t)', 't', [0,8,0,4*pi] )

3、动画

getframe 抓拍画面

movie 播放画面

例:旋轮线的生成

clear; clf;

t=linspace(0,2*pi,96);

x=t-sin(t); y=1-cos(t);

plot(x,y,'r', [-1.1, 2*pi+1.1],[0,0], 'k',[0,0], [-1, 3], 'k');

axis equal;

pause

for k=1:96

plot(x(1:k), y(1:k),'r', [-1.1,2*pi+1.1],[0,0],'k', [0,0],[-1,3],'k');

text(2.7,3.3,'Cycloid'); axis equal; hold on;

plot(t(k)+cos(t),1+sin(t),'b', x(k),y(k),'k.', [t(k),x(k)],[1,y(k)],'b');

m(k)=getframe;

hold off

end

movie(m,0)

练习二:函数作图

1、画出下列函数表示的曲线:

(1)

22),2sin(22≤≤---=x x x x y (使用plot 和fplot 两种方法),

相应于

2,5.1,1,5.0,0,5.0,1,5.1,2----=x 的曲线上的点用红色

空心圆点标出 (2) 三条

线

)0(,sin ,3sin sin ,sin π≤≤-===x x y x x y x y ,

每条曲线加注标记区分; (3) 空间曲线 π20,2cos ,cos ,sin ≤≤===t t z t y t x ;

(4) 椭圆

19

42

2=+y x (使用两种方法)。 2、画出下列曲面图形 (1) 旋转抛物面 3,3,22≤≤-+=y x y x z ;

(2)

13

2,33,622232224≤≤-≤≤-+---++=y x y x y x y x x z ;

(3) 一幅图上同时画上半球面

4

222=++z y x 与柱面

1)1(22=+-y x )20(≤≤z ;

(4)

*

面)

2/s i

,s i n

3),2/cos(cos 3t u z t y t u t x ==+=,)11,20(≤≤-≤≤u t π,

这是什么曲面?

解答: 1(1)

x=-2:0.1:2;

y=x.^2.*sin(x.^2-x-2); plot(x,y); hold on x1=-2:0.5:2

y1=x1.^2.*sin(x1.^2-x1-2); plot(x1,y1,'ro') hold off figure

fplot('x^2*sin(x^2-x-2)',[-2,2]) hold on

plot(x1,y1,'ro')

hold off

1(2)

x=linspace(0,pi,50);

y1=sin(x);

y2=sin(x).*sin(3*x);

y3=-sin(x);

plot(x,y1,x,y2,x,y3)

legend('sin(x)','sin(x)sn(3x)','-sin(x)')

1(3)

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

1(4)

t=linspace(0,2*pi,50);

x=2*cos(t);y=3*sin(t);

plot(x,y);axis equal; axis([-4,4,-3.5,3.5])

ezplot('2*cos(t)','3*sin(t)',[0,2*pi]);axis equal;

ezplot('x^2/4+y^2/9-1'),axis equal; axis([-4,4,-3.5,3.5])

2(1)

ezmesh('x^2+y^2',[-3,3,-3,3])

(2)

ezmesh('x^4+3*x^2+y^2-2*x-2*y-2*x^2*y+6',[-3,3,-2,13])

(3)

ezmesh('1+cos(t)','sin(t)','z',[0,2*pi,0,2]);

axis equal; hold on

ezmesh('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',[0,pi/2,0,2*pi] )

hold off

ezsurf('cos(t)','-1+sin(t)','z',[0,2*pi,0,2]);axis equal; hold on ezsurf('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',[0,pi/2,0,2*pi] )

hold off

h1=ezsurf('1+cos(t)','sin(t)','u',[0,2*pi,0,2]);

hold on; axis equal; axis([-2,2,-2,2,0,2]);axis off;

h2=ezsurf('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',[0,pi/2,0,2* pi]);

hold off

view(130,10)

light('position',[2,1,2]);lighting phong

shading interp; camlight(-220,-170)

set(h2,'facecolor',[0,0.8,0])

set(h1,'facecolor',[1,0,0])

(4)

ezmesh('3*cos(t)+u*cos(t/2)','3*sin(t)','u*sin(t/2)',[0,2*pi,-1,1]);a xis([-4 4 -4 4 -3 3]) % 单侧曲面(如Mobius曲面)

相关文档
最新文档