arrays - 如何重置 3 维矩阵的 'lower triangle'

标签 arrays matlab multidimensional-array

我需要重置 3 维矩阵的“下三角”。 这意味着,如果原始矩阵是:

C(:,:,1) = [1 2 3 ;  2 4 6  ;  3  6  9]

C(:,:,2) = [2 4 6 ;  4 8 12 ;  6 12 18]

C(:,:,3) = [3 6 9 ;  6 12 18 ; 9 18 27]

那么得到的矩阵应该是:

C(:,:,1) = [1 2 3 ;  2 4 6  ;  3  6  9]

C(:,:,2) = [0 0 0 ;  4 8 12 ;  6 12 18]

C(:,:,3) = [0 0 0 ;  0 0 0  ;  9 18 27]

知道这样的事情是如何完成的吗? (我原来的3dim矩阵很大)

谢谢!

最佳答案

内置的 triu 无法处理这个 3D 数组,但您可以在一个简单的循环中完成。

for k = 2:size(C, 3)
    C(1:k-1,:,k) = 0;
end

关于arrays - 如何重置 3 维矩阵的 'lower triangle',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40846604/

相关文章:

php - mysql数组: if statement in the foreach loop

php - 使用 PDO 将数据选择到多维数组中

c# - 在c#中向多维数组添加维度

arrays - 在 Matlab 中查找反转次数

python - 将 matlab ODE 求解器转换为 python

php - 如何从 MySQL 数据库记录为多级文件夹结构生成 PHP 数组

python - 使用 Python 将二维列表打印为多项式

java - Java中的选择排序不一致

c - 在 .h 文件中使用数组

excel - 如何使用 Matlab 或 Excel 从两个表中获取行的交集?