MATLAB funtionの出力をMATLAB funtionの入力に使いたい

2 ビュー (過去 30 日間)
kazuki watada
kazuki watada 2020 年 5 月 3 日
回答済み: Shoumei 2020 年 5 月 7 日
simulinkにて、あるsolidの座標系をTransSenrorでセンシングし、その値をMATLAB funtionに入力しMATLAB funtionで求めた力をExternal Forceに入力しsolidに繋げそれをまたセンシングし...というシミュレーションを作成しています。
すると、MATLAB funtionで出力を入力としているので、代数ループのエラーが発生しました。 そこで、funの出力をto workspaceへ、funの入力をfrom workspaceとしてやってみました(初期の入力はmファイルから)。出力を入力としたいのは、a(整数)とh(h(i,j)、iとjによってきまるh(二次元行列?配列?))です。
すると初めのhの出力は(imax,jmax)の配列となって いるのですがfrom workspaceからの入力では(jmax-1,1)の配列となっておりエラーが起きます。 またaは「workspace入力として指定された行列変数が無効です。行列データは、実数でdoubleの2次元の行列で、2列以上でなければなりません。1番目の列は時間の値を含み、残りの列はデータ値を含まなければなりません。行列の値をInfまたはNaNにすることはできません。」というエラーが起きます。
inportブロックなど試してみたのですがよくわかりません。 解決よろしくお願い致します。

採用された回答

Shoumei
Shoumei 2020 年 5 月 7 日
TransSenrorとやらが何のことを言われているのかわからないので、問題が何なのか正しく理解していないかもしれませんが、代数ループエラーが問題であれば、フィードバックループにDelayブロックを挿入して1サンプル遅延させると解決するはずです。お試しください。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeループと条件付きステートメント についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!