内因性ノードを使用して反復区分的関数をプロットする
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 ...ごとにプログラムにそれを実行させたいと思います。 l 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]
]