Matlab的可视化

Matlab在数据可视化方面提供了强大的功能,可以把数据用二维、三维或思维图形表达出来。

二维平面图形

1.plot函数

plot(Y) 用以绘所对应的行向量Y,若Y为复数,则plot(Y)等于plot(real(Y),image(Y))。

plot(x1,y1,...,xn,yn) 绘制多个X、Y 对组的图,所有线条都使用相同的坐标区当x1,y1等均为实数向量,且为同维向量时,plot先描出点,然后用直线依次连接,命令将对每一对x,y绘制曲线。

plot(x1,y1,LineSpec1,...,xn,yn,LineSpecn) LineSpec为选项开关字符串

选项含义选项含义
-实线.用点号标出数据点
--虚线o用圆圈标出数据点
:点线x用叉号标出数据点
-.点画线+用加号标出数据点
r红色s用小正方形标出数据点
g绿色D用菱形标出数据点
b蓝色V用下三角标出数据点
y黄色^用上三角标出数据点
 m洋红<用左三角标出数据点
c青色>用右三角标出数据点
w白色H用六角形标出数据点
k黑色P用五角形标出数据点
  *用星号标出数据点

 

h=plot(x1,y1,LineSpec,'PropertyName','PropertyValue')  设置plot函数常用属性,返回绘制函数的句柄。

属性名称含义属性名称含义
LineWidth设置线的宽度MarkerEdgeColot设置标记点的边缘颜色
MarkerSize设置标记点的大小MarkerFaceColor设置标记点的填充颜色

 

例子:

x=0:pi/10:2*pi;
y1=sin(x);
y2=sin(x-0.25);
y3=sin(x-0.5);
figure;
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*');

2.对数坐标曲线命令

函数semilogx、semilogy和loglog用来绘制二维对数坐标曲线,用法与plot相同

例子:

x1=logspace(-1,2);
subplot(131);
loglog(x1,exp(x1),'-s');
title('loglog函数绘图');
grid on;
x2=0:0.1:10;
subplot(132);
semilogx(10.^x2,x2,'r-.o');
title('semilogx函数绘图');
subplot(133);
semilogx(10.^x2,x2,'r+');
title('semilogy函数绘图');

3.双y轴图形

如果两组数据范围相差较大,而又希望放在同一图形中比较分析,可以绘制双y轴图形。

plotyy(x1,y1x2,y2,fun1,fun2) “fun1”是字符串格式,用来指定绘图函数的函数名,如plot、semilogx等。“fun1”和"fun2"可以指定不同的绘图函数并分别绘制这两种曲线。

例如

x=0:0.1:10; 
y1=200*exp(-0.05*x).*sin(x); 
y2=0.8*exp(-0.5*x).*sin(10*x); 
figure; 
plotyy(x,y1,x,y2,'plot','stem');

4.图形窗口的分割

subplot(m,n,p) 分割图形显示窗口,m表示上下分割数,n表示左右分割数,p表示子图编号。例如subplot(3,2,3)意为把图形分割为3行2列共6个子窗口,并选择第3行第2列(排序为3)的子窗口作为当前窗口进行操作。

例子

x=linspace(-3.8,3.8);
y_cos=cos(x);
y_poly=1-x.^2./2+x.^4./24;
subplot(2,2,1);
plot(x,y_cos);
title('subplot 1: Cosine');
subplot(2,2,2);
plot(x,y_poly,'g');
title('subplot 2:Polynomial');
subplot(2,2,[3,4]);
plot(x,y_cos,'b',x,y_poly,'g');
title('subplot 3 and 4:Both');

5.坐标系的调整

axis([xmin xmax ymin ymax])  [xmin xmax ymin ymax]中分别给出x轴和y轴的最大值、最小值。

axis equal   x轴和y轴的单位长度相同

axis square 图框呈方形

x1=linspace(0,10,100);
y1=sin(x1);
ax1=subplot(2,1,1);
plot(ax1,x1,y1);
x2=linspace(0,5,100);
y2=sin(x2);
ax2=subplot(2,1,2);
plot(ax2,x2,y2);
axis([ax1 ax2],[0 10 -1 1]);

三维待续...

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值