2014-12-08 80 views
0

我怎樣才能在一般方程得出一個圓錐面:繪製一個圓錐體表面一般方程在Matlab

ax^2+by^2+cz^2+dxy+exz+fyz+gx+hy+iz+k=0 

在Matlab中嗎?

+0

http://au.mathworks.com/help/matlab/ref/surf.html – David 2014-12-08 00:29:27

+0

重複它需要定義x,y和z的向量。你如何根據我提供的公式來定義它們? – NESHOM 2014-12-08 00:34:24

+0

http://au.mathworks.com/help/matlab/visualize/representing-a-matrix-as-a-surface.html這應該有所幫助,閱讀它,然後問一個更精確的問題,如果你不明白。 – David 2014-12-08 00:39:29

回答

1

這不是您的問題的完整答案(但對於評論來說太笨重),希望它能幫助您繼續。關於你提到的關於Z = F(X,Y),就可以得到它解決一個簡單的二次方程針對z關注:

clear all; 
a = - 90.53; 
b = @(x,y)(66.66*x - 33.67*y + 50429.65); 
c = @(x,y)(-11.56*x.^2 - 10.24*y.^2 + 16.43*x*y - 19156.33*x + 7731.95*y - 6899727.01); 
D = @(x,y)(b(x,y).^2 - 4 * a * c(x,y)); 
z1 = @(x,y)((-b(x,y) + sqrt(D(x,y)))/(2*a)); 
z2 = @(x,y)((-b(x,y) - sqrt(D(x,y)))/(2*a)); 

注意,對於一些(X,Y)的d < 0和Z1和Z2將這些點相當於你的錐體外部的空間。您可以選擇相關子空間,如

xD = -100:100; 
yD = arrayfun(@(x)(fzero(@(y)(D(x,y)),0.0)),xD); 

現在您需要使用define X,Y,Z矩陣並使用surf來繪製它。請讓我知道這是否有效,否則我會再試一次。

+0

感謝您的評論。我找到了解決方案併發布了它的鏈接。 – NESHOM 2014-12-10 00:02:31