2012-11-11 115 views
0

假設我有變量創建一個特定的矩陣

local a=10 
local b=1 
local c=0.25 

其中a一定是整數。現在,我該如何創建一個aa矩陣,其對角元素全部等於b,並且其非對角元素都等於c?我對Stata語言的矩陣不太熟悉,所以我希望任何人都可以幫助我。提前致謝。

+0

你想在馬塔這嗎? –

+0

僅限於它可以「導出」到STATA並在那裏用作矩陣。 –

回答

4
. local a = 10 

. local b = 1 

. local c = 0.25 

. matrix A = `b' * I(`a') 

. mat li A 

symmetric A[10,10] 
    c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 
r1 1 
r2 0 1 
r3 0 0 1 
r4 0 0 0 1 
r5 0 0 0 0 1 
r6 0 0 0 0 0 1 
r7 0 0 0 0 0 0 1 
r8 0 0 0 0 0 0 0 1 
r9 0 0 0 0 0 0 0 0 1 
r10 0 0 0 0 0 0 0 0 0 1 

. matmap A A , m(cond(@ == 0, 0.25, @)) 

. mat li A 

symmetric A[10,10] 
    c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 
r1 1 
r2 .25 1 
r3 .25 .25 1 
r4 .25 .25 .25 1 
r5 .25 .25 .25 .25 1 
r6 .25 .25 .25 .25 .25 1 
r7 .25 .25 .25 .25 .25 .25 1 
r8 .25 .25 .25 .25 .25 .25 .25 1 
r9 .25 .25 .25 .25 .25 .25 .25 .25 1 
r10 .25 .25 .25 .25 .25 .25 .25 .25 .25 1 

這裏matmap必須從SSC使用ssc inst matmap下載。

順便說一下,這裏不需要當地人。你可以直接輸入你的常量。

+0

這是完美的。非常感謝! –