このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
スカラー、非スカラーの乗算と除算、あるいは行列の乗算と逆行列
Simulink / Commonly Used Blocks
Simulink / Math Operations
HDL Coder / Commonly Used Blocks
HDL Coder / HDL Floating Point Operations
HDL Coder / Math Operations
Product ブロックは 2 つの入力を乗算した結果を出力します。入力は、2 つのスカラー、スカラーと非スカラー、あるいは同じ次元をもつ 2 つの非スカラーの場合があります。この動作を指定する既定のパラメーター値は以下のようになります。
乗算: 要素単位(.*)
入力数: 2
この表は、既定のブロック パラメーター値を使うサンプル入力に対する Product ブロックの出力を示します。
入力と動作 | 例 |
---|---|
スカラー X スカラー 2 つの入力の積を出力します。 |
|
スカラー X 非スカラー 入力の非スカラーと同じ次元をもつ非スカラーを出力します。出力の非スカラーの各要素は、入力のスカラーと入力の非スカラーの対応する要素の積です。 |
|
非スカラー X 非スカラー 入力と同じ次元をもつ非スカラーを出力します。出力の各要素は、入力の対応する要素の積です。 |
|
Divide ブロックと Product of Elements ブロックは Product ブロックのバリアントです。
Divide ブロックの詳細については、Divide を参照してください。
Product of Elements ブロックの詳細については、Product of Elements を参照してください。
Product ブロック (または適切に構成される場合 Divide ブロックまたは Product of Elements ブロック) では、以下を行うことができます。
スカラー、ベクトル、または行列入力の数を、数値的に乗算や除算します。
行列入力の数に行列の乗算や除算を実行します。
Product ブロックは、[乗算] パラメーターの値に基づいてスカラーまたは行列の乗算を行います。このブロックは、[入力数] パラメーターに基づいて 1 つ以上の入力を受け入れます。[入力数] パラメーターは、各入力に実行される演算も指定します。
Product ブロックは、実行する演算が数学的に定義される結果をもつ場合、スカラー、ベクトルおよび行列の任意の組み合わせを入力できます。このブロックは、指定した演算を入力に対して実行し、結果を出力します。
Product ブロックには 2 つのモードがあります。要素単位モードは、2 つの非スカラー入力を要素ごとに処理します。行列モードは、2 つの非スカラー入力を行列として処理します。
[乗算] を [要素単位(.*)]
に設定する場合、Product ブロックは "要素単位モード" になります。この場合、ブロックは任意の非スカラー入力の個々の数値要素に演算を行います。MATLAB® の等価な演算子は .*
です。要素単位モードでは、Product ブロックは、乗算、除算および算術的な逆演算などを実行できます。
[入力数] パラメーターの値は、どれだけの入力数があるか、それぞれが出力を生成するために乗算されるか除算されるかを決めます。要素単位モードの Product ブロックが 1 つの入力のみをもつ場合は、Product of Elements ブロックと機能的に等価です。ブロックが複数の入力をもつ場合、非スカラーの入力は同じ次元をもたなければなりません。ブロックは、これらと同じ次元をもつ非スカラーを出力します。ブロックは、出力を計算するためにスカラー入力を、非スカラー入力と同じ次元をもつ非スカラーにはじめに拡張します。
次の表は、[入力数] パラメーターの値を使って、サンプル入力に対する Product ブロックの出力を示します。
パラメーター値 | 例 |
---|---|
入力数: |
|
入力数: |
|
入力数: |
|
入力数: |
|
入力数: |
|
[乗算] パラメーターの値が [行列 (*)]
である場合、Product ブロックは "行列モード" になります。この場合、ブロックは非スカラー入力を行列として処理します。MATLAB の等価な演算子は *
です。行列モードでは、Product ブロックで正方行列の逆行列を計算することも、結果が数学的に定義される次元をもつ、任意の数の行列の乗算や除算を行うこともできます。
[入力数] パラメーターの値は、どれだけの入力数があるか、それぞれの入力行列が出力を生成するために乗算されるか除算されるかを決めます。[入力数] の構文は、要素単位モードの場合と同じです。これらのモードでは、乗算と除算のタイプが異なります。
複素数の浮動小数点入力に対する要素単位の演算について、近傍オーバーフローの場合は、シミュレーションとコード生成の結果は異なる可能性があります。[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成] 、 [インターフェイス] ペインで [複素数] が選択されていて [非有限数] が選択されていない場合でも、コード ジェネレーターは中程度のオーバーフローに対する特別なケース コードを出力しません。この方法は、極端な値を含まない一般的なケースの組み込み演算の効率を向上させます。入力に極端な値が含まれる可能性がある場合、これらのケースを明示的に管理しなければなりません。
NaN
および inf
の値が数学的に無意味の場合は、生成コードはシミュレーションとしてこれらの値と同じパターンは生成しない可能性があります。たとえば、シミュレーション出力に NaN
が含まれる場合、生成コードからの出力にも NaN
が含まれますが、同じ場所に含まれる必要はありません。
データ型 |
|
直接フィードスルー |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|