最速下降算法matlab代码
时间: 2024-07-02 16:00:24 浏览: 108
最速下降法的matlab程序
最速下降算法(Gradient Descent)是一种常用的优化方法,用于寻找函数的最小值。在MATLAB中,你可以使用内置的优化工具箱来实现这个算法。以下是一个简单的例子,展示如何使用`fminunc`函数(未约束优化)来进行最速下降:
```matlab
% 假设我们有一个二次函数 f(x) = x^2
fun = @(x) x.^2;
% 初始猜测点
x0 = -5; % 可以根据问题调整
% 设置最速下降参数(学习率)
options = optimoptions(@fminunc, 'Algorithm', 'quasi-newton'); % 使用拟牛顿法(BFGS)
% 执行最速下降算法
[x, fval] = fminunc(fun, x0, options);
% 输出结果
fprintf('最小值的位置: x = %f\n', x);
fprintf('最小值: f(x) = %f\n', fval);
% 相关问题--
阅读全文