⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newton.m

📁 最优化方法的一些基本算法的实现:1
💻 M
字号:
%适用Newton法计算下面函数的极小点:
%               x1^2+4*x2^2+9*x3^2-2*x1+18*x3,
%初始点任取
clc;
clear;
syms x1 x2 x3;
fx=x1^2+4*x2^2+9*x3^2-2*x1+18*x3;
g=[diff(fx,x1);diff(fx,x2);diff(fx,x3)];
G=[diff(g(1),x1) diff(g(1),x2) diff(g(1),x3);diff(g(2),x1) diff(g(2),x2) diff(g(2),x3);diff(g(3),x1) diff(g(3),x2) diff(g(3),x3)];

x1=0;x2=0;x3=0;
e=0.01;
for times=0:100
    X=[x1;x2;x3];
    if norm(eval(g))<e
        min=X;
        break;
    else
        d=-eval(G)\eval(g);
        x1=x1+d(1);
        x2=x2+d(2); 
        x3=x3+d(3);
    end
end
fprintf('精度为%d时,经过%d次牛顿迭代,求得极小点为(%f,%f,%f)',e,times,min(1),min(2),min(3));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -