matlab 最速下降法求解求目标函数f=x1^2+25*x2^2的极

查题易 其它 已帮助

matlab 最速下降法求解
求目标函数f=x1^2+25*x2^2的极小点 要求用最速下降法 实践过的来

优质解答

共1条回复

  • 其中 ,要求选取初始点 ,终止误差 .
    编写M文件detaf.m如下
    function [f,df]=detaf(x);
    f=x(1)^2+25*x(2)^2;
    df(1)=2*x(1);
    df(2)=50*x(2);
    (ii)编写M文件zuisu.m
    clc
    x=[2;2];
    [f0,g]=detaf(x);
    while norm(g)>0.000001
    p=-g'/norm(g);
    t=1.0;f=detaf(x+t*p);
    while f>f0
    t=t/2;f=detaf(x+t*p);
    end
    x=x+t*p
    [f0,g]=detaf(x)
    end