我想以数值方式求解以下多项式r
:
我正在尝试使用fzero()
如下:
r = (5/(r^2*9))- ((2)/(9*(6-r)^2))
x0 = 10; % some initial point
x = fzero(r,x0)
如何做到这一点fzero()
?
我想以数值方式求解以下多项式r
:
我正在尝试使用fzero()
如下:
r = (5/(r^2*9))- ((2)/(9*(6-r)^2))
x0 = 10; % some initial point
x = fzero(r,x0)
如何做到这一点fzero()
?
pol
fzero
该函数pol
,必须是
通过定义的函数句柄@
pol =@(r) (5/(r^2*9))- ((2)/(9*(6-r)^2))
x0 = 10; % some initial point
x = fzero(pol,x0)
解决方案
x = 3.6754
需要注意的是,第一个参数fzero()
应该是“函数句柄、内联函数或包含要计算的函数名称的字符串”,但你的只是一个表达式,这是无效的。
除了@Adam的方法(使用函数句柄),另一种方法是使用匿名函数,即
x = fzero(@(r) (5/(r^2*9))- ((2)/(9*(6-r)^2)) ,x0)
在哪里
@(r) (5/(r^2*9))- ((2)/(9*(6-r)^2))
是关于参数的匿名函数r
。
你会得到相同的结果x = 3.6754
。