实验2数学实验.docx
《实验2数学实验.docx》由会员分享,可在线阅读,更多相关《实验2数学实验.docx(8页珍藏版)》请在冰点文库上搜索。
实验2数学实验
SNJ
]\\\]
\
]]
\《数学实验》实验报告
实验题目:
实验二MATLAB绘图
报告人:
学号:
118632011049姓名:
黄秀清
一、实验目的
熟悉matlab的绘图方法
二、实验内容
1、分别用plot,fplot绘制函数
图形。
2、用surf,mesh绘制曲面
。
3、在同一窗口的两个区域分别画出心型线
和马鞍面
(a,b的值可以自选)。
要求
(1)图形上加网格、图例和标注。
(2)以不同的角度观察马鞍面。
4、以三叶玫瑰线
为基础,使用三个动画制作函数,编程实现一个不断旋转的三叶玫瑰线。
(可以参考donghua.m程序)
三、问题求解与分析
(针对每个问题给出M文件,给出结果和说明)
第一题
老师:
x=-2*pi:
pi/100:
2*pi;
y=cos(tan(pi*x.^3));
subplot(2,1,1)
plot(x,y,'r')
subplot(2,1,2)
fplot('cos(tan(pi*x^3))',[-2*pi2*pi])
M文件:
x=-pi:
5/20:
pi
y=cos(tan(pi*x.^3));
plot(x,y)
运行结果:
M文件:
fplot('cos(tan(pi*x.^3))',[-3,3])
运行结果:
第二题:
老师:
x=-20:
1:
20;
y=-20:
1:
20;
[xy]=meshgrid(x,y);
z=2*x.^2+2*y.^2;
subplot(1,2,1)
surf(x,y,z)
subplot(1,2,2)
mesh(x,y,z)
M文件:
[x,y]=meshgrid(-10:
0.6:
10);
z=2*x.^2+2*y.^2;
mesh(x,y,z)
运行结果:
M文件:
[x,y]=meshgrid(-10:
0.6:
10);
z=2*x.^2+2*y.^2;
surf(x,y,z)
运行结果:
第三题:
老师:
subplot(2,2,1)
ezplot('x^2+y^2+3*x-3*sqrt(x^2+y^2)')
axisequal%等坐标刻度
gridon
legend('心型线')
subplot(2,2,2)
ezmesh('x.^2/25-y.^2/25',[-3030])
subplot(2,2,3)
ezmesh('x.^2/25-y.^2/25',[-3030])
view(30,15)
subplot(2,2,4)
ezmesh('x.^2/25-y.^2/25',[-3030])
view(-60,-30)
M文件:
clear
ax1=subplot(1,2,1);
t=0:
.01*pi:
2*pi;
f1=polar(t,1+cos(t));
title('心形线');
legend(f1,'r=1+cost')
ax2=subplot(1,2,2);
x1=linspace(-40,20,40);
y1=linspace(-40,20,40);
[xx1,yy1]=meshgrid(x1,y1);
zz1=xx1.*yy1;
f2=surf(xx1,yy1,zz1);
title('马鞍面');
legend(f2,'z=x^2-y^2','westnorth')
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
axis([-4020-4020-10001500])
setAllowAxesRotate(rotate3d,ax1,false);
gridon
运行结果:
第四题:
老师:
n=30;
m=moviein(n);
theta=0:
0.05:
pi;
fori=1:
n
r=5*cos(3*theta+pi*i/4);
polar(theta,r,'r');
m(:
i)=getframe;
end
movie(m,10,30);
M文件:
n=30;
m=moviein(n);
fora=1:
n
t=0:
0.001:
2*pi;
r=3*cos(3*t+pi*a/3);
polar(t,r);
m(:
a)=getframe;
end
movie(m,30);
运行结果:
四:
总结
(实验的体会和想法)
体会:
很多制作函数的使用还不熟练,对于复杂的函数如第三题不懂得转化。