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

3 views (last 30 days)
kazuki watada
kazuki watada on 3 May 2020
Answered: Shoumei on 7 May 2020
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ブロックなど試してみたのですがよくわかりません。 解決よろしくお願い致します。

Accepted Answer

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

More Answers (0)

Categories

Find more on ループと条件付きステートメント in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!