二者用法如下:
如果输入参数是单变量函数,例如f(x),则只能使用ezplot绘制平面曲线,不能用ezmesh;
如果输入参数是双变量函数,例如f(x,y),则
ezplot绘制f(x,y)=0的曲线,也就是二维隐函数绘图;
ezmesh绘制z=f(x,y)曲面(并不是隐函数)。
如果输入是参数方程的形式:
ezplot(x,y),其中x = x(t), y = y(t),以x、y为坐标绘制平面曲线;
ezmesh(x,y,z) ,其中x = x(s,t), y = y(s,t), z = z(s,t),以x、y、z为坐标绘制曲面。
也就是说,大多数情况下,ezplot和ezmesh的输入参数形式是不一样的,只有一种情况二者输入参数形式相同——那就是双变量函数,此时,ezplot绘制隐函数f(x,y)=0的曲线,ezmesh绘制曲面(ezplot绘制的曲线就是ezmesh绘制的曲面与平面z=0的交线)。
函数plot
是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot
函数之前,必须首先定义好曲线上每一点的x
及y
坐标,常用格式为:
(1)plot(x)
当x
为一向量时,以x
元素的值为纵坐标,x
的序号为横坐标值绘制曲线。当x
为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x
为m×
n
矩阵时,就有n
条曲线。
(2)plot(x,y)
以x
元素为横坐标值,y
元素为纵坐标值绘制曲线。
(3)plot(x,y1,x,y2,…)
以公共的x
元素为横坐标值,以y1,y2,…
元素为纵坐标值绘制多条曲线。
函数fplot
用来绘制数学函数,其调用格式为:
fplot(fun,lims)其中fun
就是所要绘制的函数,可以是定义函数的M
文件名,也可以是以x
为变量的可计算字符串,lims=[XMIN
XMAX
YMIN
YMAX]限定了x,y
轴上的绘图空间。
函数ezplot它无需数据准备,直接画出函数图形,基本调用格式为ezplot(f),其中f
是字符串或代表数学函数的符号表达式,只有一个符号变量
区别:
plot是绘制二维图形,并且是x,y的表达式是已知的或者是形如y=f(x)这样确切的表达式
而ezplot是画出隐函数图形,是形如f(x,y)=0这种不能写出像y=f(x)这种函数的图形
如果真的需要 可以用这样参数形式
ezplot('5','t')
符号函数简易绘图函数ezplot(f)
f可以包含单个符号变量x的字符串或表达式,默认画图区间(-2pi,2pi),如果f包含x和y,画出的图像是f(x,y)=0的图像,缺省区间是-2pi
Ezplot(f,xmin,xmax)或ezplot(f,[xmin,xmax])绘制在xmin
syms x t
ezplot('tcos(t)','tsin(t)',[0,4pi])
Marker会出现在所有数据点上,不可能控制其间距。
要想不丢失数据而使得Marker稀疏,一种变通的做法是,在原图的基础上另外绘制一条曲线,该曲线专门用于绘制Marker,其数据由原曲线的数据提取。
下面的代码演示了实现方法,但需要注意的是,目前只适合图形中只有一条曲线的情况,如果有多条曲线,还需进行一些修改。
syms xGstar yArstarD1=15; D2=16; K=4; phi=001;
acstar1 = (05sqrt(pi)Kphi)^(2/(1-D1))xGstar^2;
acstar2 = (05sqrt(pi)Kphi)^(2/(1-D2))xGstar^2;
h = ezplot(sqrt(xGstar/pi)(yArstar/3)^075log(yArstar/(3acstar1))+
KphiyArstar^075(3acstar1)^025-3e-4,[1e-9,1e-5,1e-5,50e-1]);
set(h,'LineStyle','-','color','k');
X = get(h, 'x');
Y = get(h, 'y');
dX = max(X) - min(X);
dY = max(Y) - min(Y);
e = 001; % 距离系数,越小则越密集
clear x y
x(1) = X(1);
y(1) = Y(1);
for i = 2 : length(X)
if sqrt( ((X(i)-x(end))/dX)^2 + ((Y(i)-y(end))/dY)^2 ) >= e
x(end+1) = X(i);
y(end+1) = Y(i);
end
end
% 使用相同的颜色和线宽绘制Marker
hold on
plot(x,y,'o','color',get(h,'color'),'linewidth',get(h,'linewidth'))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)