用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的知识,更加认识到认真仔细学习的重要性,我相信这些对我们将受益终身。