首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决和解决/vpasolve的区别

解决和解决/vpasolve的区别
EN

Stack Overflow用户
提问于 2015-10-17 14:51:48
回答 1查看 8.2K关注 0票数 2

我必须在MATLAB中求解一个包含2个未知数的非线性方程组。我曾经用vpasolve来解决系统问题,但是有人告诉我,这种方法不是很有效,我不应该在MATLAB中滥用符号编程,我应该使用fsolve。每次都是这样吗?使用fsolvevpasolve在精度和性能方面有什么不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-17 16:51:58

基本上,这就是何时使用可变精度算法(vpa)和浮点算法的问题。浮点算法使用恒定的精度,最常见的类型是64位双倍,由cpu支持,因此可以快速执行。当您需要比double提供的更高的精度时,您可以切换到更高的位长,但这需要您知道所需的精度。vpa允许您以相反的方式执行此操作。使用digits,您可以指定结果的精度,符号工具箱将以足够的精度执行所有中间步骤。

一个fzero产生重大错误的例子:

代码语言:javascript
复制
f=@(x)log(log(log(exp(exp(exp(x+1))))))-exp(1)
vpasolve(f(sym('x')))
fsolve(f,0)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33187917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档