matlab中三维数组怎么删掉第二维的某一列

比如我有a(:,:,1)=[1 2;3 4];a(:,:,2)=[5 6;7 8];我要删除每个的第二列,变成a(:,:,1)=[1;3];a(:,:,2)=[5;7]; 求大神指教,急急急急急急急,谢谢!

只要把那一列赋值赋一个空矩阵就可以。
用一个3×3×3数组,示例如下:

a=ones([3 3 3])

a(:,:,1) =

1 1 1
1 1 1
1 1 1

a(:,:,2) =

1 1 1
1 1 1
1 1 1

a(:,:,3) =

1 1 1
1 1 1
1 1 1

>> a(:,2,:)=[]

a(:,:,1) =

1 1
1 1
1 1

a(:,:,2) =

1 1
1 1
1 1

a(:,:,3) =

1 1
1 1
1 1

第二维第二列被全部删除了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-21
在Matlab命令框中输入以下代码可以创建简单的三维数组:
for i=1:2
for j=1:2
for k=1:2
A(i,j,k)=i+j+k;
end
end
end
2
要查看程序结果。在命令窗口中输入变量名称按【Enter】,即可得到相应的结果。如
输入:A(:,:,1)
得到:
ans =
3 4
4 5
输入:A(:,:,2)
得到:ans =
4 5
5 6
第2个回答  2015-11-07
x=-2*pi:0.1:2*pi;
y=sin(x);

plot(x,y,'.-','MarkerSize',14)

% "-."是点划线,".-"为直线上加标记“点”,即先 . 后 - 即可。上述matlab程序,直接拷贝
%仿真即可显示。
第3个回答  2015-09-19
先ind=find(A==3);
然后对ind的每一个值
[I,J,K] = ind2sub(size(A),7)
ind=find(A==3);
for k=1:length(ind)
[I(k),J(k),K(k)] = ind2sub(size(A),ind(k))
end
第4个回答  推荐于2016-05-18
>> a(:,:,1)=[1 2;3 4];a(:,:,2)=[5 6;7 8];>> a
a(:,:,1) =
1 2
3 4
a(:,:,2) =
5 6
7 8
>> a(:,2,:)=[]
a(:,:,1) =
1
3
a(:,:,2) =
5
7本回答被提问者采纳