一个函数的所有解决方案怎么走吗?

17日视图(30天)
信谊x;
f = @ x (x) 14 *。* exp (x - 2) -12 * exp (x - 2) - 7 * x。^ 3 + 20 * x。^ 2 - 26 * x + 12;
索尔=解决(f (x), x)
警告:无法解决象征性。返回一个数字解决方案使用vpasolve
索尔=
0.85714285714285714285714285714286
这个函数有两个解决方案,但是解决()显示只有金宝搏官方网站一个。我也尝试vpasolve。
索尔= vpasolve (f (x), x)
索尔=
0.85714285714285714285714285714286
如何让这两个解决方案?金宝搏官方网站
顺便说一下,不以这种方式如下:
索尔= vpasolve (f (x), x, 3)
索尔=
2.0000000000000073615018252131379

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月23日
信谊x;
f = @ x (x) 14 *。* exp (x - 2) -12 * exp (x - 2) - 7 * x。^ 3 + 20 * x。^ 2 - 26 * x + 12;
fx = f (x)
fx =
=因素因子(外汇)
因素=
数字(50)
partial_sols = arrayfun (@ (E)解决(E, x)因素,“统一”,0)
警告:无法解决象征性。返回一个数字解决方案使用vpasolve
partial_sols =1×3单元阵列
{0×1 sym} {1×1 sym} {1×1 sym}
溶胶= horzcat (partial_sols {:})
溶胶=

答案(1)

KSSV
KSSV 2021年8月23日
提到这一点,你需要提供近距离近似解值的解决方案。金宝搏官方网站
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年8月23日
正如我怀疑……
你正在寻找选项,您可以通过vpasolve()返回 所有 一般非线性方程的根(尽管也许你愿意排除功能,无限的解决方案,只要将返回所有90亿的解决方案如果数量函数。)金宝搏官方网站
不幸的是,它一直在数学上证明,为一些函数是不可能的。有一些函数知道许多甚至所有其他的根,不给你任何剩余的根的位置信息。
任务可能对于某些类的函数,但可能很棘手或不可能对其他功能。
例如,假设您
信谊c d1 d2真实
信谊x
解决((x - d1) * (x - d2) * exp ((x - d1) * (x - d2)) = = c, x)
它有多少实值的解决方案?金宝搏官方网站MATLAB说它不能找到任何解决方案。金宝搏官方网站枫说
d1/2 + d2/2 +√d1 ^ 2 - 2 * d1 * d2 + d2 ^ 2 + 4 * LambertW (c)) / 2
d1/2 + d2/2 -√d1 ^ 2 - 2 * d1 * d2 + d2 ^ 2 + 4 * LambertW (c)) / 2
相同的表达式在sqrt()对于他们两个,所以你可以问是否d1 ^ 2 - 2 * d1 * d2 + d2 ^ 2 + 4 * LambertW (c)非负,sqrt()将实值。所以乍一看,它看起来像真正的解决方案应该是0的数量(这个词在sqrt()为负),或2(如果它不是)。金宝搏官方网站但是!LambertW有两个真正的解决方案c范围1金宝搏官方网站 / e 0(独家两边),所以一个更正确的分析是0,或2或4 +额外的可能性,sqrt()内的表达并不像这样消极而是复数,因为LambertW复杂价值c < 1 / e
但是…如果d1 = = d2呢?改变解决方案的数量吗?金宝搏官方网站在这种情况下,解决方案下放金宝搏官方网站
d1+ / -√LambertW (c))
LambertW (c)是复杂的c < 1 / e和有两个 范围1 c / e值为0,和一个积极的价值为c > 0。所以√LambertW (c))将复杂的c < 0和额外的解决方案的情况下不适用。金宝搏官方网站现在你还需要担心是否LambertW (c) -比(x-d1) * (x-d2)是正的。然而,平心而论,即使出现d1和d2不平等,这不是真正的 问题。
不管怎样…你可以想象其他情况下像平原(x-d1) * (x-d2)在这种情况下,解决方案的数量取决于是否d1 = = d2。金宝搏官方网站和任何实际的算法进行数值(因为可能有一个非线性组件)将不得不担心是否d1 = = d2 在计算精度 即使他们是不同的。

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!