maple解方程ch(x)cos(x)=1解的形式
现在求解方程cosh(x)*cos(x)-1=0;solve(cosh(x)*cos(x)-1, x, allsolutions)
得到的解如图
RootOf(_Z-arccosh(1/cos(_Z))+2*arccosh(1/cos(_Z))*_B2-(2*I)*Pi*_Z2)
这个解的形式是怎么理解的,_Z怎么取
我现在想取前几个解的话,如何从maple给出的解表达式获得呢
期盼高手答疑,谢了 本帖最后由 maplelab 于 2011-6-16 14:59 编辑
超越方程一般不是用solve,
而是用fslove.
通过给定初值去搜索解.
比如:restart;
eq:=x->cosh(x)*cos(x)-1.0:
(p->(fsolve)(eq,p))~(
{
0.0,4.3,-4.3,7.8,-7.8
});
如果嫌初值设置麻烦,就用随机初值.
具体做法是确定一个合适的数值范围,然后以该范围内的一定数量的随机值作为
初值进行搜索,并合并给定误差限内的近似解.
这个方法当随机值达到适当规模时,可以得到稳定的解集.
不过,有时候有必要验证解的正确性.
对本题而言,
用
plot(eq,-8..8)
可知,有好几个解在范围-8..8之内.
因此可以做:
(p->(MmaTranslator@fsolve)(eq,p))~(
RandomTools(set(float(range=-8..8),50))
);
解为
0.000000
-7.853205
-4.730041
4.730041
7.853205 再比如
http://forum.simwe.com/thread-989561-1-1.html
的一个例子.
restart;
s:= 0.121;
p := 0.126;
v := 2.87;
P:=evalf(Pi);
f:=x->s/(x*sqrt(P)*exp(x^2)*erf(x)) + p/(v*x*sqrt(P)*exp(v^2*x^2)*erfc(v*x)) - 1.0;
(p->(MmaTranslator@fsolve)(f,p))~(
RandomTools(set(float(range=-1..1),10))
);
解集为:
-0.2367511667
+0.2661414185 版主热心人,多谢您的指导 2# maplelab 对于这个方程,教科书上有得出解的形式如图所示,不知道他们是怎么得出这种形式的解的,who knows? 3# maplelab 6# Maybn
这个是级数解吧。 对啊,应该从级数解考虑。多谢zw提醒 7# zsq-w 那解似乎不对。 本帖最后由 Maybn 于 2011-7-30 07:54 编辑
是错了,前两项。该是1.875,4.694 9# TBE_Legend
页:
[1]