大家帮我看一下,出现计算过程中超过 1024 的递归深度怎么办
mathematica吧
全部回复
仅看楼主
level 1
x0 = d = 25
z0 = 6
h = 12
Av = Ap = d h/2
l = 10000
oy = 2 Pi/3
o0 = 138.6/180 Pi
A0 = (o0 (l^2)/(Sin[o0]^2)) - (l^2) Cot[o0] + (l/d ) Ap;
Do[
la = o;
nA = la/d;
Print[o, " ", la, " ", lb, " ", oa, " ", ob, " ", oa/Pi 180, " ",
ob/Pi 180];
Age1[s_] = A0 - (s (la^2)/(Sin[s]^2)) + (la^2) Cot[s] - nA Ap;
as = oa + 0.1; bs = oa - 0.1;
While[Abs[Age1[(as + bs)/2]] > 0.001,
If[Age1[as] > 0,
If[Age1[(as + bs)/2] > 0,
as = (as + bs)/2,
bs = (as + bs)/2
],
If[Age1[(as + bs)/2] > 0,
bs = (as + bs)/2,
as = (as + bs)/2
]
]
];
lb = la - d/2;
nB = lb/d;
Age2[s_] = A0 - (s (lb^2)/(Sin[s]^2)) + (lb^2) Cot[s] + nB Ap;
aas = ob + 0.1; bbs = ob - 0.1;
While[Abs[Age2[(aas + bbs)/2]] > 0.001,
If[Age2[aas] > 0,
If[Age2[(aas + bbs)/2] > 0,
as = (aas + bbs)/2,
bs = (aas + bbs)/2
],
If[Age2[(aas + bbs)/2] > 0,
bs = (aas + bbs)/2,
as = (aas + bbs)/2]
]
];
oa = (as + bs)/2;
ob = (aas + bbs)/2;
Print[o, " ", la, " ", lb, " ", oa, " ", ob, " ", oa/Pi 180, " ",
ob/Pi 180];
, {o, 10000, 17000, 12.5}]
2018年01月23日 05点01分 1
level 12
请用自然语言言简意赅地描述一下要做的事情吧
2018年01月23日 07点01分 2
1