matlab的简化函数simple

为什么我使用simple或者simplify简化后g2=((2*x+1)^3/x^3)^(1/3),而不是g2=(2*x+1)/x或者g2=2+1/x... 为什么我使用simple或者simplify简化后g2 =((2*x + 1)^3/x^3)^(1/3),而不是g2=(2*x+1)/x 或者g2=2+1/x 展开
 我来答
tianxiawulang
2013-08-14 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:3187万
展开全部

楼主的MATLAB版本应该是2008b之后的吧?

 

从2008b开始,MTALAB的符号运算核心由Maple改到了MuPad,根据大多数人的看法,Maple远远强于MuPad,所以,如果符号运算用的比较多,最好还是用2008a之前的版本。

 

就楼主的这个问题而言,我在6.5、2007b和2013a上分别做了测试,前两个的结果没问题:

>> syms x
>> g2 =((2*x + 1)^3/x^3)^(1/3)
g2 =
((2*x+1)^3/x^3)^(1/3)

>> g3=simple(g2)
g3 =
(2*x+1)/x

>> g4=simple(g3)
g4 =
2+1/x

上面之所以调用两次simple,是因为simple函数尝试多种代数化简方法并且从中得到最精简的那个表达式,但是有些情况下,真正最精简的式子常常是要通过两种变换才能得到的。例如,上面的两个simple,第一个是通过radsimp方法,第二个是通过collect、expand等其他方法。

 

但在2013a(Mupad内核)上就存在问题:

>> syms x
>> g2 =((2*x + 1)^3/x^3)^(1/3)
g2 =
((2*x + 1)^3/x^3)^(1/3)

>> g3=simple(g2)
g3 =
((2*x + 1)^3/x^3)^(1/3)
追问
谢谢您。能否详细对比下maple和mupad的区别?另外,既然maple要强于mupad,高级版本为何舍弃maple二用mupad?matlab的高级版本相对于旧版本,在哪些方面有革命性的创新呢?
追答
我看到了你的求助贴question/580716950.html,但还没来得及好好整理答案,发现你已经采纳了另一个回答,那就在这里简单说一说吧。

1、详细对比maple和mupad的区别属于一个比较大的工程,有很多兼容性的问题往往在实际应用中才会发现,我以前回答过的问题当中有一些可以参考,可以用google搜索“maple mupad tianxiawulang site:baidu.com”,相信会对你有帮助(我之所以没有及时回答你的另一个提问,原本想好好整理一下帖子,但现在就暂且搁置,您自己去看吧)。

2、关于高级版本舍弃maple而用mupad,我没有看到太正式的说法。就我个人的理解,应该主要出于商业因素(MathWorks和Maplesoft由原来的互补关系后来逐渐演变为竞争关系)。

3、注意查一下Symbolic Math Toolbox文档中Release Notes的Compatibility Summary部分,那是关于各版本兼容性最权威的说法(当然,也不可能做到非常全面,很多问题还是要在使用过程中才会发现)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式