You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mathematica中FindRoot未返回预期结果的技术咨询

问题诊断与修复

你的代码里有个极易忽略的细节错误:FindRoot中使用的变量名和自定义函数的变量名不匹配。

你定义的函数是F[L_],变量为L,但在FindRoot里却写了{x, 55}——Mathematica无法建立x和函数F的关联,自然没法返回正确的求解结果。

修正后的代码

只需把FindRoot里的x替换成L即可:

F[L_] := (ArcTan[(L + 80)/25]/Pi + 0.6)*(0.55 - 0.4*Cos[(Pi/100)*(L + 10)])
FindRoot[F[L] == 0.8, {L, 55}]

结果验证

运行修正后的代码,会得到类似{L -> 54.7267}的结果,你可以代入函数验证准确性:

F[54.7267]

输出会接近0.8,完全符合你的预期。

如果担心初始值选择是否合理,还可以先通过Plot[F[L], {L, 0, 100}]再次确认函数在55附近的走势,确保初始值落在根的邻近区域,让FindRoot更高效地收敛。

内容的提问来源于stack exchange,提问作者Apple Cola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:43:47