HOW TO ACCESS THE FOLLOWING ELEMENTS FROM THE GIVEN ARRAY
1 次查看(过去 30 天)
显示 更早的评论
a=
0 0 0.3013 1.1305
1.0000 2.0000 0.7390 0.4223
3.0000 2.0000 1.1305 -0.2111
I need
A1=[[a(1,1) a(2,1) a(1,3) a(2,3)]' [a(1,2) a(2,2) a(1,4) a(2,4)]' ] A2=[[a(2,1) a(3,1) a(2,3) a(3,3)]' [a(2,2) a(3,2) a(2,4) a(3,4)]' ]
2 个评论
Cedric
2014-5-21
What doesn't work with the current approach? Do you need to generalize it to larger arrays? If so, what will be the size of these arrays and what will you want to perform ultimately?
回答(2 个)
Andrei Bobrov
2014-5-25
A1 = reshape(permute(reshape(a(1:end-1,:),2,2,[]),[1,3,2]),[],2);
a02 = [a(:,2:end-1);a(2:end,end)'];
A2 = reshape(permute(reshape(a02',2,2,[]),[1 3 2]),[],2);
0 个评论
George Papazafeiropoulos
2014-5-25
a=[ 0 0 0.3013 1.1305;
1.0000 2.0000 0.7390 0.4223;
3.0000 2.0000 1.1305 -0.2111];
A1=[[a(1,1) a(2,1) a(1,3) a(2,3)]' [a(1,2) a(2,2) a(1,4) a(2,4)]' ]
A2=[[a(2,1) a(3,1) a(2,3) a(3,3)]' [a(2,2) a(3,2) a(2,4) a(3,4)]' ]
for i=1:size(a,1)-1
b=a(i:i+1,:);
b=b(:);
n1=1:size(a,2)-1;
b1=b;
ind1=3+cumsum([0,2+(-1).^n1]);
b1(ind1)=[];
b2=b;
ind2=1+cumsum([0,2+(-1).^n1]);
b2(ind2)=[];
A=[b1 b2]
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!