-2

如何以函数作为参数最简单地求解方程=0?

我的带有一个输入变量的函数称为 potd(angle),带有一个输出变量 potNRGderiv。我试过了:

符号 x

解决(potd(x))

这给了我错误:“sym”类型的输入参数的未定义函数“sind”。

你有什么想法吗?提前致谢。

4

1 回答 1

0

solve在这里是错误的途径,除非你的函数可以重写为一个简单的方程。 solve使用muPAD 功能,这就是为什么你可以做solve(sin(x))但不能solve(sind(x))。当然,您可以自己进行转换。

如果您的函数更复杂或者您不想重写它,请查看fsolve

x = fsolve(@myfun,x0)

其中 x0 是您的初始猜测 - 即 myfun(x0) 接近 0 - 并且myfun是一个接受 x 并返回单个输出的函数。根据您的功能,您可能必须使用optimoptions(容差、步长等)调整选项以获得良好的结果。

于 2013-10-18T12:04:19.497 回答