如何重置3维矩阵的"下三角"

use*_*172 3 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]
Run Code Online (Sandbox Code Playgroud)

然后得到的矩阵应该是:

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]
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Sue*_*ver 6

内置的triu不能处理这个3D阵列,但你可以在一个简单的循环中完成.

for k = 2:size(C, 3)
    C(1:k-1,:,k) = 0;
end
Run Code Online (Sandbox Code Playgroud)