Matlab图形设计.docx

上传人:b****8 文档编号:29582429 上传时间:2023-07-24 格式:DOCX 页数:16 大小:322.53KB
下载 相关 举报
Matlab图形设计.docx_第1页
第1页 / 共16页
Matlab图形设计.docx_第2页
第2页 / 共16页
Matlab图形设计.docx_第3页
第3页 / 共16页
Matlab图形设计.docx_第4页
第4页 / 共16页
Matlab图形设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Matlab图形设计.docx

《Matlab图形设计.docx》由会员分享,可在线阅读,更多相关《Matlab图形设计.docx(16页珍藏版)》请在冰豆网上搜索。

Matlab图形设计.docx

Matlab图形设计

 

基于Matlab特殊图形的绘制

目录

一、设计目的……………………………………………………………2

二、设计原理……………………………………………………………2

三、设计过程(程序说明及运行结果)………………………………2

3.1区域图的绘制………………………………………………………2

3.2填充图的绘制………………………………………………………3

3.3直方图的绘制………………………………………………………4

3.4二维、三维饼图的绘制……………………………………………5

3.5二维、三维柄状图的绘制…………………………………………6

3.6阶梯图的绘制………………………………………………………7

3.7向量图(罗盘图,羽状图)的绘制………………………………8

3.8圆体图(球体、椭球体)的绘制……………………………………8

四、设计体会……………………………………………………………9

五、附录………………………………………………………………10

5.1定义图形绘制的函数……………………………………………10

5.2程序中部分函数及作用…………………………………………11

5.3程序源代码………………………………………………………11

一、设计目的

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

其具有非常强大的图形表达功能,既可以绘制二维图形,又可以绘制三维图形,还可以通过标注、视点、颜色、光照等操作对图形进行修饰。

与数值计算和符号计算相比,图形的可视化技术是数学计算人员所追求的更高级的一种技术,因为对于数值计算和符号计算来说,不管计算的结果是多么的准确,人们往往无法直接从大量的数据和符号中体会它们的具体含义。

而图形处理技术则给人们提供了一种更直接的表达方式,可以使人们更直接、更清楚地了解事物的结果和本质。

MATLAB语言除了有强大的矩阵处理功能之外,它的绘图功能也是相当强大的。

MATLAB语言提供了一套功能强大的绘图命令,这些命令可以根据输入的数据自动完成图形的绘制,为计算过程和结果的可视化提供了极佳的手段。

Matlab应用在特殊图形的绘制,以解决在科研等领域,绘制特殊而又复杂图形这一难题。

二、设计原理

利用matlab函数提供的特殊绘图函数来实现特殊图形的绘制,如:

区域图、填充图、条形图、直方图、圆体图、球体、椭球体、饼图(2维、3维)、排列图、二维柄状图、三维柄状图、阶梯图、散点图、轮廓图、向量图(罗盘图;羽状图、箭头图、法线图)。

其相应的函数为:

surfnorm,quiver,feather,compass,contour3,contour,plotmatrix,scatter,scatter3,stairs,stem,stem3,pareto,pie3,pie,ellipsoid,sphere,cylinder,hist,bar3,bar,fill3,fill,area.

并通过编写相应的程序来实行图形的绘制,利用具体实例说明matlab的各种绘图函数的功能。

三、设计过程(程序说明及运行结果)

3.1区域图的绘制

面域图指令area,程序如下:

y=rand(10,3)*100;

x=1:

10;

area(x,y);

xlabel(‘Year’);

ylabel(‘Count’)

运行结果

图1区域图

3.2填充图的绘制

用fill制图程序:

clf;n=10;%多边形的边数

dt=2*pi/n;t=0:

dt:

2*pi

t=[t,t

(1)];%fill指令要求数据向量的首位重合,使图形封闭。

x=sin(t);y=cos(t);

fill(x,y,'c');axisoff%画填色多边形,隐去坐标轴。

ht=text(0,0,'\fontname{隶书}\fontsize{32}十边形');

%文字注释且得图柄。

set(ht,'Color','k','HorizontalAlignment','Center')

%依靠图柄设置属性。

运行结果:

图2二维填充图

用fill3制图程序:

X=[0.50.50.50.5;0.50.50.50.5;0110];

Y=[0.50.50.50.5;0.50.50.50.5;0011];

Z=[1111;0000;0000];C=[1001;0101;0010];

fill3(X,Y,Z,C),view([-1055]),colormapcool

xlabel('x'),ylabel('y'),boxon;gridon

运行结果

图3三维填充图

3.3直方图的绘制

用bar绘图程序:

x=[13452];

bar(x);

运行结果:

图4二维直方图

用bar3绘图程序:

x=[23457;12321];

bar3(x)

运行结果:

图5三维直方图

用hist绘图程序:

x=randn(5000,1);

hist(x,20);

运行结果:

图6统计直方图

3.4二维、三维饼图的绘制

用pie绘图程序:

x=[2354];

explode=[1100];%“1”代表向外拖出的元素

pie(x,explode);

图7二维饼图

用pie3绘图程序:

x=[2354];

explode=[1100];

label={'春','夏','秋','冬'};

pie3(x,explode,label);

运行结果:

图8三维饼图

3.5二维、三维柄状图的绘制

用stem绘图程序:

t=0:

0.2:

4*pi;

y=cos(t).*exp(-t/5);

stem(t,y,'fill');

运行结果:

图9二维柄状图

用stem3绘图程序:

theta=-pi:

0.05:

pi;

x=cos(theta);

y=sin(theta);

z=abs(cos(3*theta)).*exp(-abs(theta/3));

stem3(x,y,z);

运行结果:

图10三维柄状图

3.6阶梯图的绘制

用stairs绘图程序:

t=0:

0.4:

4*pi;

y=cos(t).*exp(-t/5);

stairs(t,y);

运行结果:

图11阶梯图

3.7向量图(罗盘图、羽状图)的绘制

用feather绘制羽状图,用compass绘制罗盘图,程序如下:

t=-pi/2:

pi/12:

pi/2;%在区间,每

取一点。

r=ones(size(t));%单位半径

[x,y]=pol2cart(t,r);%极坐标转化为直角坐标

subplot(1,2,1),compass(x,y),title('Compass')

subplot(1,2,2),feather(x,y),title('Feather')

运行结果:

图12羽状图和罗盘图

3.8圆体图(球体、椭球体)的绘制

用sphere绘制球,绘图程序:

clc,clearall;

figure

(1)

[m,n,p]=sphere(50);t=abs(p);

surf(m,n,p,t);holdon;

mesh(2*m,2*n,2*p),colormap(hot);

holdoff;hiddenoff

axisequal

图13球体

用cylinder绘制椭球,绘图程序:

clearall;clc;%画出由母线x^2/a^2+y^2/b^2=1绕z轴旋转出的椭球面

a=sqrt(4);b=sqrt

(1);%这里取a=2,b=1

t=linspace(-b,b);

r=a*sqrt(1-t.^2/b^2);

[x,y,z]=cylinder(r);

z=(z-.5)*2*b;

mesh(x,y,z);axisequal;

图14椭球体

四、设计体会

经过几天的奋战我的课程设计终于完成了。

课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。

这次的课程设计主要是让我更加

深入的学习使用了MATLAB,利用对图像的处理来学习MATLAB这个软件。

我认识到了MATLAB这个软件,其功能非常的强大,由总包和若干个工具箱组成,可以实现数值分析、自动控制、图像处理、神经元网络等若干个领域的计算和图形显示,它将这些不同领域的计算用函数的形式分类成对用户完全透明的库函数,构成一个个针对专门领域的工具箱。

使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。

我觉得通过这次课设之后,我发现MATLAB强大的功能。

不仅仅局限于我们分析信号与系统的时候用到的那些功能,还有其他更多更广泛的用途。

在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。

而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。

虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。

五、附录

5.1定义图形绘制的函数

函数名

含义

函数名

含义

area

面域图绘图函数

stem3

三维柄状图函数

fill

二维填充图

绘图函数

stairs

阶梯图绘图函数

fill3

三维填充图

绘图函数

feather

向量图

(羽状图)

bar

二维垂直的

直方图

compass

向量图

(罗盘图)

bar3

三维垂直的

直方图

sphere

球体绘图函数

hist

统计直方图

cylinder

椭球体绘图函数

stem

二维柄状图函数

5.2程序中部分函数及作用

函数名

作用

函数名

作用

for

预定的次数重复执行的循环语句

end

与for、while、if、switch语句匹配的结束标志语句

if

条件执行语句

else

与if匹配

axis

控制坐标轴比例和外观

subplot

创建子图图区

title

图形标题

xlabel

X轴标签

ylabel

Y轴标签

zlabel

Z轴标签

clf;n

多边形的边数

surf

表面图

5.3程序源代码

1、区域图的绘制

area程序:

y=rand(10,3)*100;

x=1:

10;

area(x,y);

xlabel(‘Year’);

ylabel(‘Count’)

2、填充图的绘制

fill程序:

clf;n=10;

dt=2*pi/n;t=0:

dt:

2*pi

t=[t,t

(1)];

x=sin(t);y=cos(t);

fill(x,y,'c');axisoff

ht=text(0,0,'\fontname{隶书}\fontsize{32}十边形');

set(ht,'Color','k','HorizontalAlignment','Center')

fill3程序:

X=[0.50.50.50.5;0.50.50.50.5;0110];

Y=[0.50.50.50.5;0.50.50.50.5;0011];

Z=[1111;0000;0000];C=[1001;0101;0010];

fill3(X,Y,Z,C),view([-1055]),colormapcool

xlabel('x'),ylabel('y'),boxon;gridon

3、直方图的绘制

bar程序:

x=[13452];

bar(x);

bar3程序:

x=[23457;12321];

bar3(x)

hist程序:

x=randn(5000,1);

hist(x,20);

4、二维、三维饼图的绘制

pie程序:

x=[2354];

explode=[1100];

pie(x,explode);

pie3程序:

x=[2354];

explode=[1100];

label={'春','夏','秋','冬'};

pie3(x,explode,label);

5、二维、三维柄状图的绘制

stem程序:

t=0:

0.2:

4*pi;

y=cos(t).*exp(-t/5);

stem(t,y,'fill');

stem3程序:

theta=-pi:

0.05:

pi;

x=cos(theta);

y=sin(theta);

z=abs(cos(3*theta)).*exp(-abs(theta/3));

stem3(x,y,z);

6、阶梯图的绘制

stairs程序:

t=0:

0.4:

4*pi;

y=cos(t).*exp(-t/5);

stairs(t,y);

7、向量图(罗盘图、羽状图)的绘制

feather、compass程序:

t=-pi/2:

pi/12:

pi/2;

r=ones(size(t));

[x,y]=pol2cart(t,r);

subplot(1,2,1),compass(x,y),title('Compass')

subplot(1,2,2),feather(x,y),title('Feather')

8、圆体图(球体、椭球体)的绘制

sphere绘制球程序:

clc,clearall;

figure

(1)

[m,n,p]=sphere(50);t=abs(p);

surf(m,n,p,t);holdon;

mesh(2*m,2*n,2*p),colormap(hot);

holdoff;hiddenoff

axisequal

cylinder绘制椭球程序:

clearall;clc;

a=sqrt(4);b=sqrt

(1);

t=linspace(-b,b);

r=a*sqrt(1-t.^2/b^2);

[x,y,z]=cylinder(r);

z=(z-.5)*2*b;

mesh(x,y,z);axisequal;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1