当前位置:编程学习 > Matlab >>

matlab中牛顿法编程

要计算一个很复杂的矩阵H(含有未知数x),打算通过det(H)=0之后,求出x的数值。因为矩阵中含有很多特殊函数(比如贝塞尔函数),所以用solve求解的时候,多数会求解不出来。所以改用了牛顿法。 但是在最近的计算中发现,那些能用solve求解出的答案和用牛顿法求解出的答案差好几倍。所以不知道是牛顿法的问题,还是因为矩阵太复杂用solve计算已经不可靠的问题? 所以恳求大家帮忙分析一下是为什么,并编写一个能求出正确解的程序(最好是用牛顿法)。多谢大家!
答案:这样吧,你不要直接通过solve求解啊,可以画一个图像啊,以x的值为横坐标,行列式值为纵坐标,或者纵坐标取一下对数(如果变化范围太大),然后可以得出大致得到解的范围;最后可以通过其他方法计算更加精确的解。

希望能帮到你,我算程序就是这样实现的
其他:我也期待答案。 

上一个:matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段?
下一个:用Matlab调用ODE45,其子程序中有一个和时间无关的变量,现在如何把不同时刻的该变量值返回到主程序中

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,