我知道如何在MATLAB中构建矩阵,但我正在研究的例子被定义为
a(cl,:,k)=x*ang;
已经定义了cl,k,x和ang。我只是想知道(cl,:,k)是做什么的,特别是逗号的作用?
另外,如果我要在Excel中复制它,那么我该怎么做呢?
答案 0 :(得分:2)
,
中的逗号a(cl,:,k)
用于分隔矩阵a
的不同维度。:
中的冒号a(cl,:,k)
用于选择此维度上的所有元素(受其他维度限制),这是1:end
的简写符号。换句话说,选择了所有元素a(cl, 1:end, k)
,其中end
是a
第二维的大小。例如:
a = zeros(2, 3); // 2x3 matrix with all elements are 0
a(1, :) = [1 2 3]; // <=> a(1,1:3)=[1 2 3]; assign all elements to the first row
然后,a
将
1 2 3
0 0 0
答案 1 :(得分:0)
逗号分隔您想要访问的多维数组元素的不同轴上的索引
:
表示1:end
- 此处将成为该轴可能的最大索引
>> a = zeros(3,3,3)
a(:,:,1) =
0 0 0
0 0 0
0 0 0
a(:,:,2) =
0 0 0
0 0 0
0 0 0
a(:,:,3) =
0 0 0
0 0 0
0 0 0
>> a(1,:,1) = 1
a(:,:,1) =
1 1 1
0 0 0
0 0 0
a(:,:,2) =
0 0 0
0 0 0
0 0 0
a(:,:,3) =
0 0 0
0 0 0
0 0 0
>> a(2,1:end,2) = 2
a(:,:,1) =
1 1 1
0 0 0
0 0 0
a(:,:,2) =
0 0 0
2 2 2
0 0 0
a(:,:,3) =
0 0 0
0 0 0
0 0 0
>> a(1,1,:) = 5
a(:,:,1) =
5 1 1
0 0 0
0 0 0
a(:,:,2) =
5 0 0
2 2 2
0 0 0
a(:,:,3) =
5 0 0
0 0 0
0 0 0