create dummy variable for different time periods

7 ビュー (過去 30 日間)
susman
susman 2021 年 1 月 27 日
コメント済み: Star Strider 2021 年 1 月 27 日
I have to create dummy variable for interval1 and interval 2
Suppose,I have equation;
Dependent = exp(1.2 + 0.0099*(Interval1) - 0.0625*(Interval2))* exp (-0.0134*t )
I want to run these equations from time, t = 20 to t = 100
and
interval1 = 1 if t = 20:24 else 0
interval2 = 1 t = 25:100 else 0
I am stuck with the code, please guide me. I want to have an easy solution.

採用された回答

Star Strider
Star Strider 2021 年 1 月 27 日
Try this:
Dependent = @(t) exp(1.2 + 0.0099*t).*((t>=20) & (t <= 24)) - 0.0625*exp(-0.0134*t ).*((t>=25) & (t<=100));
t = linspace(0, 110, 1E+4);
figure
plot(t, Dependent(t), 'LineWidth',1.25)
grid
xlabel('t')
ylabel('Dependent(t)')
There are some discontinuities because of the way you defined the limits of the segments.
  2 件のコメント
susman
susman 2021 年 1 月 27 日
Thank you, it worked perfectly in this case. But one more question.
If I have a matrix, in which each cell is definied by a function like above.
for example,
Matrix = [q11 q12 q13; q21 q22 q33; q31 q32 q33]
where each qii is a function like above:
Then if I define each qii, the way you suggested. It would not cause any problem? Like,
q11 = @(t) exp(1.2 + 0.0099*t).*((t>=20) & (t <= 24)) - 0.0625*exp(-0.0134*t ).*((t>=25) & (t<=100));
Star Strider
Star Strider 2021 年 1 月 27 日
My pleasure!
In this example, ‘q11’ defines a vector. I have no idea what the other elements of ‘Matrix’ are, however so long as the dimensions are the same for all of them (vectors the same size as ‘t’) there should be no problems.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by