例子
光照处理
其调用格式:
light(‘Posi’,选项,…)
[x,y,z]=sphere(100);
subplot(1,2,1);
surf(x,y,z);axis equal;
light('Posi',[0,1,1]);
shading interp;
text(0,1,1,' light');
subplot(1,2,2);
surf(x,y,z);axis equal;
light('Posi',[1,0,1]);
shading interp;
text(1,0,1,' light');
极坐标图
其调用格式为:
polar(theta,rho,选项)
其中theta为极坐标极角,rho为极坐标半径,选 项的内容与plot函数相似。
绘制r=sin(t)cos(t)的极坐标图
t=0:pi/50:2*pi;
r=sin(t).*cos(t);
polar(t,r,'-*');
二维统计分析图
条形图、阶梯图、杆图和填充图等,所采用的函数分别是:
bar(x,y,选项)
stairs(x,y,选项)
stem(x,y,选项)
fill(x,y,选项)
分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。
x=0:pi/10:2*pi;
y=2*sin(x);
subplot(2,2,1);bar(x,y, 'r');
title('bar(x,y,''r'')');
subplot(2,2,2);stairs(x,y,'b');
title('stairs(x,y,''b'')');
subplot(2,2,3);stem(x,y,'k');
title('stem(x,y,''k'')');
subplot(2,2,4);fill(x,y,'y');
title('fill(x,y,''y'')');
统计分析图
MATLAB提供的统计分析绘图函数还有用来表示各元素占总和的百分比的饼图、复数的向量图等等。
例 绘制图形:
(1) 某企业全年各季度的产值(单位:万元)分别 为:2347,1827,2043,3025,试用饼图作统计分析。
(2) 绘制复数的向量图:7+2.9i、2-3i和-1.5-6i。
subplot(1,2,1);
pie([2347,1827,2043,3025]);
title('饼图');
legend('一季度','二季度','三季度','四季度');
subplot(1,2,2);
compass([7+2.9i,2-3i,-1.5-6i]);
title('向量图');
三维统计图形
在介绍二维图形时,提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、stem3、pie3 和fill3。
绘制三维图形:
(1) 绘制4阶魔方阵的三维条形图。
(2) 以三维杆图形式绘制曲线y=2sin(x)。
(3) 已知x=[2347,1827,2043,3025],绘制饼图。
(4) 用顶点坐标值(0,0,0),(1,1,1),(1,2,3)画出黄色三角形。
subplot(2,2,1);
bar3(magic(4)) %绘制魔方阵的三维条形图
subplot(2,2,2);
y=2*sin(0:pi/10:2*pi);%三维杆图形式绘制y=2sin(x)
stem3(y);
subplot(2,2,3);
pie3([2347,1827,2043,3025]);%三维饼图
subplot(2,2,4);
fill3([0,1,1],[0,1,2],[0,1,3], 'y' ); grid on;
绘制多峰函数的瀑布图和等高线图
[X,Y,Z]=peaks(30);
subplot(1,2,1);
waterfall(X,Y,Z)
xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');
subplot(1,2,2);
contour3(X,Y,Z);
xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');
ezplot 作图
ezplot(f,[a,b])
绘制f=f(x)在区间a<=x<=b上的图形
ezplot(f)
绘制f=f(x)在区间-2PI<=x<=2PI上的图形
ezplot(f(x,y),[a,b,c,d])
f(x,y)=0在区间a<=x<=b,c<=y<=d上的图形
ezplot(f(x,y))
f(x,y)=0在区间-2PI<=x<=2PI,-2PI<=y<=2PI上的图形
ezplot(f,g,[a,b])
x=f(t),y=g(t)在区间a<=t<=b上的图形
ezplot('sin(x)')
ezplot('sin(x)',[-pi,pi])
ezplot 3作图
ezplot3(x,y,z,[a,b])
空间曲线:x=x(t),y=y(t),z=z(t),a<=t<=b
ezplot3(x,y,z)
空间曲线:x=x(t),y=y(t),z=z(t),0<=t<=2*PI
(缺省的绘图区间为 [0, 2π]
ezmesh与ezsurf 作图
ezmesh(z(x,y),[a,b,c,d])
z=z(x,y),a<=x<=b,c<=y<=d
ezmesh(z(x,y),[a,b])
z=z(x,y),a<=x,y<=b
ezmesh(z(x,y))
z=z(x,y),-2PI<=x,y<=2PI
ezmesh(x(s,t),y(s,t),z(s,t),[a,b,c,d])
x=x(s,t),y=y(s,t),z=z(s,t),a<=s<=b,c<=t<=d
ezmesh(x(s,t),y(s,t),z(s,t),[a,b])
ezmesh(x(s,t),y(s,t),z(s,t))
椭球面的绘制
>> a=3;
>> b=3;
>> c=1;
>> ezsurf('3*sin(u)*cos(v)', ...
'3*sin(u)*sin(v)','1*cos(u)', ...
[0,pi,0,2*pi]);
axis equal;