Defining a time varying function

I'd like to create a function that will output a value of a (e.g. a = 10) for time < t0 and value equal to b at time > t0.
Any suggestions on how to create such a function in MATLAB will be helpful

回答 (1 件)

Adam
Adam 2020 年 2 月 25 日
編集済み: Adam 2020 年 2 月 25 日

0 投票

if t < t0
result = a;
else
result = b;
end
gives what you want for this simple case, provided t0, a, b and t are all passed into the function or defined at the top of the function. If it where more complicated I might suggest other methods but a simple binary threshold output works fine with an if statement.

2 件のコメント

Deepa Maheshvare
Deepa Maheshvare 2020 年 2 月 26 日
Many thanks for the answer. Binary threshold output works fine but it creates a discontinuity at t = t0. Could you please suggest continuous functions ? For instance when a > b, I'd like to create a function that will gradually decrease from a to b.
Adam
Adam 2020 年 2 月 26 日
You'd need to rephrase the question to more precisely ask what you want in that case. To fulfill what you asked in the question then including a reasult of mean( [a, b] ) for t == t0 would be the only approach that is slightly less discontinuous.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2019b

タグ

質問済み:

2020 年 2 月 25 日

コメント済み:

2020 年 2 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by