各位好。
小弟正在写论文,目前遇到需要绘图辅助的情况,
教授建议可以使用matlab,但之前从没碰过这软件,
自己上网查指令后是有画出图,不过没能完全解决需求,
所以来这边请教各位前辈 m(_ _)m
[前情提要]
需要判别下列双变量函数值z的正负。
z=32*x^3*y+3*y^4-16*x^4-8*x^2*y^2-8*x*y^3
(其中x,y皆>0且x>y)
[问题]
1. 有曾经成功画出来,但那是在x、y有限制值域的情况下 (例如:x属于[0,100])
指令的部分使用的是 x = linspace(0,100),
我查了之后发现这个,好像是用来把一定范围内的数分成n等分的间隔,
对我需要解决的问题好像不是很重要,可是拿掉上面那指令后它就跑不出来了。
#以下为跑不出来时用的指令及结果
>> syms x y
>> [xx,yy] = meshgrid(x,y)
>> zz = 32*xx.^3*yy.^1 + 3*yy.^4 - 16*xx.^4 - 8*xx.^2*yy.^2 - 8*xx.*yy.^3
>> mesh(xx,yy,zz)
Error using mesh (line 71)
Z must be a matrix, not a scalar or vector.
2. 需要一条y=x的45度辅助线,这部分该使用什么指令呢?
3. 因为最后我只是需要判断,z函数的值在怎样的x、y之下会为正、负或0,
所以是否有办法做到将z值投影到x、y的平面上,并且以线段区分?
(换句话说,就是在z=0的x、y平面上,以线段区分出各区块的正负)
我有发现一个等高线的指令(contour?),有成功用出但也不是想要的成果,
能否用指令设定等高线值=0之类的呢?
大概类似这张图的感觉(纯示意图):https://i.imgur.com/KMkkQMR.png
以上的问题麻烦各位解答了,先谢过各位前辈 qq