我正在尝试为z = 0的xy平面中的自定义函数返回的3D向量生成轮廓图。
我尝试了这个,但是我得到一个空图:
% Stand in for the real function I want to plot.
f = @(x, y, z) [x ^ 2, y ^ 2, x * y + z];
x = linspace(-5, 5, 50);
y = linspace(-5, 5, 50);
z = zeros(length(x), length(y), 3);
% I know this can be vectorized but the function I really want to graph can't
% be.
for i = 1:length(x)
for j = 1:length(y)
z(i, j, :) = f(x(i), y(j), 0);
end
end
figure;
axis equal;
contour(x, y, z);
您应该提及自己的轴心。您有x,y
和的3个输出f
。
如果您将自己的3
输出f
视为要绘制的输出,则应使用,
contour(z(:,:,1),z(:,:,2),z(:,:,3));
这会给你这个,
我认为您正在寻找的是具有一个输出的函数,例如,
f = @(x, y,z) [x ^ 2 + y ^ 2 + x * y + z ];
x = linspace(-5, 5, 50);
y = linspace(-5, 5, 50);
z = zeros(length(x), length(y));
for i = 1:length(x)
for j = 1:length(y)
z(i, j) = f(x(i), y(j),0);
end
end
contour(x,y,z,20);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句