牛顿法+Armijo’s rule 求解方程组

牛顿法+Armijo’s rule 求解方程组 Author:溪云枫

2021.10.28

牛顿法+Armijo’s rule 求解方程组


Matlab 代码

clear;
clc;
close all;
%% 仅用牛顿法(步长为1)
format;
x0=[0 0 0];   % 迭代初始值
eps = 0.000001;  % 定位精度要求
for i = 1:100
    f = double(subs(fun(x0),{
   'x1' 'x2' 'x3'},{
   x0(1) x0(2) x0(3)}));
    df = double(subs(dfun(x0),{
   'x1' 'x2' 'x3'},{
   x0(1) x0(2) x0(3)}));  % 得到雅克比矩阵
    x = (x0 - f/df); % 得到的 x 为牛顿方向,牛顿法步长为 1 ,有效的迭代需要引入步长选择算法。
    if(abs(x-x0) < eps)
        break;
    end
    x0 = x; % 更新迭代结果
end
disp('----牛顿法----');
disp('定位坐标:');
x

你可能感兴趣的:(笔记,matlab,开发语言)