如何使用函数作为参数最简单地求解方程= 0?
我的一个输入变量函数叫做potd(angle),有一个输出变量potNRGderiv。我试过了:
syms x
解决(POTD(X))
这给了我错误:'sym'类型的输入参数的未定义函数'sind'。
你有什么想法吗?提前谢谢。
答案 0 :(得分:0)
solve
这里是错误的途径,除非您的函数可以重写为简单的等式。 solve
使用muPAD functions,这就是solve(sin(x))
而不是solve(sind(x))
的原因。当然,您可以自己进行转换。
如果您的功能更复杂或者您不想重写它,请查看fsolve:
x = fsolve(@myfun,x0)
其中x0是您的初始猜测 - 即myfun(x0)接近0 - myfun
是一个取x并返回单个输出的函数。根据您的功能,您可能需要使用optimoptions
(公差,步长等)调整选项以获得良好的结果。