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

[基础概念] 发现 mathematica 好像比 maple差,怎么办

[复制链接]
发表于 2011-8-26 17:45:53 | 显示全部楼层 |阅读模式 来自 福建福州


这个是我求一个圆的部分面积的一个积分
mathematica 8 给出的结果几乎不可读懂,执行好久才有一个结果
maple 15 的很易懂,而且瞬间给出结果

之前一直用mathematica。。
看样子是不是两个软件得一起用了。。一个不能代替另一个???
:(

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2011-8-31 01:00:28 | 显示全部楼层 来自 上海
Simdroid开发平台
。。。
为什么差呢,只是因为给出的结果形式不好么,,,
Integrate[Sqrt[a^2 - (a - x)^2], {x, 0, b}, Assumpti** -> a > b > 0]单就这个结果在来说在我的电脑上比maple快,当然可以对这个结果进行变换,变成maple里的反三角的形式。
另外你求面积从实用观点完全可以先后指定a或b的值来计算定积分

Integrate[Sqrt[a^2 - (a - x)^2], {x, 0, b},
   Assumpti** -> a > b > 0] // ComplexExpand // Simplify
这样对结果表达处理一下是不是具有可读性了?

你说的maple形式的又是怎么读懂的?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2012-6-1 10:56:27 | 显示全部楼层 来自 北京
本帖最后由 maplev12 于 2012-6-1 10:56 编辑

Integrate[Sqrt[a^2 - (a - x)^2], {x, 0, b},  Assumptions -> a > b > 0]//ComplexExpand//Simplify
在Mathematica 8.0.4 里不是这个结果,是我的软件有什么错误吗
1/4 (2 a^2 \[Pi]+2 a^2 Arg[a]-4 a^2 Arg[I Sqrt[2 a-b]+Sqrt]-2 a (b^2 (-2 a+b)^2)^(1/4) Cos[1/2 Arg[(2 a-b) b]]+2 b (b^2 (-2 a+b)^2)^(1/4) Cos[1/2 Arg[(2 a-b) b]]-2 I a^2 Log[2]-I a^2 Log[a^2]+2 I a^2 Log[Sqrt[b^2]+Sqrt[(-2 a+b)^2]-2 (b^2)^(1/4) ((-2 a+b)^2)^(1/4) Sin[1/2 (Arg[2 a-b]-Arg)]]-2 I a (b^2 (-2 a+b)^2)^(1/4) Sin[1/2 Arg[(2 a-b) b]]+2 I b (b^2 (-2 a+b)^2)^(1/4) Sin[1/2 Arg[(2 a-b) b]])
回复 不支持

使用道具 举报

发表于 2012-6-1 23:10:24 | 显示全部楼层 来自 新疆乌鲁木齐
Reduce[a^2 - (a - x)^2 > 0, x]
(a < 0 && 2 a < x < 0) || (a > 0 && 0 < x < 2 a)

Assuming[a > b && b > 0, Integrate[Sqrt[a^2 - (a - x)^2], {x, 0, b}]]
1/2 (Sqrt[(2 a - b) b] (-a + b) + a^2 \[Pi] - I a^2 Log[2 a] +
   2 I a^2 Log[I Sqrt[2 a - b] + Sqrt[b]])
回复 不支持

使用道具 举报

发表于 2012-6-3 17:22:23 | 显示全部楼层 来自 台湾
  1. eqn = u == a - x;
  2. du = D[x /. Solve[eqn, x], u];
  3. range = a - # & /@ {0, b};
  4. ans = Integrate[Sqrt[a^2 - u^2]*du, Flatten@{u, range},
  5.    Assumptions -> a > b > 0][[1]]
  6. FullSimplify[
  7. a^2/4*Pi - a/2*Sqrt[(2 a - b) b] - a^2/2*ArcSin[(a - b)/a] +
  8.   b/2*Sqrt[(2 a - b) b] - ans, Assumptions -> {a > b > 0}]
复制代码
回复 不支持

使用道具 举报

发表于 2012-9-1 00:25:54 | 显示全部楼层 来自 北京
本帖最后由 chyanog 于 2012-9-1 10:38 编辑
HyperGroups 发表于 2011-8-31 01:00
。。。
为什么差呢,只是因为给出的结果形式不好么,,,
Integrate[Sqrt[a^2 - (a - x)^2], {x, 0, b}, As ...

基本同意,至于你说的比Maple快真的让我怀疑你是否去试验了,或者你用的是maple哪个版本呢,据我测试Maple12求解的时间是瞬间(0.3s),Mma8.0.4.0也得6s多(6.5s),两者都不做化简等处理,注意要在启动内核后第一次计算为准,第二次运行时间短些可能缓存了第一次的结果。
另外把x的次方改为3,
Integrate[Sqrt[a^2 - (a - x)^3], {x, 0, b}, Assumptions -> a > b > 0]
或者改成更复杂的再试试谁更快吧
两个软件孰优孰劣的问题我真不知道,我只知道他们两个都有对方不如之处


回复 不支持

使用道具 举报

发表于 2012-9-1 01:24:29 | 显示全部楼层 来自 北京
本帖最后由 chyanog 于 2012-9-1 01:25 编辑
maplev12 发表于 2012-6-1 10:56
Integrate[Sqrt[a^2 - (a - x)^2], {x, 0, b},  Assumptions -> a > b > 0]//ComplexExpand//Simplify
在Ma ...
不是软件有错误
  1. Integrate[Sqrt[a^2 - (a - x)^2], {x, 0, b}, Assumptions -> a > b > 0]
  2. FullSimplify[ComplexExpand[%], Assumptions -> a > b > 0]
复制代码


回复 不支持

使用道具 举报

发表于 2013-2-16 16:56:06 | 显示全部楼层 来自 北京西城
这个方法很快,先算定积分,运行不到1s
  1. ClearSystemCache[]
  2. t1 = AbsoluteTime[];
  3. f[x_] := Integrate[Sqrt[a^2 - (a - x)^2], x]
  4. t = f[b]
  5. FullSimplify[t, {0 < b < a}]
  6. AbsoluteTime[] - t1
复制代码
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 19:47 , Processed in 0.036942 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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