目录。一.设计目的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(1fill 指令要求数据向量的首位重合,使图形封闭。
x=sin(t);y=cos(t);
fill(x,y,'c');axis off画填色多边形,隐去坐标轴。
ht=text(0,0,'\fontname\fontsize 十边形 ')文字注释且得图柄。
set(ht,'color','k','horizontalalignment','center') 依靠图柄设置属性。
运行结果:图2 二维填充图。
用fill3制图程序:
x=[0.5 0.5 0.5 0.5;0.5 0.5 0.5 0.5;0 1 1 0];
y=[0.5 0.5 0.5 0.5;0.5 0.5 0.5 0.5;0 0 1 1];
z=[1 1 1 1;0 0 0 0;0 0 0 0];c=[1 0 0 1;0 1 0 1;0 0 1 0];
fill3(x,y,z,c),view([-10 55]),colormap cool
xlabel('x'),ylabel('y'),box on;grid on
运行结果。图3 三维填充图。
3.3 直方图的绘制。
用bar绘图程序:
x=[1 3 4 5 2];
bar(x);
运行结果:图4 二维直方图。
用bar3绘图程序:
x=[2 3 4 5 7;1 2 3 2 1];
bar3(x)
运行结果:图5 三维直方图。
用hist绘图程序:
x=randn(5000,1);
hist(x,20);
运行结果:图6 统计直方图。
3.4 二维、三维饼图的绘制。
用pie绘图程序:
x=[2 3 5 4];
explode=[1 1 0 01”代表向外拖出的元素。
pie(x,explode);
图7 二维饼图。
用pie3绘图程序:
x=[2 3 5 4];
explode=[1 1 0 0];
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,clear all;
figure (1)
m,n,p]=sphere(50);t=abs(p);
surf(m,n,p,t);hold on;
mesh(2*m,2*n,2*p),colormap(hot);
hold off;hidden off
axis equal
图13 球体。
用cylinder绘制椭球,绘图程序:
clear all;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);axis equal;
图14 椭球体。
四。设计体会。
经过几天的奋战我的课程设计终于完成了。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。这次的课程设计主要是让我更加。
深入的学习使用了matlab,利用对图像的处理来学习matlab这个软件。我认识到了matlab这个软件,其功能非常的强大,由总包和若干个工具箱组成,可以实现数值分析、自动控制、图像处理、神经元网络等若干个领域的计算和图形显示,它将这些不同领域的计算用函数的形式分类成对用户完全透明的库函数,构成一个个针对专门领域的工具箱。使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。
我觉得通过这次课设之后,我发现matlab强大的功能。不仅仅局限于我们分析信号与系统的时候用到的那些功能,还有其他更多更广泛的用途。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。
五、附录。5. 1 定义图形绘制的函数。
5. 2 程序中部分函数及作用。
MATLAB课程设计
1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...
MATLAB课程设计
课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...
MATLAB课程设计
matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...