我可以使用此方法在Matlab中绘制椭球: Xc是中心的x坐标,Xr是椭圆体在x方向上的长度的一半
Xc = 0; Xr = 1;
Yc = 0; Yr = 2;
Zc = 0; Zr = 3;
[X Y Z] = ellipsoid(Xc, Yc, Zc, Xr, Yr, Zr);
surf(X,Y,Z);
这可以给我一个椭圆体的三维图像,但如果我不知道像Xc或Xr这样的东西,我所知道的只是一个函数:
A = 5; B = 0; C =2;
D = 2; E = 1;
P = [A B;
B C];
q = [D E];
syms x y;
f = [x y] * P * [x y]' + q * [x y] + 1;
但似乎冲浪不允许使用syms变量。 ezplot(f)只给出一个二维椭圆。
如何使用冲浪,网格或其他任何东西在Matlab中绘制具有此功能的三维椭球?
我写这个函数f的原因是我想看看矩阵P的正定性和负定性如何影响函数f的图像。
谢谢!
答案 0 :(得分:0)
您可以使用isosurface
绘制椭圆体(或任何其他隐式曲面)。例如,椭圆体
可以使用以下代码绘制2*x^2+2xy+3y^2+2yz+4z^2+4z-1=0
:
[x,y,z]= meshgrid(-2:0.05:2); % the surface should fit in the meshgrid area
v= 2*x.^2+2*x.*y+3*y.^2+2*y.*z+4*z.^2+4*z-1; % the left side of the equation
isosurface(x,y,z,v,0); % the value 0 is the right hand side of the equation
axis tight