2013-05-17 79 views
0

對不起,如果這是一個愚蠢的問題,但我找不到我需要的答案。 我有以下矩陣: -如何將2x3矩陣變成3x3矩陣

A |6 6 0| 
    |9 0 0| 

每一列表示在網格座標。 我們找到的「A」我需要創建這個成一個3x3方陣,要做到這一點,我加001作爲第三行逆...

B |6 6 0| 
    |9 0 0| 
    |0 0 1| 

我這樣做,只是因爲它是我在線例子中已經看到了。

我的問題是,在這種情況下,計算/添加2x3矩陣的第3行的方法是什麼?

+0

什麼l您使用的是語言/環境?它應該像創建一個行向量一樣簡單,只要矩陣填充零,將行向量中的最後一個數字設置爲1,然後將其添加到矩陣中... –

+0

我只是使用一些簡單的2d改變,除此之外,我不確定你的意思是環境。好的,我是否總是將最後一個數字設置爲1? – user2292173

+0

我在問你在用什麼工具? (matlab,octave等)是的,如果你總是隻在矩陣的底部添加一行,那麼行中的最後一個數字應該總是1,如果你實際做的是追加最後一行一個3x3的單位矩陣。你能鏈接到你所關注的例子嗎? –

回答

3

這是不可能採取不是平方的矩陣的逆。 我假設只想擴展矩陣爲了使我平方,爲什麼你使用[0 0 1]是使矩陣一致..

其實你矩陣代表三個變量的兩個方程..

A: 

    6*x_1 + 6*x_2 + 0*x_3 = 0 
    9*x_1 + 0*x_2 + 0*x_3 = 0 

這並不一致 而是通過增加最後一排你

B: 

    6*x_1 + 6*x_2 + 0*x_3 = 0 
    9*x_1 + 0*x_2 + 0*x_3 = 0 
    0*x_1 + 0*x_2 + 1*x_3 = 0 

這個矩陣梯隊形式存在

[1 0 0] 
[0 1 0] 
[0 0 1] 

所以通過將最後一排,你不改變矩陣

你會正確地得到相同的結果,只是將其降低到

[6 6] 
[9 0] 
+0

完美...謝謝! – user2292173

0

這是一個簡單的方法:

s = size(A); 
B = eye(max(s)); 
B(1:s(1),1:s(2)) = A