Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Algebraic Constraint

  • Algebraic Constraint block

ライブラリ:
Simulink / Math Operations

説明

Algebraic Constraint ブロックは、入力信号 f(z) を z または 0 に制限して、代数状態 z を出力します。このブロックは、入力で 0 または z を生成する値を出力します。出力は、直接フィードバック パスを通じて、入力に影響を与えなければなりません。すなわち、フィードバック パスには直達のあるブロックのみが含まれます。たとえば、インデックス 1 の微分代数方程式系 (DAE) の代数方程式を指定できます。

すべて展開する

Algebraic Constraint ブロックを使用してシステムを解く

$$\begin{array}{c} z_1 + z_2 = 1\\ z_2 - z_1 = 1\end{array}$$

このモデルでは、次のようなベクトル化された形式で問題を表します。

$$
 \left[\begin{array}{cc}
1 & 1\\
-1& 1
\end{array}\right]\left[\begin{array}{c}z_1\\z_2\end{array}\right]
=\left[\begin{array}{c}1\\1\end{array}\right]
$$

Algebraic Constraint ブロック $f(z)$ に送られる信号は、次の形式の $2\times1$ ベクトルです。

$$\left[\begin{array}{c}z_1+z_2-1\\-z-1 +
z_2-1\end{array}\right] $$

ブロックは、$f(z)$ を 0 に制約するよう設定されています。したがって、$f(z) = 0$ の解を求めると、解 $z_1 = 0,\, z_2 = 1$ が出力されます。

拡張例

端子

入力

すべて展開する

代数ループを解決するために、信号には制約 f(z) = 0 または f(z) = z が適用されます。

データ型: double

出力

すべて展開する

入力信号 f(z) に制約 f(z) = 0 または f(z) = z が適用される場合の代数ループに対する解。

データ型: double

パラメーター

すべて展開する

解を求める制約のタイプ。f(z) = 0 または f(z) = z の解を求めることができます。

プログラムでの使用

ブロック パラメーター: Constraint
型: 文字ベクトル
値: 'f(z) = 0' | 'f(z) = z'
既定の設定: 'f(z) = 0'

代数ループの解を求めるための信頼領域 [1]、[2] アルゴリズムまたは直線探索 [3] アルゴリズム間で選択します。既定では、この値は [自動] に設定され、モデル コンフィギュレーションに基づいた代数ループ ソルバーが選択され、シミュレーション中に信頼領域と直線探索アルゴリズムの間でソルバーが切り替わります。

プログラムでの使用

ブロック パラメーター: Solver
型: 文字ベクトル
値: 'auto' | 'Trust region' | 'Line search'
既定の設定: 'auto'

このオプションは、[ソルバー] ドロップダウン メニューで使用するソルバー (信頼領域法または直線探索) を明示的に指定すると表示されます。より高い精度に対してはより小さい値を、より高速に実行する場合はより大きい値を指定します。既定では、[自動] に設定されます。

プログラムでの使用

ブロック パラメーター: Tolerance
型: 文字ベクトル
値: 'auto' | 正のスカラー
既定の設定: 'auto'

予期される解の値に近い代数状態 z の初期推定値によって、代数ループ ソルバーの効率が高められます。既定では、この値は 0 に設定されます。

プログラムでの使用

ブロック パラメーター: InitialGuess
型: 文字ベクトル
値: スカラー
既定の設定: '0'

ブロックの特性

データ型

double

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

参照

[1] Garbow, B. S., K. E. Hillstrom, and J. J. Moré. User Guide for MINPACK-1. Argonne, IL: Argonne National Laboratory, 1980.

[2] Rabinowitz, P. H. Numerical Methods for Nonlinear Algebraic Equations. New York: Gordon and Breach, 1970.

[3] Kelley, C. T. Iterative Methods for Linear and Nonlinear Equations. Society for Industrial and Applied Mathematics, Philadelphia, PA: 1995.

拡張機能

バージョン履歴

R2006a より前に導入

参考