公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
5.5k 浏览
sol = x /. Solve[(1 - Cos[0.01425 x]^2)^2 == 1/2, x] {-220.463 + 53.6341 I, -150.362, -70.1009, 0. - 53.6341 I, 0. + 53.6341 I, 70.1009, 150.362, 220.463 - 53.6341 I}

怎么选择结果中的正实数解,或者怎么再Solve时只得到实数解
用户: 落雨流觞 (1.1k 分)

2 个回答

0 投票
 
已采纳
NSolve[(1-Cos[0.01425 x]^2)^2==1/2&&0<x<1000,x,Reals]

{{x->70.1009},{x->150.362},{x->290.564},{x->370.824},{x->511.026},{x->591.287},{x->731.489},{x->811.75},{x->951.951}}

用户: 孺子剑牛不群 (216 分)
采纳于 用户:落雨流觞
0 投票
In[288]:= sol = 
 NSolve[(1 - Cos[0.01425 x]^2)^2 == 1/2 && x > 0, x, Reals] // Quiet

Out[288]= {{x -> 
   ConditionalExpression[0.0175439 (-8570.62 + 25132.7 C[1]), 
    C[1] \[Element] Integers && C[1] >= 1.]}, {x -> 
   ConditionalExpression[0.0175439 (-3995.75 + 25132.7 C[1]), 
    C[1] \[Element] Integers && C[1] >= 1.]}, {x -> 
   ConditionalExpression[0.0175439 (3995.75 + 25132.7 C[1]), 
    C[1] \[Element] Integers && C[1] >= 0]}, {x -> 
   ConditionalExpression[0.0175439 (8570.62 + 25132.7 C[1]), 
    C[1] \[Element] Integers && C[1] >= 0]}}

 

用户: niturpe (251 分)
这个结果我也得到了,但是这不是我想要的,因为引进了不确定的常数c1,结果我没办法用
c1不是常数,是个变量!这些解是周期解!
可是直接这样的结果,对我来说意义不大,像您得到的这个结果的话,怎么用才能得到一个准确的数值,而不是这样的存在限定条件的周期解。
结果很明确了。比如说第一个结果:c1为整数,c1>=0。代入一个满足这个条件的c1就能得到一个数值解。
谢谢,我搞明白了,我现在如果想令c1=0的话,得到的这个条件表达式该怎么操作?
sol/.C[1]->0
...