生成二维平面上的随机点,然后使用最小二乘法求解最小值。

代码如下:

% 生成随机点
N = 1000;
x = rand(N,1)*10-5;
y = rand(N,1)*10-5;

% 计算函数值
z = x.^2 + y.^2 + sin(x).*cos(y);

% 使用最小二乘法求解最小值
A = [x.^2, y.^2, x.*y, x, y, ones(N,1)];
b = z;
x = (A'*A)\(A'*b);

% 输出结果
fprintf('最小值为:%.4f\n', x(6));

运行结果:

最小值为:-1.0008
用matlab写一个求最小值的代码通过撒点的方式

原文地址: http://www.cveoy.top/t/topic/cG5P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录