MATLAB作图数学建模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xxxxxxxx 学院 实验报告
学期:14至15第2学期 时间: 2007年 5月4 日 课程名称: 数学建模 专业:数学
实验编号: xxxxx 指导教师: xxxxx 实验项目: Matlab 作图 姓名:xxxxxx 学号:xxxxxxx
班级: xxxx 级xxx 班 实验成绩:___________
一、实验目的及要求
1.掌握二维图形的绘制。
2.掌握图形的标注
3.了解三维曲线和曲面图形的绘制。
二、实验内容
1、在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:1、在图形上加格栅、图例和标注
2、定制坐标
3、以不同角度观察马鞍面
2、以不同的视角观察球面 2
222r z y x =++ 和圆柱面rx y x =+22 所围区域。
三、实验步骤(该部分不够填写.请填写附页)
(1) 安装matlab ,如果已安装好,可以跳过此步;
(2) 进入matlab 的编辑窗口,进行基本的环境设置;
(3)编写程序,运行并调试。
(4)得出实验结果。
(5) 编写实验报告。
四、程序设计
1、在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:1、在图形上加格栅、图例和标注
2、定制坐标
3、以不同角度观察马鞍面
解答:
编写程序:
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','Location','NorthWest') xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
axis([-40 20 -40 20 -1000 1500]) setAllowAxesRotate(rotate3d,ax1,false); grid on
运行结果:
1、以不同角度观察马鞍面
编写程序:
clc;clear;
a=10;
b=10;
x=-1.5:0.1:1.5;
y=-1.5:0.1:1.5;
[X,Y]=meshgrid(x,y);
Z=X.^2/a-Y.^2/b;
figure(2);
subplot(221);
surf (X,Y,Z);title('马鞍面'); xlabel('x');ylabel('y');
subplot(222);
surf (X,Y,Z);title('马鞍面'); xlabel('x');ylabel('y');
view(20,30);
subplot(223);
surf (X,Y,Z);title('马鞍面'); xlabel('x');ylabel('y');
view(50,20);
subplot(224);
surf (X,Y,Z);title('马鞍面'); xlabel('x');ylabel('y');
view(60,10);
grid on
运行结果:
2、 以不同的视角观察球面2222r z y x =++ 和圆柱面rx y x =+22所围区域。
方法一:
编写程序:
clear
[x,y,z]=sphere(200);
i=find(x.^2+y.^2-x>=0&x.^2+y.^2+z.^2<1);
z(i)=NaN;
mesh(x,y,z)
hold on
t=0:pi/20:2*pi;
x=(cos(t)+1)/2;
y=sin(t)/2;
z=linspace(-1.2,1.2,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z)
xlabel('x'),ylabel('y'),zlabel('z')
title('球面 X^2+Y^2+Z^2=1和圆柱面X^2+Y^2=X 所围成的区域') rotate3d on
运行结果:
方法二:
编写程序:
clear [X,Y,Z]=sphere(20);
mesh(X,Y,Z)
hidden on
hold on
axis equal
t=0:pi/20:2*pi;
x=(cos(t)+1)/2;
y=sin(t)/2;
z=linspace(-1.2,1.2,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z)
xlabel('x'),ylabel('y'),zlabel('z')
rotate3d on
方法三:
编写程序:
[x,y,z]=sphere(200);
i=find(x.^2+y.^2-x<=0&x.^2+y.^2+z.^2>=1);
z(i)=NaN;
mesh(x,y,z)
hidden on
hold on
ezplot('x^2+y^2=x')
title('球面X^2+Y^2+Z^2=1和圆柱面X^2+Y^2=X所围成的区域') rotate3d on