利用MATLAB编程实现动态画图功能

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动化专业综合设计报告

设计题目:利用MATLAB编程实现动态画图功能

所在实验室:自动化系统仿真实验室

指导教师:

学生姓名

班级

学号

撰写时间:2012-02-24 成绩评定:

一、设计目的

a)进一步熟悉Matlab的界面及基本操作;

b)了解并掌握Matlab中一些函数的作用与使用;

c)学会如何利用Matlab实现绘图功能,并可使坐标系动态设置。

二、设计要求

1.外部输入数据动态设置坐标系,然后绘制图形

2.举例演示

三、设计内容(可加附页)

Matlab用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。我们设计的题目是利用matlab编程实现动态的画图功能。具体内容体现在:

1):利用外部输入的数据来设置坐标系,使坐标系能够按照自己想要的方式呈现出来,从而更加直观的分析图形。

2):绘制图形,我们举例绘制了一个正弦函数和一个三维的图形。

设计步骤:

1:打开matlab软件

2:建立一个.m文件,保存到work中

3:进行编程

首先从编程的角度分析,要实现两个功能,一个是可以从外部输入数据来改变坐标系。用到的函数是:

axis([])。

其次是实现画图功能并实现图形的动态变化.

具体思路:

1:定义变量

global xmin xmax ymin ymax zmax zmin m n s y a b q p

2建立函数switch()

Case0

Case1

3:从外部输入,编译

a=-8:0.1:10;

q=a';

a1=ones(size(q))*x;

q1=y*ones(size(a));

r=sqrt(a1.^2+q1.^2)+eps;

z=sin(r)./r;

mesh(z);

四.设计实验结果及分析

结果1:在命令窗口输入n=1; a=-8:0.1:10;

q=a';

a1=ones(size(q))*x;

q1=y*ones(size(a));

r=sqrt(a1.^2+q1.^2)+eps;

z=sin(r)./r;

mesh(z);

四、结论

Matlab不仅有着友好的工作平台编程环境,简单易用的程序语言,强大的科学计算机数据处理能力,出色的图形处理功能,应用广泛的模块集合工具箱实用的程序接口和发布平台。而且它还可以绘制复杂的二维和多维的图形,可以进行控制系统仿真,是一个很有用的软件.值得我们自动化专业学生学习的一门课.

五、设计感受

以前对matlab只是局限在数学实验上学的那些知识,但是通过此次的课程设计,才了解到matlab在图像图形处理方面的强大功能。在此要感谢老师对我们的悉心指导,感谢老师给我们的帮助。在设计过程中我们通过查阅大量资料,与同学交流经验合自学,并向同学请教等方式,使自己学到不少知识,也经历了不少艰辛,但同样收获巨大。在整个设计中我

懂得了去多东西,也培养了我独立工作的能力,相信会对今后的学习工作有重要影响。虽然这个设计做的不是太好,但是在设计过程中所学到的东西是最大的收获和财富,是我终生收益。

程序(附)

global xmin xmax ymin ymax zmax zmin m n s y a b q p

function f=myfun(n)

switch n

case 0

xmin=0;

ymin=0;

m=ymin;

ymax=y;

n=ymax;

s=0:0.1:10;

xmax=max(s);

if ymax

ymax=m;

ymin=n;

if ymax>ymin

ymin=m;

ymax=n;

end

end

plot(s,y);

grid on;

axis([xmin, xmax ,ymin ,ymax])

case 1

a=-8:0.1:10;

q=a';

a1=ones(size(q))*x;

q1=y*ones(size(a));

r=sqrt(a1.^2+q1.^2)+eps;

z=sin(r)./r;

mesh(z);

zmin=0;

b=zmin;

zmax=z;

p=zmax;

if zmax

zmax=b;

zmin=p;

if zmax>zmin

zmin=b;

zmax=p;

end

end

plot3(a,q,z);

axis([xmin, xmax ,ymin ,ymax,zmin,zmax]) end

相关文档
最新文档