最速下降法线性方程组matlab误差图
时间: 2023-09-30 11:11:42 浏览: 85
最速下降法matlab
5星 · 资源好评率100%
下面是使用最速下降法求解线性方程组的Matlab代码,并绘制误差图的示例:
```
% 定义线性方程组
A = [4 -1 0; -1 4 -1; 0 -1 4];
b = [15; 10; 10];
% 定义迭代初始值和精度要求
x0 = [0; 0; 0];
epsilon = 1e-6;
% 最速下降法求解
x = x0;
r = b - A*x;
err = norm(r);
err_list = [err];
while err > epsilon
alpha = (r'*r) / (r'*A*r);
x = x + alpha*r;
r = b - A*x;
err = norm(r);
err_list = [err_list err];
end
% 绘制误差图
semilogy(1:length(err_list), err_list);
xlabel('迭代次数');
ylabel('误差');
title('最速下降法求解线性方程组误差图');
```
其中,`err_list`记录了每次迭代的误差大小,使用`semilogy`函数绘制误差图。
阅读全文