在Mathematica中Module里可以用循环语句吗?
hj[f_,a_,b_,eps_]:=Module[{t1,t2,n,t0},t1=a+0.382*(b-a);t2=a+0.618*(b-a);n=0;While[t2...
hj[f_,a_,b_,eps_]:=Module[{t1,t2,n,t0},t1=a+0.382*(b-a);t2=a+0.618*(b-a);n=0;
While[t2-t1>=eps,If[f[t1]<=f[t2],b=t2;t2=t1;t1=b-0.618(b-a),a=t1;t1=t2;t2=a+0.618(b-a)];n++];
t0=(t1+t2)/2;{t1,t2,n,f[t0]}]f[t_]:=t^3-2t+1;hj[f,0,3,0.001]这是黄金分割法,我想用Module,但是里边的循环没有执行,可以帮我看看哪里错了吗? 展开
While[t2-t1>=eps,If[f[t1]<=f[t2],b=t2;t2=t1;t1=b-0.618(b-a),a=t1;t1=t2;t2=a+0.618(b-a)];n++];
t0=(t1+t2)/2;{t1,t2,n,f[t0]}]f[t_]:=t^3-2t+1;hj[f,0,3,0.001]这是黄金分割法,我想用Module,但是里边的循环没有执行,可以帮我看看哪里错了吗? 展开
展开全部
可以的,比如定义一个函数(欧几里德Euclid算法):
gcd[m0_, n0_] :=
Module[{m = m0, n = n0},
While[n != 0, {m, n} = {n, Mod[m, n]}];
m
]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询