找回密码
 注册
Simdroid-非首页
查看: 179|回复: 7

[1.符号] Maple如何解这种方程?

[复制链接]
发表于 2013-8-10 11:17:08 | 显示全部楼层 |阅读模式 来自 北京
本帖最后由 chyanog 于 2013-8-11 20:06 编辑

  1. solve({a^2+b^2+169+sqrt(c-13)-24*a-10*b = 0},{a, b, c})
  2.   assuming a>0, b>0, c>0;
  3. //a=12, b=5, c=13
复制代码
  1. solve([1/(cos(a)^2)+1/(sin(a)^2*sin(b)^2*cos(b)^2) = 9,
  2. a>0, a<Pi/2, b>0, b<Pi/2], [a,b] );
  3. //a=arctan(sqrt(2)), b=Pi/4
复制代码
以上写法不能运行,不清楚正确语法改怎么写

发表于 2013-8-11 13:01:19 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
语法没错,好像maple的solve不能解 同时含有等式和不等式 的问题。
回复 不支持

使用道具 举报

发表于 2013-8-11 14:06:54 | 显示全部楼层 来自 陕西西安
好奇地问问这种问题用mathematica怎么解? regionplot3D?
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-11 14:26:40 | 显示全部楼层 来自 北京
TBE_Legend 发表于 2013-8-11 14:06
好奇地问问这种问题用mathematica怎么解? regionplot3D?

Mathematica解这种方程无压力,maple里面试了很多命令和组合都不行,貌似解不了
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-11 14:47:02 | 显示全部楼层 来自 北京
本帖最后由 chyanog 于 2013-8-11 17:05 编辑

Mathematica解法
  1. Solve[{a^2 + b^2 + 169 + Sqrt[c - 13] - 24 a - 10 b == 0},
  2. {a, b, c}, Reals]

  3. Solve[{a^2 + b^2 + 169 + Sqrt[c - 13] - 24 a - 10 b == 0,
  4. a > 0, b > 0, c > 0},{a, b, c}]

  5. Solve[{1/Cos[a]^2 + 1/(Sin[a]^2 Sin[b]^2 Cos[b]^2) == 9,
  6.   x == Tan[a], y == Tan[b], 0 < a < Pi/2, 0 < b < Pi/2}, {x, y}, {a, b}]
  7. {x, y} /. % // ArcTan

  8. Solve[{1/Cos[x]^2 + 1/(Sin[x]^2 Sin[y]^2 Cos[y]^2) == 9,
  9.     0 < x < Pi/2, 0 < y < Pi/2} // Simplify,{x, y}, Algebraics] // FullSimplify
  10. % /. k_*ArcTan[x_] :> ArcTan@TrigExpand@Tan[k ArcTan[x]] // FullSimplify
复制代码
回复 不支持

使用道具 举报

发表于 2013-8-11 23:04:51 | 显示全部楼层 来自 陕西西安
嗯,谢谢,我想问下那个正切的变量替换是怎么想到的?比如为什么不用x=sina,y=sinb等别的替换呢?
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-12 00:13:42 | 显示全部楼层 来自 北京
本帖最后由 chyanog 于 2013-8-12 00:23 编辑
TBE_Legend 发表于 2013-8-11 23:04
嗯,谢谢,我想问下那个正切的变量替换是怎么想到的?比如为什么不用x=sina,y=sinb等别的替换呢? ...

其实sin,cos都可以,用正切算是经验吧,记得Mathematica中解有解析解的三角方程时,Solve或Reduce返回的解很多都是反正切的形式,不少时候用反正切表示的结果更简单(并不绝对)。
再举个例子,下面的三角方程的解用反正切表示会更简单,Maple默认给出的解比较漂亮,Mathematica直接解出来的真复杂,还得变通一下
Mathematica code:
  1. Solve[Sin[x]/a == Sin[x + y]/b, {x}] // Quiet
  2. Solve[Sin[x]/a == Sin[x + y]/b && res == Sin[x], res, {x}] // Quiet
  3. Solve[Sin[x]/a == Sin[x + y]/b && res == Tan[x], res, {x}] // Quiet
  4. Solve[{Sin[x]/a == Sin[x + y]/b}, x, Method -> Reduce] /.
  5.   k_*ArcTan[x_] :> ArcTan@TrigExpand@Tan[k*ArcTan[x]] // Simplify
复制代码
maple code:
  1. solve(sin(x)/a=sin(x+y)/b, [x]);
复制代码
回复 不支持

使用道具 举报

发表于 2013-8-27 15:22:12 | 显示全部楼层 来自 上海
chyanog 发表于 2013-8-12 00:13
其实sin,cos都可以,用正切算是经验吧,记得Mathematica中解有解析解的三角方程时,Solve或Reduce返回的解 ...

maple似乎更通俗。
mathmatica更严谨。。。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-27 05:17 , Processed in 0.035954 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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