当前位置:  开发笔记 > 编程语言 > 正文

获取matlab显示平方根(即2 ^(1/2)而不是1.414)

如何解决《获取matlab显示平方根(即2^(1/2)而不是1.414)》经验,为你挑选了1个好方法。

我有一些简单的方程式,我想通过matlab管道.但我希望得到确切的答案,因为这些值预计将在以后使用和简化.

眼下Matlab的显示sqrt(2.0)1.1414,而不是像2^(1/2)我想.

我试图打开format rat但这是危险的becasue它显示sqrt(2)1393/985无任何形式的警告.

有"象征性的数学"但似乎有点矫枉过正.

我想要的就是2 + sqrt(50)返回类似的东西2 + 5 * (2)^(1/2),甚至我5岁的卡西欧计算器都可以做到这一点!

那么我可以做些什么2 + sqrt(50)2 + 5 * (2)^(1/2)在matlab中进行评估呢?



1> Adriaan..:

根据@ Oleg的评论使用符号数学.

x=sym('2')+sqrt(sym('50'))
x =
5*2^(1/2) + 2

通过该表达式进行一万次迭代的平均时间是1.2毫秒,而数值表达式(x=2+sqrt(50))的时间仅为0.4微秒,即快一万倍.

我确实预先运行了50次符号表达式,因为正如Oleg在第二次评论中指出的那样,符号引擎需要一些热身.第一次通过你的表达我的电脑几乎2秒.

因此,由于计算时间的巨大差异,我建议使用数值方程.当你被迫(例如简化纸张的表达式)然后使用像Maple或Wolfram Alpha这样的符号计算引擎时,只使用符号表达式.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有