- 注册时间
- 2010-4-21
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 7298
- 在线时间
- 小时
|
发表于 2019-11-11 18:49:20
|
显示全部楼层
本帖最后由 chyanog 于 2019-11-11 18:51 编辑
是有漏解,但也不难处理。比如把a,b,c,d随机赋值,求[0, 6π]内的解
- data = RandomReal[10, {20, 4}];
- 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
- r2 = Function[{a, b, c, d},
- With[{Δ= (Tan[a] - Tan[c]) (Tan[b] - Tan[c]) (Tan[a] - Tan[d]) (Tan[b] - Tan[d])},
- With[{x1 = ArcTan[-Tan[a] - Tan[b] + Tan[c] + Tan[d], Tan[a] Tan[b] - Tan[c] Tan[d] + Sqrt[Δ]],
- x2 = ArcTan[Tan[a] + Tan[b] - Tan[c] - Tan[d], -Tan[a] Tan[b] + Tan[c] Tan[d] + Sqrt[Δ]]},
- If[Δ< 0, {}, Union @@ Table[Mod[{x1, x2} + k Pi, 6 Pi], {k, 6}]]]]] @@@ data
- r1 - r2 // MinMax
复制代码 |
|