各位好。
小弟正在寫論文,目前遇到需要繪圖輔助的情況,
教授建議可以使用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