function x=nags(A,b,x0,e,N) n=length(b); if nargin<5,N=500;end if nargin<4,e=1e-4;end if nargin<3,x0=zeros(n,1);end x=x0;x0=x+2*e; k=0;A1=tril(A);A2=inv(A1); while norm(x0-x,inf)>e&k<N, k=k+1; x0=x;x=-A2*(A-A1)*x0 ; x' end
时间: 2024-04-06 21:34:36 浏览: 101
Nags-a-lot-crx插件
这是一个用于解线性方程组的迭代方法,具体来说是使用了NAG算法。函数的输入参数为矩阵A,向量b,初值向量x0,收敛精度e和最大迭代次数N。如果没有输入后三个参数,则分别默认为0向量、1e-4和500。函数的输出为方程组的解x。
该函数的迭代过程如下:
1. 将矩阵A分解为下三角矩阵A1和上三角矩阵A-A1。
2. 计算A1的逆矩阵A2。
3. 计算下一次迭代的解x,即x=-A2*(A-A1)*x0。
4. 判断迭代是否收敛,如果未收敛则返回步骤3,否则返回解x。
其中,norm(x0-x,inf)表示向量x0与x的最大差值,即二者的无穷范数之差。
阅读全文