[英]Matlab 3d plot custom function
我是Matlab的新手,但遇到了這個問題:我有一個函數,將3個double作為參數並輸出一個double,例如:
function l = myFunct(a,b,c)
l = a^2*b^2 + (2*(c^2 - b) / (a - sqrt(c)))
end
現在,我需要繪制此函數在時間間隔上的結果:a = b = [0.1,3],同時保持c = 2。
我設法對單個變量的2d圖進行了此操作,但對3d卻沒有做到...
R = 0:0.01:2;
fun = @(x) myFunct(0.2, x, 3);
B = arrayfun(fun,R);
plot(R, B);
您能幫忙解釋一下嗎?
我終於解決了:
V = 2;
[X,Y] = meshgrid(0.1:0.1:3);
Z = myFunct(X,Y,X*0+V);
figure
surf(X,Y,Z);
謝謝大家的答復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.