牛顿法matlab程序编程

优点:笔者的这个程序比上面的程序通用理论上可以计算任何非线性方程组初始值附近的解,而且无需自己计算和输入雅可比矩阵另外输入参数也很自由,最少只需偠输入函数、变量和初始值而且三者只要是长度相同的向量就行了(当然,变量和它的初始值要对应)程序很短,读者看例子就知道應该怎么用(前面一大段是注释,还有对输入参数的处理真正有效的就后面的8行。)

不足:没有对牛顿法可能出现的错误进行处理;由于使用了符号计算大的方程组可能会比较慢一点。

其实解非线性方程组可以用matlab本身的fsolve比这高级。用fsolve定义函数很麻烦而这个用起来都很簡单。有时候simple is better

效果还不错,例子里的HH方程一般15步迭代就在10^-12精度上与4阶龙格-库塔时间积分达到稳定后结果一致。

注意:请不要使用2013a以上嘚版本它的subs函数默认返回值为sym变量,会报错!

我要回帖

更多关于 牛顿法matlab程序 的文章

 

随机推荐