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);