How do I define piecewise constant function in for loop?

11 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Torsten
Torsten il 28 Ott 2023
Modificato: Torsten il 28 Ott 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 Commento
Dyuman Joshi
Dyuman Joshi il 28 Ott 2023
Modificato: Dyuman Joshi il 28 Ott 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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by