自动化专业综合设计报告
设计题目:利用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<ymin
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<zmin
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。