-
clearlb=ones(9,9);
c=,9);% 自定义 LB C 矩阵。
for i=1:81
for j=1:81
p=9-max(1:(i-1)/9+1)*9+i;% 除以 9 的余数。
q=9-max(1:(j-1)/9+1)*9+j;
m=max(1:(i-1)/9+1);%lb c 矩阵所在的行。
n=max(1:(j-1)/9+1);
if m==n
a(i,j)=lb(p,q);
elseif (n==m+1)+(n==m-1)a(i,j)=c(p,q);
elsea(i,j)=0;
endendenda
-
lb=ones(9)*4;c=ones(9)*8;这里的 % 随机生成 lb 和 c
a=kron(eye(9),lb)+kron(diag(ones(1,8),1)+diag(ones(1,8),-1),c);%这是你想要的
如果要将 a 转换为稀疏矩阵格式,请添加 a=sparse(a);
-
稀疏矩阵是非零元素很少的矩阵,称为稀疏矩阵,该属性提供了矩阵存储空间和计算时间的优势。
我们可以使用 MATLAB 函数 sparse 将其转换为稀疏矩阵,该函数的语法为:
s=sparse(a)
函数 sparse() 更常见的用途是生成稀疏矩阵,语法如下:
s=vsparse(r,c,s,m,n)
其中 R 和 C 是我们希望生成的稀疏矩阵矩阵中非零元素的行和列索引向量。 参数 s 是一个向量,其中包含与索引对 (r,c) 对应的数值,m 和 n 是结果矩阵的行和列维度。
如果你想得到完成的矩阵,你可以使用 full() 函数,函数语法:
a=full(s)
对于您的问题,要生成一个上三角形稀疏矩阵,一个可能的想法是首先生成一个上三角形正态矩阵,然后对其进行稀疏处理。
a = triu(ones(4,4))
上述函数用于生成上三角矩阵,因此。
s=sparse(a)
将其转换为稀疏矩阵。
-
a(2,2) 是大小为 1*1 的稀疏矩阵。
这与从密集矩阵中获取元素以获得 1*1 密集矩阵的结果相同。
不要看结果说很奇怪,但这并不影响计算。
5 矩估计法,取值为10 11 12 9 10 11 10 值为9发生1次,概率为(1 9); 值为 10,有 3 次出现的几率 (3 9); 该值是 2 次出现的概率 (2 9); 值为 11,发生几率为 2 (2 9); 该值为 12,出现 1 次的几率为 (1 9)。 >>>More