How do I define piecewise constant function in for loop?

3 visualizaciones (últimos 30 días)
Saurabh Madankar
Saurabh Madankar el 28 de Oct. de 2023
Editada: Dyuman Joshi el 28 de Oct. de 2023
For example, say I have data points given by
,
and corresponding output points. Now I want to define a piecewise constant function y such that on its , on , on , on and so on.

Respuesta aceptada

Torsten
Torsten el 28 de Oct. de 2023
Editada: Torsten el 28 de Oct. de 2023
Give the correct values to the arrays "left_limit_of_ith_interval" and "right_limit_of_ith_interval" in the following code:
left_limit_of_ith_interval = ...;
right_limit_of_ith_interval = ...;
fun = @(T)0;
for i = 1:M-1
fun = @(T) fun(T) + x(t(i)).*(T>=left_limit_of_ith_interval(i)).*(T<right_limit_of_ith_interval(i));
end
  1 comentario
Dyuman Joshi
Dyuman Joshi el 28 de Oct. de 2023
Editada: Dyuman Joshi el 28 de Oct. de 2023
I was about to implement a similar idea, with piecewise, but saw this answer.
How about this?
M=5;
t = ((1:M)-1/2)/M;
t = [0 t+t(1)]
fun = @(T) 0;
for i = 2:M
fun = @(T) fun(T) + x(t(i)).*(T>=t(i-1)).*(T<t(i));
end

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.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by