微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在GNU Octave中正交化一组向量?

如何解决如何在GNU Octave中正交化一组向量?

Mathematica具有函数Orthogonalization,当给定一组矢量时,它们会将它们正交。

GNU Octave是否有一些类似的内置例程?

当然,我可以使用Gram-Schmidt方法设置用于使向量正交的循环,但是我正在寻找内置例程。

解决方法

我想您可以尝试qr将一组向量正交化。

给出一组向量

v1 = [3,4,2];
v2 = [2,5,2];
v3 = [1,2,6];

我们将所有矢量按列绑定以形成矩阵A,然后执行qr,例如

A = [v1;v2;v3]';
[Q,R] = qr(A);

那我们将看到

Q =

  -0.557086   0.787070  -0.264906
  -0.742781  -0.614899  -0.264906
  -0.371391   0.049192   0.927173

R =

  -5.38516  -5.57086  -4.27099
   0.00000  -1.40197  -0.14758
   0.00000   0.00000   4.76832

其中Q中的列是正交向量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。