我想解决以下等式。我想根据未知常数alpha和beta得到x的表达式。有谁知道如何在Matlab或Mathematica中解决这个问题? 感谢。
这是我在wolfram Mathematica中的一行代码。
'Assuming[alpha>beta>0,Solve[Cos(alpha*Cos(x)) + Cos(beta*Cos(x)) -1.96 ==0,x]] '
答案 0 :(得分:1)
由于获得分析解决方案似乎并不简单,因此显示行为的图形可能会提供有关下一步操作的一些见解。
ListPointPlot3D[Reap[Do[
{alpha, beta, x} = RandomReal[{0, 2 Pi}, 3];
If[alpha > beta,
err = Norm[Cos[alpha*Cos[x]]+Cos[beta*Cos[x]]-1.96];
If[err < .01, Sow[{alpha, beta, x}]]
],{10^6}]][[2, 1]], ViewPoint->{0, -2., 0}]
一旦显示在显示器上,您可以调整Viewpoint
内的数字,或者您可以将鼠标放在图形内,按住鼠标左键并拖动以旋转图像。
该图表似乎表明解决方案位于一个相当明确的区域内。
一旦你看过这个,那么你可能会将随机数的范围提高到{0,4Pi}
,因为对于较大的alpha和beta值,它看起来更有趣。