matlab syms 绘图,Matlab、MuPAD 符号变量 画图方法
Matlab 函数绘图使用前辍 ez 的函数来绘图。比如 ezsurf绘制曲面图,ezplot 绘制平面上的曲线, ezmesh 绘制网格图。syms x y real;y=x+5;ezplot(y)这个可以画出一条直线来。在MuPAD 的 NoteBook 中,输入命令:deletex,y//这个是为了防止前面的运算干扰y:=x+5:plot(y)可以画出和上面Matlab中一样的图。画一条和.
Matlab 函数绘图
使用前辍 ez 的函数来绘图。比如 ezsurf
绘制曲面图,ezplot 绘制平面上的曲线, ezmesh 绘制网格图。
syms x y real;
y=x+5;
ezplot(y)
这个可以画出一条直线来。
在MuPAD 的 NoteBook 中,输入命令:
delete x,y
//这个是为了防止前面的运算干扰
y:=x+5:
plot(y)
可以画出和上面Matlab中一样的图。
画一条和X轴水平的直线
ezplot(0*x+5)
如果直接 ezplot(5) 会提示有错误,需要
ezplot('5')
而MuPAD则较为简单
plot(5)
看来MuPAD相对方便一些。
如果要画与Y轴平行的直线,那么就像
ezplot('x=0*y+1'),plot(x=1) 。
画隐函数表示的曲线
ezplot(sym('y-x=5'))
这条曲线和上面的例子一样的,不过是用隐函数的方式来表达。
如果:ezplot(y-x=5) 则会发生错误。提示错误为
等号左边的表达式不是一个有效的目标。这也好理解,y-x 确实不是一个可以赋值的变量。显然, y-x=5
中的等号被理解为一个赋值操作,而不是一个数学上的“=”操作。sym('y-x=5')
中的等号不是一个赋值操作,因为它是一个字符串中的内容。传递一个符号表达式给ezplot,然后再分析。
为了更方便一些,也可以:ezplot('y-x=5')
也就是
引号括起来的字符串将被当成符号表达式。
在MuPAD中,同样的功能为:plot(y-x=5),相对而言是较为简单的。
ezplot('abs(x-y)=5',[0,30])

用MuPAD达到同样的绘图:
delete x,y
plot(abs(y-x)=5,x=0..30)

有时注意要删除x、y,因为如果前面有运算的话,可能x、y
不是变量而是一个常数值,这样就不是原来所想的函数了。
画定义域为符号表达式的曲线
比如曲线 y=x+5,规定定义域为
x^2<16
用MuPAD来画:
delete x,y;x,y
plot(piecewise([x^2<16,x+5]))

也就是使用piecewise来表达分段。分段,当然可以只有一段。如果用Matlab来画这种函数,那么似乎得先求出一个常数类型的定义域。比如,此例中,根据x^2<16可解得
-4
ezplot('x+5',[-4,4])
不过,有时候这样求解比较麻烦。solve('x^2<16')
画定义域、某种区域(平面的一部分)
比如,上例中的定义域为x^2<16,就是一条线段。
delete x,y;x,y
plot(x^2<16)

假设要在平面上画出一个圆形区域的定义域:x^2+y^2<16
delete x,y;x,y
plot(x^2+y^2<16)

如何用Matlab来画一个区域?具体方法还不知道。
ezsurf('x^2+y^2<16',[-10,10],300)

ezplot('x^2+y^2<16',[-10,20])

画曲面
比如,某个曲面的表达式为 z=x^2+y^2,
ezsurf('x^2+y^2')

delete x,y;x,y
plot(x^2+y^2,#3D)

效果差不多。
隐函数形式的曲面
比如上面那个曲面,如果把式子变成:x^2+y^2-z=0,就是隐函数了。
delete x,y
plot(x^2+y^2-z=0,#3D)

用matlab来画隐函数形式的曲面据说很麻烦。具体方法不详。
画球体的方法:比如
plot(x^2+y^2+z^2=10,#3D)

二维随机变量的均匀分布中,定义域为圆形,联合密度图形
定义域:x^2+y^2<=1
p=1;
plot(piecewise([x^2+y^2<=1,1]),#3D)

在MuPAD中,z=x+y 与 z:=x+y 的不同
z=x+y
是一种数学表达式,不是赋值操作,而带冒号的 z:=x+y 是一种赋值操作。
比如,plot(z=x+y,#3D)
被认为是在画隐函数形式的曲面。 z:=x+y: plot(z,#3D) 效果与之相同,用 z 代表
x+y。
如果
z:=x+y
plot(z=x+y,#3D)
则会被解析为
plot(x+y=x+y,#3D),0?
例题
已知 v 为正实数,u属于区间
【负根号2,根号2】。求证:8 <= (u - v)^2 + (9/v - (2 - u^2)^(1/2))^2

z:=(u-v)^2+(sqrt(2-u^2)-9/v)^2plot(z,8,#3D) assuming
v>0,-sqrt(2)
看图。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)