[繪圖] 雙變數方程式繪圖相關問題
各位好。
小弟正在寫論文,目前遇到需要繪圖輔助的情況,
教授建議可以使用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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.154.12
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1545079836.A.B6C.html
推
12/18 07:22,
6年前
, 1F
12/18 07:22, 1F
應該是說,我的確有畫出來z函數的圖,
但誠如問題一提及的,我畫出的是「在x、y值域有限制情形下」的圖。
而在原始設定中,x、y只要為正數即可,
但我拿掉linspace之後,圖卻又跑不出來了qq (就會變成問題一黃字那段)
還是說,用matlab畫圖在設定上一定要有值域的限制呢?
推
12/18 11:14,
6年前
, 2F
12/18 11:14, 2F
→
12/18 11:15,
6年前
, 3F
12/18 11:15, 3F
推
12/18 19:46,
6年前
, 4F
12/18 19:46, 4F
推
12/18 20:48,
6年前
, 5F
12/18 20:48, 5F
→
12/18 20:48,
6年前
, 6F
12/18 20:48, 6F
→
12/18 20:49,
6年前
, 7F
12/18 20:49, 7F
→
12/18 20:49,
6年前
, 8F
12/18 20:49, 8F
推
12/18 20:53,
6年前
, 9F
12/18 20:53, 9F
感謝s大及p大的觀念指正!
也謝謝p大的教學~
※ 編輯: a0981314780 (36.227.50.224), 12/27/2018 17:41:49
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章