내생 노드로 반복 된 부분 함수 플로팅

Aug 17 2020

재귀 적으로 정의 할 수있는 부분 함수를 플롯하려고합니다. 여기서 노드도 내생 적입니다. 원래,$f(l)=a^{t}$ 언제 $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$, 둘 다 $\alpha$$\mu$ $\in (0,1)$ 그리고 나는 이것을 위해 플롯해야합니다 $l \in \left[\frac{\mu}{1-\alpha},1\right)$

물론 수동으로 비트 단위로 기록한 다음 값 t = 1을 할당 할 수 있지만 모든 t = 1,2,3 ... 1 번으로갑니다. 방법이 있나요? 많은 감사드립니다!

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]

답변

1 flinty Aug 17 2020 at 14:45

다음과 같이 작성할 수 있습니다.

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]
 ]