用MATLAB绘图
- 格式:doc
- 大小:594.55 KB
- 文档页数:10
2011—2012学年第2学期
实验报告
课程名称: 工程应用数学B
实验名称: 用MATLAB绘图
实验类别: 综合型
专业班级:
实验地点: 8#403 实验时间: 2012.4.1
组 别: 第五组
指导教师: 成 绩:
一. 小组成员(具体分工)
姓名 学号 具体分工
实验步骤,实验程序
实验结果,实验总结
实验目的,实验内容
二. 实验目的
1.熟悉MATLAB程序的操作界面,了解MATLAB的基本功能。
2.简单掌握MATLAB语言,学会用MATLAB绘制书本中简单的图形。
三. 实验内容(要求)
1.使用MATLAB语言解决书本中的空间画图问题,即用MATLAB验证书中的图形。
2.按照老师要求设计数个图形程序。
四. 实验步骤(具体实施过程)
一:验证实验
Ⅰ.验证题目:①简单图形,双叶双曲面的参数方程为2tancos3tansin4secxyz, 其中
20WiRdt
②曲面与曲面相交,曲面222zxy与曲面225zxy的交线。
③球面2224xyz和柱面2211xy的交线。
Ⅱ.试验步骤
1.打开MATLAB,因为直接在MATLAB中输入命令要求极高,如出现错误无法删除,
还有不能随意换行达到美观效果,因此我们通常在notebook中输入命令。也可以就在
MATLAB主界面中打开file再点击new接着在new的菜单中选择script。
2.双叶双曲面简单的验证在MATLAB里输入命令即可,我一般选择script比较方便。
3.曲面与曲面相交空间立体感比较强,手绘图形没有立体感,用MATLAB验证。
4.球面与柱面的交线,比较难设计但是验证还是比较容易的,输入命令运行程序,在
script中点击连接即可,可以验证图形的正确性。
5. 验证试验后,将验证出的图形导出到试验报告中,并复制程序到报告中。
二:设计实验
Ⅰ.验证题目:①设计一个求抛物面222zxy和柱面221xy相交的图形程序。
②画出正四面体的图形。
③已知描述某连续系统的微分方程为'''2()()8()()ytytytft,试用MATLAB绘出该系统的冲击响应和阶跃响应的波形。
Ⅱ.如验证试验一样,把设计的程序输入到MATLAB命令窗口,运行程序。
五.实验程序(经调试后正确的源程序)
一、验证程序:
1. 简单图形,双叶双曲面的程序:
ezsurf('2*tan(u)*cos(v)','3*tan(u)*sin(v)','4*sec(u)',[-pi/2,3*pi/2,0,2*p
i]);
axis auto
2. 曲面与曲面的相交的程序:
[x,y]=meshgrid(-1:0.1:2);
z1=x.*x-2*y.*y;
z2=x.*x+y.*y-5;
mesh(x,y,z1);hold on;mesh(x,y,z2)
r0=(abs(z2-z1)<0.1);
zz=r0.*z1;yy=r0.*y;xx=r0.*x;
plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'k*')
colormap(cool);view(-137,-6)
3. 球面与柱面的交线的程序:
t=0:0.1:pi;
r=0:0.1:2*pi;
[u,v ]=meshgrid(t,r)
x=2*sin(u).*cos(v);
y=2*sin(u).*sin(v);
z=2*cos(u);
[p,q]=meshgrid(-pi/2:0.1:pi/2,-3:0.1:3)
x1=2*cos(p).^2;
y1=sin(2*p);
z1=q;
surf(x,y,z);
hold on;
surf(x1,y1,z1)
4. 验证结果:
(1)双叶双曲面
-20-1001020-20-1001020-30-20-100102030xx = 2 tan(u) cos(v), y = 3 tan(u) sin(v), z = 4 sec(u)yz
(2)曲面与曲面相交
-1012-1012-8-6-4-2024
(3)球面与柱面的交线
-2-1012-2-1012-3-2-10123
二、设计试验:
1.抛物面与柱面相交程序:
[p,q]=meshgrid(-4*pi:0.1:2*pi,-16:0.1:18);
x=cos(p);
y=sin(p);
z=q;
[x1,y1]=meshgrid(-4:0.1:4,-4:0.1:4);
z1=2-x1.^2-y1.^2;
mesh(x,y,z);
hold on;
mesh(x1,y1,z1)
2.四面体的程序:
clc;close all;
P1 = [1 0 0];
P2 = [0 sqrt(3) 0];
P3 = [-1 0 0];
P4 = [0 sqrt(3)/3 sqrt(6)*2/3];
x = [P1(1) P1(1) P2(1) P3(1);
P2(1) P2(1) P3(1) P1(1);
P3(1) P4(1) P4(1) P4(1)];
y = [P1(2) P1(2) P2(2) P3(2);
P2(2) P2(2) P3(2) P1(2);
P3(2) P4(2) P4(2) P4(2)];
z = [P1(3) P1(3) P2(3) P3(3);
P2(3) P2(3) P3(3) P1(3);
P3(3) P4(3) P4(3) P4(3)];
c = ones(size(x));
figure;
subplot(1,2,1);
fill3(x,y,z,c);
axis square;
subplot(1,2,2);
axis square;view(3);
for I = 1:4
h = patch(x(:,I),y(:,I),z(:,I),'r');
set(h,'edgecolor','k');
set(h,'FaceAlpha',rand);
pause(0.5);
end
3.matlab与专业课联系的图形:
b=[1];
a=[2 1 8];
subplot(1,2,1)
impulse(b,a)
subplot(1,2,2)
step(b,a)
4.设计结果:
(1)抛物面与柱面相交
(2)四面体的图形
-101012012-10101200.511.52
(3)matlab与专业课联系的图形
0510152025-0.15-0.1-0.0500.050.10.150.20.25Impulse ResponseTime (sec)Amplitude051015202500.050.10.150.20.25Step ResponseTime (sec)Amplitude
七.实验总结(围绕心得体会、创新之处、改进方案等方面)
MATLAB,一个生疏的字眼,也是有了这次自学,我们才有了接触他的机会,从一点都不知道到现在的略知一二,也觉得自己学到了一些知识。
本次在老师的英明领导下,我们开始了MATLAB的自学之行。首先,在一次MATLAB报告会中,我们开始接触MATLAB;随后,我们以看书和上机操作一步步了解MATLAB。在逐步的学习中,我们逐步了解到MATLAB功能的强大,也深深被其吸引。
在MATLAB的学习过程中,我们了解到了它的应用,有数学和计算算术发展模型的建立;模拟仿真;数据分析.开发;科学和工程图学;应用发展包括用户界面设计等等许许多多的方面。通过MATLAB的应用,我们能够抓住重点,深入学习MATLAB的各个功能来强化自身的能力。同时正因为MATLAB功能强大,也反映出其复杂性。在MATLAB的输入过程中,主要存在一点点的改变,其结果.图像就会发生或多或少的变化。所以,在MATLAB输入过程中,我们一定要认真仔细,同时,我们也可以通过改变细微以得到不同的结果,通过对比学习,得到提升。
由于直接在MATLAB中输入程序代码难以达到美观,比较繁琐,老师推荐我们使用notebook,在这当中编程比较方便,而我们组在MATLAB中找到了比较简单的方法,在MATLAB主界面中打开file再点击new接着在new的菜单中选择script,然后再在script中输入程序代码,这样也很方便,而且只需点击菜单区的生成键,程序对应得图形便会出现。
在编程的时候,我们的改进方案有,对颜色的修改,图形大小的选择,最重要还是我们组成员在写报告时一起讨论,在这其中我们不仅相互交流学到了知识,而且增进了我们之间的感情,在这时期尤其有利于对方案的修改于抉择,不仅对我们现在有用,对将来有一定影响。
在本次MATKAB的学习过程中,我们初步认识了它,但这对MATLAB强大的功能的影响下是永远不够的。从资料书与网上查询可知MATLAB的作用也是取之不尽.用之不竭的。它不仅适用于数学方面,而且MATLAB语言也可以适用于其他方面。例如电路仿真,物理模型等,所以在今后,我们依然要多加学习,相信能够获得更多。而且在本次学习MATLAB的使用过程中,我们不仅学习到了MATLAB的知识,更加认识到认真仔细学习的重要性,我相信这些对我们将受益终身。