Borrar filtros
Borrar filtros

create dummy variable for different time periods

3 visualizaciones (últimos 30 días)
susman
susman el 27 de En. de 2021
Comentada: Star Strider el 27 de En. de 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.

Respuesta aceptada

Star Strider
Star Strider el 27 de En. de 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 comentarios
susman
susman el 27 de En. de 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 el 27 de En. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by