MATLAB选修课讲义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
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曲面)