Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何以函数作为参数最简单地求解方程=0?
我的带有一个输入变量的函数称为 potd(angle),带有一个输出变量 potNRGderiv。我试过了:
符号 x
解决(potd(x))
这给了我错误:“sym”类型的输入参数的未定义函数“sind”。
你有什么想法吗?提前致谢。
solve在这里是错误的途径,除非你的函数可以重写为一个简单的方程。 solve使用muPAD 功能,这就是为什么你可以做solve(sin(x))但不能solve(sind(x))。当然,您可以自己进行转换。
solve
solve(sin(x))
solve(sind(x))
如果您的函数更复杂或者您不想重写它,请查看fsolve:
x = fsolve(@myfun,x0)
其中 x0 是您的初始猜测 - 即 myfun(x0) 接近 0 - 并且myfun是一个接受 x 并返回单个输出的函数。根据您的功能,您可能必须使用optimoptions(容差、步长等)调整选项以获得良好的结果。
myfun
optimoptions