问题描述.png (29.7 KB, 下载次数: 1)
2015-1-27 09:34 上传
%Gauss-Newton算法实现如下
function[x,minf] = GN(f,x0,var,eps)formatlong;
ifnargin == 3 %如果没有设置eps,则eps=1.0e-6eps = 1.0e-6;
end
m = 0;
S =transpose(f)*f; %trnspose是转置,求得r方k =length(f); %
%n =length(x0); %n为变量个数,但是没用到啊?x0 =transpose(x0); %将行向量转置为列向量tol =1; %初始容差A =jacobian(f,var);
whiletol>eps
Fx = zeros(k,1);
for i=1:k
Fx(i,1) = subs(f(i),var,x0);
end
Sx = subs(S,var,x0); %求得f转置与其本身值,Ax = subs(A,var,x0); %雅克比矩阵的值gSx = transpose(Ax)*Fx;
dx