clear;close all;clc;%F = x1.^2 + 25*x2.^2;% 赫兹矩阵% A = [1,0;0,25];% 可求得最大的学习率为 1/25 = 0.04,% 当学习率大于0.04时,系统发散,小于0.04时,系统收敛%绘制3D图xx1 = -1: 0.05:1;xx2 = xx1;[x1,x2] = meshgrid(xx1,xx2);xxsize = size(x1);subplot(1,4,4);x1 = x1(:);x2 = x2(:);F = x1.^2 + 25*x2.^2;x1 = reshape(x1,xxsize);x2 = reshape(x2,xxsize);F = reshape(F,xxsize);mesh(x1,x2,F);zlim([0,5]);%绘制轮廓图subplot(1,4,1);hold on;syms x1 x2;F = x1^2 + 25*x2^2;ezplot(F - 1);ezplot(F - 2);ezplot(F - 3);ezplot(F - 4);ezplot(F - 5);xlim([-2,2]);ylim([-2,2]);title('学习率为0.039');grid on;N = 50;%迭代次数%F = x1.^2 + 25*x2.^2;alf = 0.039;% 学习率x = [1.5 , 0.5]';xy = zeros(2,N);for i=1:1:N xy(1,i) = x(1); xy(2,i) = x(2); dF = [2,50]'.*x; x = x - alf*dF;endplot(xy(1,:),xy(2,:),'r-');%绘制轮廓图subplot(1,4,2);hold on;syms x1 x2;F = x1^2 + 25*x2^2;ezplot(F - 1);ezplot(F - 2);ezplot(F - 3);ezplot(F - 4);ezplot(F - 5);xlim([-2,2]);ylim([-2,2]);title('学习率为0.041');grid on;N = 50;%迭代次数%F = x1.^2 + 25*x2.^2;alf = 0.041;% 学习率x = [1.5 , 0.5]';xy = zeros(2,N);for i=1:1:N xy(1,i) = x(1); xy(2,i) = x(2); dF = [2,50]'.*x; x = x - alf*dF;endplot(xy(1,:),xy(2,:),'r-');%绘制轮廓图subplot(1,4,3);hold on;syms x1 x2;F = x1^2 + 25*x2^2;ezplot(F - 1);ezplot(F - 2);ezplot(F - 3);ezplot(F - 4);ezplot(F - 5);xlim([-2,2]);ylim([-2,2]);title('学习率为0.01');grid on;N = 50;%迭代次数%F = x1.^2 + 25*x2.^2;alf = 0.01;% 学习率x = [1.5 , 0.5]';xy = zeros(2,N);for i=1:1:N xy(1,i) = x(1); xy(2,i) = x(2); dF = [2,50]'.*x; x = x - alf*dF;endplot(xy(1,:),xy(2,:),'r-');