OutportブロックからsimOutコマンドを使ってワークスペースから値取得すると計算過程でエラーが出ます
Mostrar comentarios más antiguos
OutportブロックからsimOutコマンドを使ってワークスペースから値を取得すると計算でできずに 下記のようなエラーが出ます。
エラー: ^ 入力はスカラーと正方行列でなければなりません。 POWER を要素ごとに計算するには、代わりに POWER (.^) を使用してください。
^ の部分を .^ にも変えましたが結果は変わりませんでした。 ワークスペースに書き出される行列がそろっていないために 計算できていないと思われるですが、エラーの意味の解釈はあっているでしょうか。
また、ワークスペースにOutportブロックから値を送る時に 例えば、 10×1 の行列を 1×10 の行列にする方法が分かりません。
4 comentarios
Kei Otsuka
el 8 de Nov. de 2017
simOutというのはT Sさんが作成された関数でしょうか。それともシミュレーション結果を含むオブジェクトか何かでしょうか?
実際に動かすことの出来るモデルも添付していただくと、適切な回答が得られる可能性が高くなると思いますよ。
また、行列の転置(10x1 > 1x10変換)はMath Functionブロックで可能ですので、出力端子につなげてみてください。
Kei Otsuka
el 9 de Nov. de 2017
simOutはシミュレーション結果が含まれるオブジェクトですね。
行列bが1x101、cが201x1の場合、 行列積なので片方だけ転置してもエラーになります。b、c双方転置すれば計算はできますが、それがT Sさんが期待されている結果かどうかは判断できません。
b = randi(100,1,101);
c = randi(100,201,1);
a = b*c; %エラー
a = b'*c'; %これはOK
try,catch構文等を使ってエラー発生時の値を正確に把握してみては如何でしょうか。
T S
el 10 de Nov. de 2017
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Sinks en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!