Matlab 编程实现:(精度 ε≤1e-6)
(1) t 以0.02为间隔,画出下面函数图像,其中 t∈ [-10,10];
(2)用0.618法求下面函数的极小值:
f ( t )=( t ²-1)²+( t -1)²+3,其中 t ∈[-10,10]
2. Matlab 编程实现:(精度ε≤1e-6)
(1) t , s 均以0.02为间隔,均在[-5,5]范围内,画出下面函数图像;
(2)用最速下降法求函数: f ( t , s )=( t -4)²+( s +2)²+1的极小值,初始点取 xº=(1,-3)Τ。
1. Matlab编程实现:
% 画出函数图像
t = -10:0.02:10;
y = (t.^2-1).^2+(t-1).^2+3;
plot(t,y);
% 用0.618法求极小值
a = -10;
b = 10;
golden_section_search(@(t)(t.^2-1).^2+(t-1).^2+3,a,b,1e-6);
2. Matlab编程实现:
% 画出函数图像
t = -5:0.02:5;
s = -5:0.02:5;
[X,Y] = meshgrid(t,s);
z = (X-4).^2+(Y+2).^2+1;
surf(X,Y,z);
% 最速下降法求极小值
x0 = [1,-3]';
min_gradient(@(x)(x(1)-4).^2+(x(2)+2).^2+1,x0,1e-6);
不知道你这个问题是否已经解决, 如果还没有解决的话: