2015-10-06 244 views
-2

我不知道如何生成大小n*(n-1)的矩陣A在MATLAB這樣的:如何在MATLAB中生成與向量(1; ...; 1)正交的正交矩陣?

transpose(A) * ones(n,1) = zeros(n-1,1) 

transpose(A) * A = eye(n-1,n-1) 
+0

你有什麼已經試過了? –

+0

我還沒有實現任何東西。 –

+3

我們希望看到你嘗試一些事情,因爲它有助於縮小如何迴應的範圍。你也可以指出你知道哪些部分,哪些部分具體是你不知道的。嘗試使用代碼作爲你的例子 –

回答

1

零空間運營商正是這樣做,它發現所有正交向量的矩陣:

>> null([1;1;1;1]') 
ans = 
-0.50000 -0.50000 -0.50000 
0.83333 -0.16667 -0.16667 
-0.16667 0.83333 -0.16667 
-0.16667 -0.16667 0.83333 
+0

它工作成功,並感謝您的青睞。但是,我想知道是否可以隨機選擇這樣一個矩陣A?也就是說,每當我重複上述公式時,計算的A就會不同。 –

+0

你想A是隨機的嗎?右乘以維數(n-1)*(n-1)的隨機旋轉(=正交)矩陣。 – SpamBot

+0

是的,它的工作原理。用大小爲(n-1)*(n-1)的隨機標準正交均值矩陣對右乘A.謝謝你的青睞。 –