Tracer une fonction itérée par morceaux avec des nœuds endogènes

Aug 17 2020

J'essaie de tracer une fonction par morceaux que je peux définir de manière récursive, où les nœuds sont également endogènes. Fondamentalement,$f(l)=a^{t}$ quand $l \in \left( \frac{\mu}{\alpha^{t-1}(1-\alpha)+\mu(1-\alpha^{t-1})};\frac{\mu}{\alpha^{t}(1-\alpha)+\mu(1-\alpha^{t})} \right]$. $t=1,2,...N$, tous les deux $\alpha$ et $\mu$ $\in (0,1)$ et j'ai besoin de tracer ça pour $l \in \left[\frac{\mu}{1-\alpha},1\right)$

Je peux bien sûr l'écrire manuellement petit à petit puis attribuer la valeur t = 1, mais j'aimerais que le programme le fasse pour moi, pour chaque t = 1,2,3 ... afin que je puisse tout tracer pour Je vais à 1. Y a-t-il un moyen? Merci beaucoup d'avance!

a = 0.3;
mu = 0.2;
t = 1;
f[l_] = Piecewise[{{1, 
     l <= mu/(a^(t - 1) (1 - a) + mu (1 - a^(t - 1)))}, {a^t, 
     mu/(a^(t - 1) (1 - a) + mu (1 - a^(t - 1))) < l <= mu/(
      a^t (1 - a) + mu (1 - a^t))}, {a^(t + 1), 
     mu/(a^t (1 - a) + mu (1 - a^t)) < l <= mu/(
      a^(t + 1) (1 - a) + mu (1 - a^(t + 1)))}, {a^(t + 2), 
     mu/(a^(t + 1) (1 - a) + mu (1 - a^(t + 1))) < l <= mu/(
      a^(t + 2) (1 - a) + mu (1 - a^(t + 2)))}, {a^(t + 3), 
     mu/(a^(t + 2) (1 - a) + mu (1 - a^(t + 2))) < l <= mu/(
      a^(t + 3) (1 - a) + mu (1 - a^(t + 3)))}}];
Plot[f[l], {l, mu/(1-a), mu/(a^(t + 3) (1 - a) + mu (1 - a^(t + 3)))}, 
 AxesLabel -> Automatic]

Réponses

1 flinty Aug 17 2020 at 14:45

Vous pouvez l'écrire comme ceci:

Lhi[i_, a_, mu_, t_] := mu/((1-a)a^(-1+t+i)+(1-a^(-1+t+i))mu)

pw[l_, a_, mu_, t_, n_] := 
 Piecewise[
  MapIndexed[
   If[First[#2]==1, {1,l<=#1[[2]]},{a^(First[#2]-2+t),#1[[1]]<l<=#1[[2]]}]&, 
   Partition[Table[Lhi[i,a,mu,t], {i,-1,n}],2,1]]
  ]

With[{a = 0.3, mu = 0.2, t = 1, n = 4},
 Plot[pw[l, a, mu, t, n], {l, mu/(1 - a), 
   mu/(a^(t+3)(1-a) + mu(1-a^(t+3)))}, 
  AxesLabel -> Automatic]
 ]