找回密码
 欢迎注册
楼主: mathematica

[求助] 如何求下面的函数的极值?

[复制链接]
 楼主| 发表于 2019-11-11 16:16:16 | 显示全部楼层

真正考试的时候,我用的是
Sin[x+a]*Sin[x+b]/(Sin[x+c]*Sin[x+d])-Sin[2*x+a+b]/Sin[2*x+c+d]
这个表达式,因为计算器可以用牛顿迭代法直接求解出这个表达式等于零时的x的值,
再然后
Sin[x+a]*Sin[x+b]/(Sin[x+c]*Sin[x+d])-Sin[2*x+a+b]/Sin[2*x+c+d]*0
计算一下这个表达式,就得到
Sin[x+a]*Sin[x+b]/(Sin[x+c]*Sin[x+d])
的值,
我是对这个问题的解析表达式感兴趣,然后才提出这个问题的!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2019-11-11 16:26:14 | 显示全部楼层

你的水平绝对可以当数学软件的版的版主!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-11-11 18:49:20 | 显示全部楼层
本帖最后由 chyanog 于 2019-11-11 18:51 编辑
mathematica 发表于 2019-11-11 16:05
x -> ArcTan[t]
你这么一替换,就漏解了,
因为ArcTan[t]的范围是从-90度到90度,


是有漏解,但也不难处理。比如把a,b,c,d随机赋值,求[0, 6π]内的解
  1. data = RandomReal[10, {20, 4}];

  2. r1 = Function[{a, b, c, d},  Flatten@Values@ NSolve[{Sin[c + x] Sin[d + x] Sin[a + b + 2 x] - Sin[a + x] Sin[b + x] Sin[c + d + 2 x] == 0, 0 < x < 6 Pi},  x]] @@@ data

  3. r2 = Function[{a, b, c, d},
  4.    With[{Δ= (Tan[a] - Tan[c]) (Tan[b] - Tan[c]) (Tan[a] - Tan[d]) (Tan[b] - Tan[d])},
  5.     With[{x1 = ArcTan[-Tan[a] - Tan[b] + Tan[c] + Tan[d], Tan[a] Tan[b] - Tan[c] Tan[d] + Sqrt[Δ]],
  6.        x2 = ArcTan[Tan[a] + Tan[b] - Tan[c] - Tan[d], -Tan[a] Tan[b] + Tan[c] Tan[d] + Sqrt[Δ]]},
  7.      If[Δ< 0, {},  Union @@ Table[Mod[{x1, x2} + k Pi, 6 Pi], {k, 6}]]]]] @@@ data

  8. r1 - r2 // MinMax
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2021-3-16 17:31:20 | 显示全部楼层
求的是岩土边坡上的破裂角
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 22:41 , Processed in 0.020664 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表