在Matlab中,如何解决起源于函数的方程?

时间:2013-10-16 10:32:36

标签: matlab function equation symbolic-math

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

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

syms x

解决(POTD(X))

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

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

1 个答案:

答案 0 :(得分:0)

solve这里是错误的途径,除非您的函数可以重写为简单的等式。 solve使用muPAD functions,这就是solve(sin(x))而不是solve(sind(x))的原因。当然,您可以自己进行转换。

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

x = fsolve(@myfun,x0)

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