[英]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.