seb*_*ebf 5 matlab multidimensional-array matrix-indexing
当MATLAB索引矩阵,我只能指定第一个或最后ñ尺寸,并具有"自动选择"所有其他尺寸是多少?
例如,我正在编写一个接收图像并显示图像的功能imshow,可以显示三维彩色图像(例如 1024×768×3)或二维单色阵列(例如 1024x768).
我的功能并不关心图像有多少颜色通道,imshow会照顾它.我想要做的就是传递参数来选择一个区域:
imshow(frame(x1:x2, y1:y2, :))
Run Code Online (Sandbox Code Playgroud)
我怎么代替最后一个冒号说" 包括所有其他尺寸 "?
您可以将逗号分隔列表扩展与':'索引一起使用.
假设你的输入是:
A = rand([7,4,2,3]);
Run Code Online (Sandbox Code Playgroud)
要仅检索前2:
cln = {':', ':'};
A(cln{:})
Run Code Online (Sandbox Code Playgroud)
要检索最后3个:
cln = {1, ':', ':', ':'};
A(cln{:})
Run Code Online (Sandbox Code Playgroud)
哪个可以推广:
sten = 2:3; % Which dims to retrieve
cln(1:ndims(A)) = {1};
cln(sten) = {':'};
A(cln{:})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |