2017-12-06 24 views
0

の中央検索:私は楕円体に合わせて、次のMATLABスクリプトを使用したい楕円

https://de.mathworks.com/matlabcentral/fileexchange/24693-ellipsoid-fit

をしかし、私はまた、数学を理解して欲しいです。私はここにこだわっています:

% find the center of the ellipsoid 
center = -A(1:3, 1:3) \ v(7:9); 

ここで 'A'は楕円の代数形です。ですから、私の質問は、「代数楕円形と楕円形の中心」の関係はどういう意味ですか?

+0

これは、プログラミング問題の数学的な問題だと思います。 – Squeezie

+0

はい、あなたは正しいです。 – Mark

+0

私はあなたが何を意味するかは完全には分かっていませんが、代数楕円体の形はおそらく方程式の形(デカルトまたは球の座標など)を指していますが、楕円体の中心はおそらく楕円体の方程式のRHSの中心を指します。このリンクは、次のようなメリットがあります。http://mathworld.wolfram.com/Ellipsoid.html – ProgrammingEnthusiast

答えて

0

楕円の方程式を使用すると、また

  ⎡v1 v4 v5⎤ ⎡x⎤     ⎡v7⎤ 
[x y z] * ⎢v4 v2 v6⎥ * ⎢y⎥ + 2 * [x y z] * ⎢v8⎥ + v10 = 0 
      ⎣v5 v6 v3⎦ ⎣z⎦     ⎣v9⎦ 

第二の加数がゼロであるかのように同次座標なしで書き込むことができる

  ⎡v1 v4 v5 v7 ⎤ ⎡x⎤ 
      ⎢v4 v2 v6 v8 ⎥ ⎢y⎥ 
[x y z 1] * ⎢v5 v6 v3 v9 ⎥ * ⎢z⎥ = 0 
      ⎣v7 v8 v9 v10⎦ ⎣1⎦ 

として同次座標で与えられ、これは楕円の中心説明しますすべての点[x、y、z]に対してその鏡像[-x、-y、-z]が同じ結果につながるからです。したがって、第2の(すなわち線形の)項は、楕円体を中心からずらすものである。あなたは、原点を中心とする楕円で始まり、その後に中央をシフトする場合は、[CX、CY、CZ]フォーム

    ⎡v1 v4 v5⎤ ⎡x-cx⎤ 
[x-cx y-cy z-cz] * ⎢v4 v2 v6⎥ * ⎢y-cy⎥ = const. 
        ⎣v5 v6 v3⎦ ⎣z-cz⎦ 

またはベクトル表記での何か(書き込みと

終わるだろうA問題の3×3行列)

(x-c) * A * (x-c) = x*A*x - 2*x*A*c + c*A*c = const. 

のために、私はMatlabの中であなたがベクトルの一部を移調するどこかにいくつかの'を必要とするだろうが、あなたのアイデアを得る知っています。私がさらにアップ書いたものに上記を比較すると、あなたが使用して、あなたがcのために解決することができ、ここで方程式の線形システムを持っていることを意味する、すなわち、基本的にあなたは線形項が等しくなるようにしたいという

-2*x*A*c = 2*x*v(7:9) 
    -A*c = v(7:9) 

    ⎡v1 v4 v5⎤ ⎡cx⎤ ⎡v7⎤ 
- ⎢v4 v2 v6⎥ * ⎢cy⎥ = ⎢v8⎥ 
    ⎣v5 v6 v3⎦ ⎣cz⎦ ⎣v9⎦ 

を見ることができます引用したコードこれは、均質な記述から左上の3×3の行列をとり、線形項に対応するvの3つの要素を取ります(これはA(4, 1:3)と書かれていますが、Matlabの専門家ではないと仮定します)。\線形連立方程式を解く。演算子の優先順位が-が行列Aまたはソリューションに適用されるかどうかはわかりませんが、どちらの場合も結果は同じですので、それほど重要ではありません。

+0

Thxです。私はあなたの説明の一部に従うことができると思う。私は式1)と2)を理解しました。式3)は、中心からずれた楕円である。しかし式1。)も中心からずれた楕円体である。違いはなんですか ? – Mark

+0

@マーク:1.)および2.)は同等であり、単に異なる表記です。 3)は、中心の座標をより容易に明らかにするために、異なる変数およびそれらの異なる配列を使用する。 2.)と3.)を互いに等しくすることによって、1.)または2.)の形をとって、3.)のように中心を抽出することができます。ですから、あなたはcを計算するための方程式を解くと、2)と3)も等しくなります。 – MvG

+0

よろしいですか?したがって、3.)1.)または2.)を作成するために必要ないくつかの追加手順があります。私はそれを試みたが成功しなかった。それから、私は4)をx * A * x - 2 * x * A * c + c * A * cに展開していますが、今度は4)〜5)のステップを理解できません: – Mark