interpolate
説明
例
SE(2) での状態間の内挿
既定のプロパティで SE(2) 状態空間を作成します。
space = stateSpaceSE2
space = stateSpaceSE2 with properties: Name: 'SE2' StateBounds: [3x2 double] NumStateVariables: 3 WeightXY: 1 WeightTheta: 0.1000
2 次元空間に状態のペアを作成します。
state1 = [2 10 -pi]; state2 = [0 -2.5 -pi/4];
2 つの状態の中間を内挿します。
state = interpolate(space,state1,state2,0.5)
state = 1×3
1.0000 3.7500 -1.9635
固定の間隔で複数の点を内挿します。
states = interpolate(space,state1,state2,0:0.02:1)
states = 51×3
2.0000 10.0000 -3.1416
1.9600 9.7500 -3.0945
1.9200 9.5000 -3.0473
1.8800 9.2500 -3.0002
1.8400 9.0000 -2.9531
1.8000 8.7500 -2.9060
1.7600 8.5000 -2.8588
1.7200 8.2500 -2.8117
1.6800 8.0000 -2.7646
1.6400 7.7500 -2.7175
⋮
SE(3) での状態間の内挿
既定のプロパティで SE(3) 状態空間を作成します。
space = stateSpaceSE3
space = stateSpaceSE3 with properties: Name: 'SE3' StateBounds: [7x2 double] NumStateVariables: 7 WeightXYZ: 1 WeightQuaternion: 0.1000
3 次元空間に状態のペアを作成します。
state1 = [2 10 3 0.2 0 0 0.8]; state2 = [0 -2.5 4 0.7 0.3 0 0];
2 つの状態の中間を内挿します。
state = interpolate(space,state1,state2,0.5)
state = 1×7
1.0000 3.7500 3.5000 0.7428 0.2519 0 0.6203
固定の間隔で複数の点を内挿します。
states = interpolate(space,state1,state2,0:0.02:1)
states = 51×7
2.0000 10.0000 3.0000 0.2425 0 0 0.9701
1.9600 9.7500 3.0200 0.2663 0.0109 0 0.9638
1.9200 9.5000 3.0400 0.2899 0.0217 0 0.9568
1.8800 9.2500 3.0600 0.3133 0.0326 0 0.9491
1.8400 9.0000 3.0800 0.3365 0.0434 0 0.9407
1.8000 8.7500 3.1000 0.3594 0.0542 0 0.9316
1.7600 8.5000 3.1200 0.3821 0.0650 0 0.9218
1.7200 8.2500 3.1400 0.4045 0.0757 0 0.9114
1.6800 8.0000 3.1600 0.4266 0.0864 0 0.9003
1.6400 7.7500 3.1800 0.4484 0.0969 0 0.8886
⋮
入力引数
space
— 状態空間オブジェクト
stateSpaceSE2
オブジェクト | stateSpaceSE3
オブジェクト | stateSpaceDubins
オブジェクト | stateSpaceReedsShepp
オブジェクト
状態空間オブジェクト。stateSpaceSE2
、stateSpaceSE3
、stateSpaceDubins
、または stateSpaceReedsShepp
オブジェクトとして指定します。
state1
— 内挿の開始状態
3 要素の実数値のベクトル | 7 要素の実数値のベクトル
内挿の開始状態。3 要素または 7 要素の実数値のベクトルとして指定します。
2 次元の状態空間オブジェクト stateSpaceSE2
、stateSpaceDubins
、および stateSpaceReedsShepp
の場合、状態は [x y theta]
の形式のベクトルです。これは、状態空間における状態の位置 xy と向きの角度 theta
を定義します。
3 次元の状態空間オブジェクト stateSpaceSE3
の場合、状態は [x y z qw qx qy qz]
の形式のベクトルです。これは、状態空間における状態の位置 xyz と四元数方向 [qw qx qy qz]
を定義します。
データ型: single
| double
state2
— 内挿の終了状態
3 要素の実数値のベクトル | 7 要素の実数値のベクトル
内挿の終了状態。3 要素または 7 要素の実数値のベクトルとして指定します。
2 次元の状態空間オブジェクト stateSpaceSE2
、stateSpaceDubins
、および stateSpaceReedsShepp
の場合、状態は [x y theta]
の形式のベクトルです。これは、状態空間における状態の位置 xy と向きの角度 theta
を定義します。
3 次元の状態空間オブジェクト stateSpaceSE3
の場合、状態は [x y z qw qx qy qz]
の形式のベクトルです。これは、状態空間における状態の位置 xyz と四元数方向 [qw qx qy qz]
を定義します。
データ型: single
| double
ratio
— 内挿比
範囲 [0, 1] のスカラー | 範囲 [0, 1] の値の n 要素の列ベクトル
内挿比。範囲 [0, 1] のスカラー、または範囲 [0, 1] の値の n 要素の列ベクトルとして指定します。n は目的の内挿点の数です。
データ型: single
| double
出力引数
interpStates
— 内挿された状態
n 行 3 列の実数値の行列 | n 行 7 列の実数値の行列
内挿された状態。n 行 3 列または n 行 7 列の実数値の行列として返されます。n は ratio
入力引数で指定された内挿点の数です。
2 次元の状態空間オブジェクト stateSpaceSE2
、stateSpaceDubins
、および stateSpaceReedsShepp
の場合、各行の形式は [x y theta]
です。これは、内挿された状態の位置 xy と向きの角度 theta
を定義します。
3 次元の状態空間オブジェクト stateSpaceSE3
の場合、各行の形式は [x y z qw qx qy qz]
です。これは、内挿された状態の位置 xyz と四元数方向 [qw qx qy qz]
を定義します。
データ型: single
| double
バージョン履歴
R2019b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)