Matlab编程-图形处理功能
绘图功能最基本的命令行:plot(y).
二维图形:
(1)
>> y=rand(100,1);
>> plot(y)
y是随机的实向量,以生成y的索引为横坐标,y为纵坐标绘图
(2)plot(x,y):
第一个作为横坐标,第二个变量作为纵坐标
>> x=0:0.01*pi:pi;
>> y=sin(x).*cos(x);
>> plot(x,y)
(3)同时生成多个函数的方法:
>> x=0:0.01*pi:pi;
y=[sin(x'),cos(x')];
plot([x',x'],y);
这是用矩阵相乘的一种形式,同时生成多个函数图像下面还有一种写法。
(4)plot(x,y,s)中的s参数
>> x=0:0.1*pi:pi;
>> y=sin(x);
>> z=cos(x);
>> plot(x,y,'--k',x,z,'-.rd' ) % --k表示虚线黑色,-.rd表示点图红色
s参数一览表
- 实线 . 点 * 星号 ^ 上三角
: 点线 o 圆 s 方形 < 左三角
-. 点划线 x x符号 d 菱形 > 右三角
-- 虚线 + +号 v 下三角 p 正五边形
y 黄色 m 紫红色 c 蓝绿色 r 红色
g 绿色 b 蓝色 w 白色 k 黑色
上述参数的不同组合可以为图形设置不同的线形、颜色和标识,调用时以单引号来引用,各选项直接相连,不需要分隔符。
(5)极坐标图:
>> x=1:0.01*pi:4*pi;
>> y=sin(x/2)+x;
>> polar(x,y,'-k')
(6)特殊的二维图形绘制:
条形图:
>> x=1:10;
>> y=rand(10,1);
>> bar(x,y)
饼图:
>> x=[2 4 6 8];
>> pie(x)
二维特殊函数一览表:
area 填充绘图
fplot 函数图绘制
bar 条形图
hist 直方图
barh 水平条形图
pareto Pareto图
comet 彗星图
pie 饼状图
errorbar 误差带图
plotmatrix 分散矩阵图
ezplot 简单绘制函数图
ribbon 三位图的二维条状显示
ezpolar 简单绘制极坐标图
scatter 散射图
feather 矢量图
stem 离散序列饼状图
fill 多边形填充
stairs 阶梯图
三维图像功能:
(1) 三维螺旋线:
>> x=0:pi/50:10*pi;
>> y=sin(x);
>> z=cos(x);
>> plot3(x,y,z);
(2) 网格三维图像:
>> [x,y]=meshgrid(-3:0.1:3,-2:0.1:2);
z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);
plot3(x,y,z)
(3) 三维彩色网格图像
>> x=-8:0.5:8;
>> y=x';
>> a=ones(size(y))*x;
>> b=y*ones(size(x));
>> c=sqrt(a.^2+b.^2)+eps;
>> z=sin(c)./c;
>> mesh(z)
>> %注意这里 / 和 ./的区别 针对矩阵来说
>> %a/b表示矩阵a乘矩阵b的逆 a./b表示矩阵a和b对应的元素相除
能绘制等高线的meshc函数
>> [x,y]=meshgrid([-4:0.5:4]);
>> z=sqrt(x.^2+y.^2);
>> meshc(z)
边界屏蔽的meshz函数:
>> [x,y]=meshgrid([-4:0.5:4]);
z=sqrt(x.^2+y.^2);
>> meshz(z)
(4) 另外一个带色的三维带网格函数:surf(x,y,z)
>> [x,y]=meshgrid([-4:0.5:4]);
>> z=sqrt(x.^2+y.^2);
>> surf(x,y,z)
(5) 柱面图画法:
>> x=0:pi/20:3*pi;
>> r=5+cos(x);
>> [a,b,c]=cylinder(r,30); %[x,y,z]=cylinder(R,N),r为旋转母线,N为旋转母线在旋转圆周%上分割的条数
>> mesh(a,b,c)
特殊三维图形一览表:
bar3 三维条形图
surfc 着色与等高线结合
comet3 三维彗星轨迹图
trisurf 三角形表面图
ezgraph3 函数控制绘制三位图
trimesh 三角形网格图
pie3 三维饼状图
waterfall 瀑布图
scatter3 三维散射图
cylinder 柱面图
stem3 三维离散数据图
sphere 球面图