pm_speedup.m

来自「数值分析, 同济大学教材<<现代数值数学和计算>>数值分」· M 代码 · 共 26 行

M
26
字号

function [x, lam, it] = pm(A, x0, tol, p)
[n m] = size(A);
if n ~= m
  error('Not a Cubic Metrix.');
end
if nargin <= 3 
  p = 0;
end
A = A - p * eye(n);
v0 = x0;
v = A * v0;
it = 0;
while norm(v - v0) > tol
  it = it + 1;
  if it > 20000
    disp('pm failed.');
    return;
  end
  v0 = v;
  u = v / maxnorm(v);
  v = A * u;
end
x = u;
lam = p + maxnorm(v);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?