的fplot
family接受符号表达式和方程作为输入,使解析绘图变得容易,而不需要显式地生成数值数据。
此示例具有以下功能
fplot
fplot3
fsurf
fcontour
fmesh
fimplicit
fimplicit3
信谊xfplot (sin (exp (x)))
fplot ([sin (x), cos (x)谭(x)))
信谊xyr = 1:10;fimplicit (x ^ 2 + y ^ 2 = = r)
潜艇
信谊x一个表达=罪(exp (x / a))
表达=
fplot(潜艇(表达式,[1、2、4]))从传说显示
探索样条逼近
信谊f (x)f(x) = x*exp(-x)*sin(5*x) -2;x = 0:1/3:3;y =双(潜艇(f, x));fplot (f, [0, 3])在情节(x, y,‘* k”,“DisplayName的”,的数据点) fplot(@(x)样条曲线(xs,ys,x),[0 3],“DisplayName的”,“样条interpolant”)举行从网格在传说显示
信谊xn = 5;约= cumsum(罪((1:2:2 * n - 1) * x) / (1:2:2 * n - 1));fplot(约“线宽”,1)
使用符号输入,我们可以执行计算并绘制结果。
信谊f (x),假设(> 0);f (x) = * x ^ 2 + ^ 2 * x + 2 *倍根号(a)
f (x) =
x_min =求解(diff(f,x), x)
x_min =
x_min fplot (f (a),[0 5)包含“一个”标题" f的最小值取决于a "
假设(一个,“清楚”)
信谊xt6 =泰勒(cos (x), x,“秩序”6)
t6 =
t8 =泰勒(cos (x), x,“秩序”,8)
t8 =
fplot ([cos (x) t6 t8]) xlim ([4 4]) ylim([-1.5, 1.5])标题'6阶和8阶泰勒级数逼近cos(x)'传说显示
一些符号表达式不能转换成MATLAB函数。
信谊xf = x ^ x
f =
int (f (x)
ans =
差异(f (x)
ans =
fplot([f, int(f,x), diff(f,x)],[0 2])图例显示
曲线
或
可以用fplot
或fplot3
(就像情节
或plot3
数值资料):
信谊tfplot3 (sin (t) - t / 2,因为(t) t ^ 3,“——”,“线宽”,2.5)视图(45 [-45])
信谊xyfsurf (sin (x) +罪(y)——(x ^ 2 + y ^ 2) / 20日“ShowContours”,“上”)设置(camlight“颜色”,0.5 0.5 1);集(camlight (“左”),“颜色”, [1 0.6 0.6]);集(camlight (“左”),“颜色”, [1 0.6 0.6]);集(camlight (“对”),“颜色”, [0.8 0.8 0.6]);材料闪亮的视图(-19年56)
meshgrid
信谊xyu = diff (diff (sin (x ^ 2 + y ^ 2)))
u =
v = diff (diff (cos (x ^ 2 + y ^ 2)))
v =
[X, Y] = meshgrid(-3:.1:3,-2:.1:2);U = subs(U, [x, y], {x, y});V = subs(V, [x, y], {x, y});startx = 3:0.1:3;starty = 0(大小(startx));h =简化(X, Y, U, V, X, Y);为i = 1:长度(h) 1 h (i)。颜色= [rand() rand() rand() rand()];结束
就像fplot
,fsurf
在需要的地方更密集地计算符号表达式,以更精确地显示曲线区域和渐近区域。
fsurf(log(x) + exp(y), [-2])
绘制隐式曲面 。指定一个输出,使fimplicit3返回plot对象。
信谊xyzf = 1/x^2 - 1/y^2 + 1/z^2;fimplicit3 (f)
不像纯象征性的功能(如int
,diff
,解决
),fsurf
不允许指定变量的顺序。要设置顺序,请使用符号函数:
信谊f (t)x (u, v)y (u, v)z (u, v)f (t) =罪(t) * exp (- t ^ 2/3) + 1.5;x (u, v) = u
x (u, v) =
y (u, v) = f (u) * sin (v)
y (u, v) =
z (u, v) = f (u) * cos (v)
z (u, v) =
fsurf(x,y,z,[-5 5.1 0 2*pi])
fmesh
对于3D网格图绘制参数化网格
在哪里
信谊年代tr = 8 + sin(7*s + 5*t);x = r * cos (s) * sin (t);y = r * sin (s) * sin (t);z = r * cos (t);fmesh(x, y, z, [0 2*pi 0 pi],“线宽”2)轴平等的
信谊xyg (x, y)g (x, y) = x ^ 3 - 4 * x - y ^ 2
g (x, y) =
fcontour(g,[-3 -4],“LevelList”六)标题“一些椭圆曲线”