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

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일

0 개 추천

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 一般分野への適用에 대해 자세히 알아보기

질문:

2020년 5월 3일

답변:

2020년 5월 7일

Community Treasure Hunt

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

Start Hunting!