Effacer les filtres
Effacer les filtres

How do I define piecewise constant function in for loop?

6 vues (au cours des 30 derniers jours)
Saurabh Madankar
Saurabh Madankar le 28 Oct 2023
Modifié(e) : Dyuman Joshi le 28 Oct 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.

Réponse acceptée

Torsten
Torsten le 28 Oct 2023
Modifié(e) : Torsten le 28 Oct 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 commentaire
Dyuman Joshi
Dyuman Joshi le 28 Oct 2023
Modifié(e) : Dyuman Joshi le 28 Oct 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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by