我知道我可以传递矩阵的所有元素并做到这一点.
但也许还有另一种选择.
我想要做:
mat1 = mat2 * mat1;
Run Code Online (Sandbox Code Playgroud)
mat1中的每个元素变为负数或大于255,我想留下前一个元素.
例如(结果不正确,这仅用于示例):
mat1 = [10 25 12
33 7 163
232 13 77]
mat2 = [-1 2 -3
4 -5 6
-7 -8 9]
Run Code Online (Sandbox Code Playgroud)
asume mat1 = mat2*mat1给出:
mat1 = [-77.32 59 298
0 -33 12
-600 256 80]
Run Code Online (Sandbox Code Playgroud)
所以我想修复mat1为:
mat1 = [10 59 12
0 7 12
232 13 80]
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,你有一个矩阵乘法
mat2 * mat1
Run Code Online (Sandbox Code Playgroud)
最好是将矩阵乘法结果存储在第三个矩阵中
mat3 = mat2 * mat1
Run Code Online (Sandbox Code Playgroud)
同
idx = (mat3 < 0 | mat3 > 255)
Run Code Online (Sandbox Code Playgroud)
你有一个矩阵,你想要替换的地方,零没有.应用此索引以使用mat1的值替换mat3中的值
mat3(idx) = mat1(idx)
Run Code Online (Sandbox Code Playgroud)
结果是一个矩阵,其中小于0或大于255的每个元素都已被mat1的值替换.