![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/290990/image.png)
MATLAB funtionの出力をMATLAB funtionの入力に使いたい
2 ビュー (過去 30 日間)
古いコメントを表示
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ブロックなど試してみたのですがよくわかりません。 解決よろしくお願い致します。
0 件のコメント
採用された回答
Shoumei
2020 年 5 月 7 日
TransSenrorとやらが何のことを言われているのかわからないので、問題が何なのか正しく理解していないかもしれませんが、代数ループエラーが問題であれば、フィードバックループにDelayブロックを挿入して1サンプル遅延させると解決するはずです。お試しください。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/290990/image.png)
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!