以下代码需要永远在Maple中进行计算 . 基本上,我试图在以原点为中心的圆上找到复值函数的均方模数 . 如何纠正代码,或者是否有可以实现此目的的在线计算器?
evalf(subs(subs([n=3, p=1.2451, z=exp(x*I)/2], subs(s=(p/2)*(1+1/(4*z)^n), subs(t=s+sqrt(s^2-1/(4*z)^n), w=z*t^(2/n)))), Int(abs(w)^2, x=0..2*Pi)/(2*Pi)));
这有用吗?我的意思是它能给出预期的结果吗?通过将被积函数作为运算符(黑盒子)提供,可以防止evalf / Int引擎过于昂贵地戳它 . 这可以节省时间,尽管存在风险,因为它可能会错过某些问题的关键不连续性 .
> U:=subs(subs([n=3, p=1.2451, z=exp(x*I)/2], > subs(s=(p/2)*(1+1/(4*z)^n), > subs(t=s+sqrt(s^2-1/(4*z)^n), > w=z*t^(2/n)))), > Int(X->eval(abs(w)^2,x=X), 0..2*Pi)/(2*Pi)): > st:=time(): > evalf(U); 0.3351666815 > time()-st; 0.109
另一种(可能不太普遍有用的可能性)可能是,
> restart: > U:=subs(subs([n=3, p=1.2451, z=exp(x*I)/2], > subs(s=(p/2)*(1+1/(4*z)^n), > subs(t=s+sqrt(s^2-1/(4*z)^n), > w=z*t^(2/n)))), > Int(abs(w)^2, x=0..2*Pi)/(2*Pi)): > st:=time(): > simplify(U); -20 0.3351666815 - 0.5131390209 10 I > time()-st; 3.150
1 回答
这有用吗?我的意思是它能给出预期的结果吗?通过将被积函数作为运算符(黑盒子)提供,可以防止evalf / Int引擎过于昂贵地戳它 . 这可以节省时间,尽管存在风险,因为它可能会错过某些问题的关键不连续性 .
另一种(可能不太普遍有用的可能性)可能是,