質問: 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ブロックなど試してみたのですがよくわかりません。 解決よろしくお願い致します。
回答: transsenrorとやらが何のことを言われているのかわからないので、問題が何なのか正しく理解していないかもしれませんが、代数ループエラーが問題であれば、フィードバックループにdelayブロックを挿入して1サンプル遅延させると解決するはずです。お試しください。