Matlab——图形绘制——二维平面图形

Posted expedition

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab——图形绘制——二维平面图形相关的知识,希望对你有一定的参考价值。

二维平面图形

技术图片

技术图片

hold on ————在已画好的图形上添加新的图形

 

plot 绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上
每一点的x 及y 座标。下例可画出一条正弦曲线:

>> x=0:0.001:10; % 0 到10 的1000 个点的x 座标
y=sin(x); % 对应的y 座标
plot(x,y); % 绘图

技术图片

改变颜色

 

>> plot(x,y,‘k‘)

 

 

 技术图片

改变颜色的同时改变图线形态

 

>> plot(x,y,‘k*‘)

 

技术图片

 

 同时画两个函数【淡粉色】

>> Y=sin(10*x);
plot(x,y,r:,x,Y,b) % 同时画两个函数

技术图片

 

 调整图轴范围

>> axis([0,6,-1,1])   %前两个是横坐标,后两个是纵坐标

技术图片

图形上加上注解

>> xlabel(x 轴); % x 轴注解
ylabel(y 轴); % y 轴注解
title(余弦函数); % 图形标题
legend(y = cos(x)); % 图形注解
gtext(y = cos(x)); % 图形注解 ,用鼠标定位注解位置
grid on; % 显示格线

技术图片

 

 技术图片

实例:将一函数 f(x)=sin(x)/x 在-20<x<20,-0.4<y<1.2 之间画出:

>> fplot(sin(x)./x,[-20 20 -0.4 1.2])

技术图片

实例:技术图片

a = [0:pi/50:2*pi]; %角度 0 − 2p
X = cos(a)*3; %参数方程
Y = sin(a)*2;
plot(X,Y);
xlabel(x), ylabel(y);
title(椭圆)

 技术图片

图形窗口的分割一般用命令subplot:

>> subplot(2,2,1);
>> subplot(2,3,4);

 技术图片

技术图片

当资料点数量不多时——长条图

close all; %关闭所有的图形视窗
x=1:10;
y=rand(size(x));
bar(x,y);

技术图片

如果已知资料的误差量,就可用errorbar 来表示。下例以单位标准差来做资料
的误差量:

x = linspace(0,2*pi,30);
y = sin(x);
e = std(y)*ones(size(x));
errorbar(x,y,e)

技术图片

对於变化剧烈的函数,可用fplot 来进行较精确的绘图,会对剧烈变化处进行较
密集的取样,如下例:

>> fplot(sin(1/x), [0.02 0.2]); % [0.02 0.2]是绘图范围

 技术图片

若要产生极座标图形,可用polar:

theta=linspace(0, 2*pi);
r=cos(4*theta);
polar(theta, r);

技术图片

 

对於大量的资料,我们可用hist 来显示资料的分 情况和统计特性。下面几个
命令可用来验证randn 产生的高斯乱数分 :

>> x=randn(5000, 1); %产生5000个μ=0,s=1的高斯乱数
>> hist(x,20) %20代表长条的个数

技术图片

rose 和hist 很接近,只不过是将资料大小视为角度,资料个数视为距离,并用
极座标绘制表示:

x=randn(1000, 1);
rose(x);

技术图片

stairs 可画出阶梯图

x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
stairs(x,y);

技术图片

stems 可产生针状图,常被用来绘制数位讯号

x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
stem(x,y);

技术图片


stairs 将资料点视为多边行顶点,并将此多边行涂上颜色

>> x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
fill(x,y,b); % b为蓝色

技术图片

feather 将每一个资料点视复数,并以箭号画出:

theta=linspace(0, 2*pi, 20);
z = cos(theta)+i*sin(theta);
feather(z);

技术图片

compass 和feather 很接近,只是每个箭号的起点都在圆点

theta=linspace(0, 2*pi, 20);
z = cos(theta)+i*sin(theta);
compass(z);

技术图片

 

以上是关于Matlab——图形绘制——二维平面图形的主要内容,如果未能解决你的问题,请参考以下文章

matlab二维三维图形绘制和坐标轴范围设置

备战数学建模3-MATLAB绘制各种二维图形

如何在matlab同一个图形上绘制多条曲线

实验2 用MATLAB 绘制二维三维图形

MATLAB绘制二维图时如何使坐标轴名字显示在右侧?

新星计划MATLAB绘制图形