【问题标题】:Gram-Schmidt orthogonalizationGram-Schmidt 正交化
【发布时间】:2011-03-15 08:57:22
【问题描述】:

给定一个具有独立列的矩阵 A(不一定是正方形),我能够应用 Gram-Schmidt 迭代并使用 Matlab 的函数 qr

A=[1,1;1,0;1,2]

[Q,R] = qr(A)

然后

>> Q(:,1:size(A,2))
ans =
  -0.577350269189626  -0.000000000000000
  -0.577350269189626  -0.707106781186547
  -0.577350269189626   0.707106781186547

您可以验证列是否正交

Q(:,1)'*Q(:,2) equals zero and

norm(Q(:,1)) equals norm(Q(:,2)) equals 1

给定一个具有独立列的矩阵(如 A),R 中是否有一个函数可以产生(Gram-Schmidt)正交矩阵 Q? R 的 qr 函数不会产生正交 Q。

【问题讨论】:

    标签: r linear-algebra


    【解决方案1】:

    qr 有效,但它使用独特的约定并生成一个qr 对象,您可以使用qr.Qqr.R 进一步操作该对象:

    > A
         [,1] [,2]
    [1,]    1    1
    [2,]    1    0
    [3,]    1    2
    > A.qr <- qr(A)
    > qr.Q(A.qr)
               [,1]          [,2]
    [1,] -0.5773503 -5.551115e-17
    [2,] -0.5773503 -7.071068e-01
    [3,] -0.5773503  7.071068e-01
    > qr.R(A.qr)
              [,1]      [,2]
    [1,] -1.732051 -1.732051
    [2,]  0.000000  1.414214
    

    这是你想要的输出吗?

    【讨论】:

    • 谢谢,我是在仔细阅读帮助文件后才发现的。我急忙寻求帮助。
    【解决方案2】:

    通过rseek.org 快速搜索,可以找到包far 及其函数orthonormalization,您可以尝试一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 2018-06-15
      • 2014-09-19
      • 2016-08-06
      • 2018-07-14
      • 1970-01-01
      • 2020-07-09
      相关资源
      最近更新 更多