全球旧事资料 分类
非线性方程组fu
ctio
ZPke
ewto
Pe0用P输入初始猜想矩阵,不断迭代输出计算解Z为迭代结束后的F矩阵k为迭代次数,e为每次迭代后的无穷范数,e0为误差限ZFP1P2JJFP1P2QPJZe
ormQPi
fPQZFP1P2k1whileee0
JJFP1P2QPJZe
ormQPi
fPQZFP1P2kk1e
de
d
子函数一,用来求每一步的F(x)fu
ctio
outFxysymsx1x2
ff1x105cosx2f2x205si
x1Yf1f2x1xx2youtsubsYe
d
子函数二,用来求每一步的Jacobi矩阵fu
ctio
yJFxysymsx1x2f1x105cosx2f2x205si
x1df1xdiffsymf1x1df1ydiffsymf1x2df2xdiffsymf2x1df2ydiffsymf2x2jdf1xdf1ydf2xdf2yj中的元素为一阶偏导数x1xx2yysubsje
d
5算例分析
(1)首先输入系数矩阵初始猜想解和误差限e0P00e00001
(2)输出结果ZPke
ewto
Pe0
Z
10e009
05504424138713660398026500647575
P
f04864051551457130233725502568820
k
3
e
5835820948590920e005其中,P为计算解,k为迭代次数,Z为第k次迭代后的F矩阵,e为第k次迭代后的xk1xk
6讨论与结论
1、时间复杂度:ticZPke
ewto
Pe0tocElapsedtimeis0068248seco
ds
2、程序优化在本次的程序设计中,我采用了C语言中子函数调用的思想,使得程序的可读性增强,
条理清晰。其次,在求每一步的xk时,要解方程JxkxkFxk,此语句可以用
QPi
v(J)Z但考虑到算法的时间复杂性,本语句采用了QPJZ来实现,从而减少了计算机时间。
参考文献
1易大义,沈云宝,李有法计算方法第2版,浙江大学出版社p29532张琨高思超毕靖编著MATLAB2010从入门到精通电子工业出版社
f输入
xεN0
k12,…,N0
计算
1Fifixi12
2AJx
求解线性方程组JxYFx
计算xk1xxy
计算Sfi2x
Y

kN0
N
输出x,S,k
输出迭代N0次还没有达
Stop
到精度要求信息
附图1流程图
fr
好听全球资料 返回顶部