资源简介

Matlab 程序: 解决了Gram-Schmidt正交化方法,次方程法可以用于求解Zernike 多项式的波面拟合系数!

资源截图

代码片段和文件信息

function [QR] = grams(A)
%GRAMS  Gram-Schmidt orthogonalization.
%       [QR] = grams(A) returns matrix Q with orthonormal
%       columns and an upper triangular R so that Q*R = A.
%       Warning: this algorithm is numerically unstable.
%       Use MATLAB‘s built-in QR function for stability.

[mn] = size(A);
Asave = A;
for j = 1:n
   for k = 1:j-1
      A(:j) = A(:j) - (A(:j)‘*A(:k))/(A(:k)‘*A(:k))*A(:k);
   end
end
tol = 1.e-6;
for j = 1:n
   if norm(A(:j)) < tol
      error(‘Columns are linearly dependent.‘)
   end
   Q(:j) = A(:j)/norm(A(:j));
end
R = Q‘*Asave;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        802  2010-03-10 07:59  gramsmit.m

     文件       1081  2010-03-10 07:58  gs.m

     文件        610  2010-03-10 07:59  grams.m

----------- ---------  ---------- -----  ----

                 2493                    3


评论

共有 条评论