0

假设我有变量

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

其中a必然是一个整数。现在,如何创建一个对角元素都等于且非对角元素都等于 的a时间a矩阵?我对Stata语言中的矩阵不是很熟悉,所以我希望有人能在这里帮助我。提前致谢。bc

4

1 回答 1

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 inst matmap.

顺便说一句,这里不需要当地人。您可以直接输入常量。

于 2012-11-13T09:48:19.520 回答