Re: FindRoot和Ceiling问题

楼主: pig030 (FEBUR.PHEIX)   2015-01-26 21:02:18
※ 引述《cuteQcat (cutecat)》之铭言:
: 大家好,第一次在这个板上发文,如果问题太愚蠢请大家多多包涵
: 我现在有二条方程式,假设一条解m,另一条解s,s受m影响
: 解m的方程式只受外生参数影响,所以我是先解m再把解出来的m取ceiling后再解s
: 原本的指令如下:
m = Ceiling[
m01 /. FindRoot[\[Alpha] + m01 == (z^(m01 + 1) - 1)/(
z^(m01 + 1) (z - 1)), {m01, 8}]]
s = s(Alpha,z,m)
改成这样你觉得如何?
先定义你的参数 {Alpha,z,..,}={, , ...}
接下来定义
m01[Alpha_]:=m/.FindRoot[你要解的m01方程式]
此时
s[Alpha_]:=你的s函数,里面有Alpha, z ,m01[Alpha]
最后 Plot [s[Alpha],{Alpha,-10,10},AxesLabel->{"Alpha","s"}]
: 其中Alpha和z是外生参数。(另外,s的式子太复杂我就不附上了)
: 这样跑是没问题的。
: 不过我想看Alpha变动一个范围会对m和s有何影响,并画出Alpha变动对s影响的图形
: 但是把他们写成一串指令去执行时,跑出来的结果都只有同一个值,
: 图形当然也就出不来,指令如下:
: s[\[Alpha]_] :=
: s /. FindRoot[{m ==
: Ceiling[m /.
: FindRoot[\[Alpha] + m == (z^(m + 1) - 1)/(
: z^(m + 1) (z - 1)), {m, 8}]], s ==s(Alpha,z,m) }, {s, 0.2}]
: data = Table[{\[Alpha], s[\[Alpha]]}, {\[Alpha], 0.05, 0.95, 0.05}]
: Fs01 = ListPlot[{data}, PlotJoined -> True, Frame -> True]
: 所以在此很冒昧的想请问前辈们我的指令是哪里出问题呢?
: 谢谢大家。

Links booklink

Contact Us: admin [ a t ] ucptt.com