問題タブ [state-space]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - ssest matlab 関数から状態空間 (e(t)) の剰余を抽出するにはどうすればよいですか?
入力ベクトル u、出力ベクトル y、および外乱 e をもつシステムの状態空間モデルは、連続時間で次の形式を取ります。
d (x(t)) / dt = Ax(t)+Ke(t)
y(t) = Cx(t)+e(t)
MATLAB関数ssest
では、A、C、およびKパラメーターを抽出e(t)
できますが、残差の共分散を構築するためにパラメーターを抽出することに本当に興味があります。
この機能があれば、誰か教えてもらえますか?
matlab - 状態空間行列の初期条件を simulink の信号で設定できますか
「from-go to signal blocks」というシグナルを使用して、simulink の状態空間行列ブロックの初期条件をフィードしたいと考えています。信号ブロックで試していますが、最後にいくつかのエラーが表示され、初期条件として使用される信号変数はすべて未定義の変数であると表示されます。つまり、「未定義の関数または変数」が存在します。
助けていただければ幸いです、ありがとう
python - Python: システムの状態空間モデルの特定
Python を使用して、所有しているシステムの状態空間モデルを取得しようとしています。
実際のシステムをテストしたので、システムへの入力があり、出力を測定しました。そのため、対応する入力と出力のセットがあります。
システムの入力と出力のセットを関数に提供できるPythonのどこかに関数があり、関数はシステムを表す状態空間モデルを提供しますか?
c - OxにリンクされたCライブラリ
私は現在、状態空間モデルをいじっています。私が使用している本には、非常に役立つ例がいくつかあります。
問題:
これらの例は Ox で書かれているため、特に C# / C++ を使用する方がより実用的な Interactive Brokers API を使用してモデルのいくつかをテストしたいので、その使いやすさがいくらか制限されます。
より具体的には、この記事SsfPack
によると、「Cで書かれ、Oxにリンクされた状態空間モデリングと推論のためのルーチンのライブラリ」である例を使用しています。
これは、C で直接実装できるということですか、それとも、このドキュメントの A1.4 に示されているように、関数を Ox で記述してから C で呼び出す方がよい方法ですか? そして、それが直接実装できる場合、どのようにそれを行うのでしょうか?
C の経験があり、Ox の経験がない場合は、これら 2 つのオプションのうち前者の方が望ましいでしょう。
どんな考えでも大歓迎です!
matlab - Matlab の ss2tf の背後にあるアルゴリズム
伝達関数からの正規状態空間には、制御可能で観測可能な形式があります。ただし、ss2tf
Matlab から試すと、別の結果が返されます。Matlab はどのようなアルゴリズムを使用していますか? ドキュメントやオープンソースの実装もありますか?
matlab - Matlab:極ゼロキャンセルの問題
私はMatlabを使用して、使用しているシステムで制御分析を実行しています。状態空間表現でシステムのモデルを開発し、必要な閉ループ応答を生成するフィードバック補償器を設計しました。
Matlab の place() 関数を使用してフィードバック ゲイン K と推定器ゲイン L を選択する方法は、同じ位置で RHP の 1 つの極と零点を示すシステムの根軌跡になります。理想的には、これらがまったく同じで極ゼロ キャンセレーションが発生する必要がありますが、システムのステップ応答は依然として不安定です。
結合された補償器とプラントのシステムの極と零点を見ると、閉ループ応答の極と零点は次のようになります。
極
ゼロ
特に RHP 値を見ると、1e+02*(0.2108 + 0.0000i) に極とゼロがあります。これは唯一の不安定な極であるため、ステップ応答は安定しているはずですが、そうではありません。
有効数字または不適切なシステムのスケーリングと関係があると推測していますが、よくわかりません。これらの極零点がキャンセルされない理由について何か考えはありますか?
matlab - カルマン フィルターが安定化カルマン ゲインを計算できない場合、考えられる理由は何ですか?
カルマンフィルターについて質問です。次のように、状態空間モデルにカルマン フィルターを使用しています。
状態空間行列(A(k),B(k),C(k),D(k))
はサンプリング時間ごとに更新されますが、Q 行列と R 行列は一定であると見なされます。カルマン ゲイン (K(k)) と共分散 P 行列 (P(k)) を計算する式は次のとおりです。
私が直面している問題は、の安定性に関連してい(A(k)-K(k)*C(k))
ます。一部のサンプリング時間では、計算されたカルマン ゲインが(A(k)-K(k)*C(k))
行列を安定化できず、 の固有値(A(k)-K(k)*C(k))
が単位円の外側にあります。
この問題の原因を突き止めるのを手伝ってくれませんか? (A(k)-K(k)*C(k))
カルマン フィルターが、単位円内の固有値で行列を安定させるゲインを与えることを期待しています。
matlab - matlab の状態空間モデルで配列 B を生成する方法
状態空間モデルからの伝達関数を matlab でプロットしたいと思います。
上記の式 G、C はファイルから読み込まれ、そのサイズは 1882*1882、ip(t) = [i1 i2 i3 i3 i5]'
(入力)、up(t) = [u1 u2 u3 u4 u5]'
(出力) で、5 ポート システムであり、x = [V1 V2 .... V1161 I1 I2 .. I721]
(ノード数: 1161、帰納分岐数: 721) です。
理論によれば、Bはベクトルuin(t)
への直交 (この場合は 1882*5) ソース接続行列である必要があります。私の問題は、matlab でコードを使用してマトリックスを生成する方法がわからないことです。行列のどの位置に 1 があるか、またこれをコードで実装する方法を知るにはどうすればよいですか?MNA
x
B
平素は格別のお引き立てを賜り、厚く御礼申し上げます。
matlab - 同等の閉ループ モデル
MATLAB とconnect()
. これが私のシステムとコードです:
しかし、伝達関数throttle
への入力信号として明確に定義しているにもかかわらず、次のエラーが発生します。throt_gain
私の理解では、システムを作成して接続する方法は正しいのですが、何が間違っているのでしょうか?