メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

propagateOrbit

国際天体基準座標系(ICRF)で位置と速度を計算する

R2023b 以降

    説明

    [positions,velocities] = propagateOrbit(time,tleStruct) は、 tleStruct で定義された 2 線要素 (TLE) データを使用して、 time で指定された時間に対応する国際天体基準フレーム (ICRF) 内の位置と速度を計算します。

    [positions,velocities] = propagateOrbit(time,a,ecc,incl,RAAN,argp,nu) は、指定された軌道要素を使用して位置と速度を計算し、エポック状態を定義します。この関数は、エポックが現在の協定世界時 (UTC) の日付と時刻であり、time 引数の最初の要素であると想定します。

    [positions,velocities] = propagateOrbit(time,rEpoch,vEpoch) は、 rEpochvEpoch によって定義されたエポックにおける位置と速度を計算します。この関数は、エポックが現在の UTC の日付と時刻であり、time 引数の最初の要素であると想定します。

    [positions,velocities] = propagateOrbit(___,time,Name=Value) は、1 つ以上の名前と値の引数を使用して位置と速度を計算します。

    すべて折りたたむ

    TLE ファイル 'leoSatelliteConstellation.tle' からデータを読み取り、TLE 構造 tleStruct から位置と速度を計算します。

    MATLAB ® パスにあり、Aerospace Toolbox で提供される TLE ファイル 'leoSatelliteConstellation.tle' からデータを読み取ります。

    tleStruct = tleread('leoSatelliteConstellation.tle')
    tleStruct=40×1 struct array with fields:
        Name
        SatelliteCatalogNumber
        Epoch
        BStar
        RightAscensionOfAscendingNode
        Eccentricity
        Inclination
        ArgumentOfPeriapsis
        MeanAnomaly
        MeanMotion
    
    

    tleStruct で定義された TLE データを使用して、入力時間に対応する位置と速度を計算します。

    [r,v] = propagateOrbit(datetime(2022, 1, 3, 12, 0, 0),tleStruct);

    入力引数

    すべて折りたたむ

    ユリウス日または datetime。1 行 m 列のベクトル、または datetime 個のオブジェクトまたは double の m 行 1 列のベクトルとして指定されます。time は厳密に増加する必要があります。

    TimeZone プロパティが空の datetime オブジェクトを指定すると、propagateOrbitdatetime オブジェクトのタイム ゾーンが UTC であると想定します。

    例: datetime(2023,6,16)

    例: juliandate(2023,6,16)

    データ型: double

    長半径。numSc 要素のベクトルまたはスカラーとしてメートル単位で指定されます。すべての宇宙機が同じ長半径を持つ場合は、a をスカラーとして指定できます。numSc は宇宙機の数です。

    例: 10000000

    例: [8000000 10000000]

    データ型: double

    軌道離心率(軌道曲線の円からの偏差)。numSc 要素のベクトルまたはスカラーとして指定されます。すべての宇宙機の離心率が同じ場合は、ecc をスカラーとして指定できます。numSc は宇宙機の数です。

    例: 0.1

    例: [0.1 0.2]

    傾斜、昇交点で測定された ICRF xy 平面に対する楕円の垂直傾斜。numSc 要素のベクトルまたはスカラーとして指定されます。numSc は宇宙機の数です。

    例: 10

    例: [20 30]

    昇交点の赤経 (RAAN)。numSc 要素のベクトルまたは度単位のスカラーとして指定します。すべての宇宙機の昇交点の赤経が同じ場合は、RAAN をスカラーとして指定できます。numSc は宇宙機の数です。

    例: 10

    例: [20 30]、宇宙機が2つある場合

    近点引数、軌道昇交点から近点(中心天体に最も近い軌道点)までの角度。numSc 要素ベクトルまたはスカラーとして指定されます。すべての宇宙機の近点引数が同じ場合は、RAAN をスカラーとして指定できます。numSc は宇宙機の数です。

    例: 10

    例: [20 30]、宇宙機が2つある場合

    真近点、つまり宇宙機の近点と初期位置の間の角度。numSc 要素のベクトルまたはスカラーとして指定されます。すべての宇宙機の近点引数が同じ場合は、nu をスカラーとして指定できます。numSc は宇宙機の数です。

    例: 10

    例: [20 30]、宇宙機が2つある場合

    エポックでの位置。3 行 1 列のベクトルまたは 3 行 numSc 列の行列として指定されます。すべての宇宙機がエポックで同じ初期位置にある場合は、3 要素ベクトルとして rEpoch を指定できます。numSc は宇宙機の数です。

    例: [10000000;1000;2000]

    例: [10000000 12000000;1000 2000;2000 4000]、宇宙機が2つある場合

    依存関係

    rEpoch と対応する vEpoch ベクトルは平行にできません。

    エポックでの速度。3 行 1 列のベクトルまたは 3 行 numSc 列の行列として指定されます。すべての宇宙機がエポックで同じ初期速度を持つ場合、vEpoch を 3 要素ベクトルとして指定できます。numSc は宇宙機の数です。

    例: [0;8000;0]

    例: [0 100;8000 9000;200 300]、宇宙機が2つある場合

    依存関係

    vEpoch と対応する rEpoch ベクトルは平行にできません。

    TLE データを表す TLE 構造。numSc 要素ベクトルとして指定されます。numSc は宇宙機の数です。TLE 構造ファイルを作成するには、tleread の使用を検討してください。TLE ファイル構造の詳細については、2 行要素 (TLE) ファイル を参照してください。

    例: tleread("leoSatelliteConstellation.tle")

    データ型: string

    名前と値の引数

    すべて折りたたむ

    オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

    R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

    例: PropModel="two-body-keplerian" は伝播方法として two-body-keplerian を指定します。

    エポック (スカラーとして指定)、datetime (倍精度浮動小数点数として指定)。

    TimeZone プロパティが空の datetime オブジェクトを指定すると、propagateOrbit 関数は datetime オブジェクトのタイム ゾーンが UTC であると想定します。

    例: datetime(2023,6,19)

    依存関係

    エポック状態が tleStruct を使用して指定されている場合は、この名前値引数を指定しないでください。

    データ型: double

    軌道状態の伝播方法。次のいずれかの値として指定されます。

    • "general-perturbations" — 軌道周期に応じて "sgp4" または "sdp4"。エポック状態に対応する軌道周期が 225 分未満の場合、伝播モデルは "sgp4" です。そうでない場合は、"sdp4" です。

    • "two-body-keplerian" — 2 体ケプラー軌道伝播関数。

    • "sgp4" — 簡略化された一般摂動法 4 の軌道プロパゲーター。

    • "sdp4" — 簡略化された Deep-Space Perturbations-4 軌道プロパゲーター。

    例: PropModel="two-body-keplerian"

    データ型: char | string

    空気抵抗項。numSc 要素のベクトルまたはスカラーとして指定されます。すべての宇宙機が同じ Bstar 値を使用する場合、この引数をスカラーとして指定できます。numSc は宇宙機の数です。

    例: BStar=0

    例: BStar=[0.0001 0.0002]、宇宙機が2つある場合

    依存関係

    propagateOrbit は次の場合にこの値を使用します:

    • PropModel"general-perturbations""sgp4"、または "sdp4" に設定されます。

    • エポック状態は tleStruct を使用して指定されません。

    データ型: double

    rEpochvEpoch の入力座標フレーム。次のいずれかの値として指定されます。

    • "icrf"rEpochvEpoch は ICRF でそれぞれメートルと m/s で定義されています。

    • "fixed-frame"rEpoch および vEpoch は、それぞれ地球中心地球固定 (ECEF) フレームで m および m/s 単位で定義されます。

    • "geographic"rEpoch は、緯度 (度)、経度 (度)、高度 (メートル) として定義されます。vEpoch は、rEpoch で定義される North-East-Down (NED) フレームで表される固定フレームの速度で定義されます。

    例: InputCoordinateFrame="fixed-frame"

    データ型: char | string

    出力 positions および velocities の出力座標フレーム。次のいずれかの値として指定されます。

    • "icrf"positionsvelocities は ICRF でそれぞれ m と m/s で定義されています。

    • "fixed-frame"positions および velocities は、それぞれ地球中心地球固定 (ECEF) フレームで m および m/s 単位で定義されます。

    • "geographic"positions は、緯度 (度)、経度 (度)、高度 (メートル) として定義されます。velocities は、rEpoch で定義される North-East-Down (NED) フレームで表される固定フレームの速度で定義されます。

    例: OutputCoordinateFrame="geographic"

    データ型: char | string

    出力引数

    すべて折りたたむ

    位置は、3 x m x numSc の配列として返されます。m は時間サンプルの数です。numSc は宇宙機の数です。

    速度は、3 x m x numSc の配列として返されます。m は時間サンプルの数です。numSc は宇宙機の数です。

    バージョン履歴

    R2023b で導入