適用在哪里
如題黔龟,如何根據(jù)"上/下三角矩陣"快速補全其相應(yīng)的"對稱陣"犁罩,適用情況如下:
- 當有一個三角陣時插佛,快速生成其對應(yīng)的另一半三角陣婶熬;
- 當想生成一個對稱陣時剑勾,可以先生成其一半的三角陣光坝,再用該三角陣將原陣補全。
實現(xiàn)
方法:triu()與tril()函數(shù)
x = rand(3,3);
% 完整的上三角與下下三角矩陣
tri_up = triu(x); % 完整上三角,第二個參數(shù)默認為0
tri_low = tril(x); % 完整下三角,第二個參數(shù)默認為0
% 缺對角線的上三角與下三角矩陣
tri_up1 = triu(x,1); % 上三角往"右上"少一格
tri_low1 = tril(x,-1); % 下三角往"左下"少一格
% 完整矩陣矩陣生成: 上 + 下(一個完整一個缺一格即可)
all1 = triu(x,0) + tril(x,-1);
all2 = triu(x,1) + tril(x,0);
效果:
% 原始隨機矩陣為:rand(x)
x =
0.6948 0.0344 0.7655
0.3171 0.4387 0.7952
0.9502 0.3816 0.1869
% 上三角矩陣:triu(x)
tri_up =
0.6948 0.0344 0.7655
0 0.4387 0.7952
0 0 0.1869
% 下三角矩陣:tril(x)
tri_low =
0.6948 0 0
0.3171 0.4387 0
0.9502 0.3816 0.1869
% 上三角矩陣向"右上"缺一格:triu(x,1)
tri_up1 =
0 0.0344 0.7655
0 0 0.7952
0 0 0
% 下三角矩陣向"左下"缺一格:tril(x,-1)
tri_low1 =
0 0 0
0.3171 0 0
0.9502 0.3816 0
% 完整矩陣生成方法1:triu(x,0) + tril(x,-1) 下缺上不缺
all1 =
0.6948 0.0344 0.7655
0.3171 0.4387 0.7952
0.9502 0.3816 0.1869
% 完整矩陣生成方法2:triu(x,1) + tril(x,0); 上缺下不缺
all2 =
0.6948 0.0344 0.7655
0.3171 0.4387 0.7952
0.9502 0.3816 0.1869