質問: simulinkにおけるタイムステップの出力 simulinkにおけるシミュレーションにて,matlab function ブロックの計算に毎回のタイムステップを入力してシミュレーションを実施したいです.最適なブロックを教えてください.ちなみにタイムステップは固定ではなく可変のため,毎回測定して出力させたいです.
回答: 現在時間ではなく、タイムステップということで、現在時間と前のステップとの時間差を取る必要があるのでこんなサンプルを作成してみました。matlab functionブロック内でシミュレーション時間を取得する関数とかがあればもっと簡単に出来るかもしれません。 なお、差分を取るときはmatlab functionの中でpersistent変数を使うと良さそうですが、可変ステップではpersistentは使えないようです。 function [timestep,nowout] = fcn(nowin, delayin) timestep = nowin - delayin; nowout = nowin;