matlab - 我可以将 MATLAB 切片存储在变量中吗?

标签 matlab slice

我有一个很长的切片序列,我需要将其应用于大量 MATLAB 矩阵。我该怎么做?

即我可以简化吗,

y(1:some_var*3,1:some_other_var*3,1:another_var*3) = x1(1:some_var*3,1:some_other_var*3,1:another_var*3) .* x2(1:some_var*3,1:some_other_var*3,1:another_var*3) ./ x3(1:some_var*3,1:some_other_var*3,1:another_var*3)

比如,

inds = slice(1:some_var*3,1:some_other_var*3,1:another_var*3)
y(inds) = x1(inds) .* x2(inds) ./ x3(inds)

就像我可以用 Python 做的那样?

最佳答案

在您的情况下,您可以创建一个逻辑掩码:

%# assuming x1,x2,x3,y are all of the same size

mask = false(size(x1));
mask(1:some_var*3,1:some_other_var*3,1:another_var*3) = true;

y(mask) = x1(mask).*x2(mask)./x3(mask);

您可能想了解的其他功能:FIND , SUB2IND

关于matlab - 我可以将 MATLAB 切片存储在变量中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6819395/

相关文章:

Matlab 图形用户界面 : Dynamically changing the popup menu

matlab - 图像局部区域的对比度拉伸(stretch)

performance - Matlab矩阵乘法速度

java - 尝试在 Go 中实现 Java Guava sets.difference

mongodb - 有没有办法通过 Find() 获取 slice ?

oop - 对象切片,这是优势吗?

matlab - 如何仅重命名 MATLAB 表中的少数变量?

matlab - 在 matlab 中打印选择性迭代

arrays - 这种类型的 golang 字符串 slice 会在底层字节数组中泄漏内存吗?

html - 菜单按钮帮助