Matlab 画图2
fplot函数
plot函数的缺点:在实际应用中,函数随着自变量的变化趋势是未知的,如果自变量的离散区间不合理,则无法反应函数的变化趋势。
fplot的作用:通过自适应算法,解决上述问题。
fplot函数格式:fplot(fname,lims,tol)
其中fname为函数名,以字符串形式出现,lims为变量取值范围,tol为相对允许误差,其其系统默认值为2e-3。
例如
fplot('sin(x)',[0 2*pi])
点这个之后会发现有一段warning
警告: 在以后的版本中,fplot 将不接受字符向量或字符串输入。请改用 fplot(@(x)sin(x))。
显然以后最好还是不要用字符串输入了但是现在可以
fplot('[sin(x),cos(x)]',[0 2*pi]) %同时绘制正弦、余弦曲线
为绘制f(x)=cos(tan(πx))曲线,可先建立函数文件fct.m,其内容为:
function y=fct(x)
y=cos(tan(pi*x));
用fplot函数调用fct.m函数,其命令为:
fplot(’fct’,[0 1],1e-4)
特殊坐标图形
loglog(x,y) 双对数坐标
绘制y=|1000sin(4x)|+1的双对数坐标图。程序为:
x=[0:0.1:2*pi];
y=abs(1000*sin(4*x))+1;
loglog(x,y);
单对数坐标
以X轴为对数重新绘制上述曲线,程序为:
x=[0:0.01:2*pi]
y=abs(1000*sin(4*x))+1
semilogx(x,y); %单对数X轴绘图命令
同样,可以以Y轴为对数重新绘制上述曲线,程序为:
x=[0:0.01:2*pi]
y=abs(1000*sin(4*x))+1
semilogy(x,y); %单对数Y轴绘图命令
极坐标图
函数polar(theta,rho)用来绘制极坐标图,theta为极坐标角度,rho为极坐标半径
绘制sin(2θ)cos(2θ)的极坐标图,程序为:
theta=[0:0.01:2*pi];
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho); 绘制极坐标图命令
title('polar plot');
其他函数图像
阶梯图形
函数stairs(x,y)可以绘制阶梯图形,如下列程序段:
x=[-2.5:0.25:2.5];
y=exp(-x.*x);
stairs(x,y); %绘制阶梯图形命令
title('stairs plot');
条形函数
函数bar(x,y)可以绘制条形图形,如下列程序段将绘制条形图形
x=[-2.5:0.25:2.5];
y=exp(-x.*x);
bar(x,y); %绘制条形图命令
三维函数
plot3函数
最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。
函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)
其中x1,y1,z1…表示三维坐标向量,c1,c2…表示线形或颜色。
函数功能:以向量x,y,z为坐标,绘制三维曲线。
绘制三维螺旋曲线,其程序为:
t=0:pi/50:10*pi;
y1=sin(t),y2=cos(t);
plot3(y1,y2,t);
title('helix'),text(0,0,0,'origin');
xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');
grid;
mesh函数
mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。
函数格式:mesh(x,y,z,c)
其中x,y控制X和Y轴坐标,矩阵z是由(x,y)求得Z轴坐标,(x,y,z)组成了三维空间的网格点;c用于控制网格点颜色。
x=[0:0.15:2*pi];
y=[0:0.15:2*pi];
z=sin(y')*cos(x); %矩阵相乘
mesh(x,y,z);
suf函数
surf用于绘制三维曲面图,各线条之间的补面用颜色填充。surf函数和mesh函数的调用格式一致。
函数格式: surf (x,y,z)
其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲面上Z轴坐标。
x=[0:0.15:2*pi];
y=[0:0.15:2*pi];
z=sin(y')*cos(x); %矩阵相乘
surf(x,y,z);