アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
エクセルで時間t と動いている1点のx座標,y座標の関係をまとめました。
横軸をx座標,縦軸をy座標としてグラフを作ると、
この1点が(ほぼ)楕円形で動いていることがわかりました。
この楕円はx軸方向(水平方向)に対して長軸が傾いています。
この長軸の傾きを求める方法がわかりません。
宜しくお願いします。

A 回答 (5件)

楕円の一番長い軸(長軸)の長さsを測り、この長軸の両端をx軸に射影した長さpを測ります。



傾きはatan(p/s)で計算します。radianで出るので必要に応じて°に直してください。
    • good
    • 0

(x, y)データを使って最小二乗法で一次式の回帰式を求めると大体の傾きがわかるかも。

    • good
    • 0

何らかの方法で楕円の中心の位置を求め、これを原点とする楕円の方程式を次のように得たとします。


a・x^2+2h・xy+b・y^2=1.
(ただし、a>0、ab-h^2>0)
この楕円の軸がx、y軸となるように、Oのまわりにφだけ回転します。
計算により、
tan(2φ)=2h/(b-a)
を満たすようにφを選ぶとき、楕円の軸はx、y軸となります(|φ|<π/4)。

このとき楕円の方程式は、A・x^2+B・y^2=1の形となります。ただし、
A={(a-b)/2}・cos(2φ)-h・sin(2φ)+(a+b)/2、
B={(b-a)/2}・cos(2φ)+h・sin(2φ)+(a+b)/2.
です。
この(φ)が、軸の傾きです。
また、楕円の両軸の長さは、2/√A、2/√Bです。
    • good
    • 0

xおよびyの刻み(点の間隔)にもよると思いますが、


xとyについてそれぞれ最大値と最小値の平均をとると
それらが(ほぼ)中心に近いのではないかと。
上記の刻みが細かくないと誤差が大きくなるけど。

中心が判ったら、今度は各点から中心までの距離を
求め、一番距離が大きい点と中心を結んだらそれが
長軸。この二点の座標から長軸の傾きが判るかと。
これも刻みが細かくないと誤差が出ますが。

せっかくエクセルなので近似曲線でも引いてみて、
その式を利用するとか。
    • good
    • 0

点の座標のデータ(x,y)にはほとんど誤差がなくて、点が奇麗に楕円上に並んでいる、という前提でなら、以下の方法が使えます。



(1) x座標をA列, y座標をB列に並べます。たとえばデータが100個あるとするとA1~B100が埋まります。
(2) 各行について、x^2をC列、x*yをD列、y^2をE列に作ります。
(3) さらに、F1~F100に1を入れます。これで、A1~F100までが埋まりました。
(4) 範囲H1~M5を選択した状態で、セルH1に =mmult(transpose(A1:E100),A1:F100) と入力します。ここでenterとか押しちゃ駄目でして、最後の")"を入力した状態のまま、 Macなら commandキーを押しながらenter。(Windowsならcommandの代わりにcontrolキーだっけか。)
すると、数式バーの表示が勝手に {=mmult(transpose(A1:E100),A1:F100)} に変化します。そして、範囲H1~M5に数値が表示される。
(5) 範囲H7~L11を選択した状態で、セルH7に =minverse(H1:L5) と入力し、(4)と同様に commandキーを押しながらenter。
すると、範囲H7~L11に数値が表示されます。
(6) 範囲H13~H17を選択した状態で、セルH13に =mmult(H7:L11,M1:M5) と入力し、同様に commandキーを押しながらenter。
すると、範囲H13~H17に5個の数値が表示される。これらは上から順に、下記の式の係数a, b, c, d, eの近似値を表しています。

  a x + b y + c x^2 + d xy + e y^2 = 1

つまりこれで楕円の方程式の係数が全部分かったということ。後はできるでしょ?

 なお、(1)~(6)の手順の意味はというと、線形最小二乗法を応用して、データによく合う楕円のパラメータa,b,c,d,eの近似値を算出したのです。近似値の精度を良くするには、全部の点のx座標の平均値 m, y座標の平均値 nを使って、データ(x,y)を全部(x-m, y-n)に置き換えてから処理するのがオススメです。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています