Filter löschen
Filter löschen

create dummy variable for different time periods

3 Ansichten (letzte 30 Tage)
susman
susman am 27 Jan. 2021
Kommentiert: Star Strider am 27 Jan. 2021
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.

Akzeptierte Antwort

Star Strider
Star Strider am 27 Jan. 2021
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 Kommentare
susman
susman am 27 Jan. 2021
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 am 27 Jan. 2021
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by