how to split a 4x3 matrix in half

1 view (last 30 days)
Alexya
Alexya on 7 Oct 2022
Edited: dpb on 7 Oct 2022
i have a 4x3 matrix that i need to split in half
arr1 = [1 2 3 4;5 6 7 8;9 10 11 12]
i need it to be
[1 2;5 6;9 10]

Answers (3)

Torsten
Torsten on 7 Oct 2022
If the number of columns of arr1 is divisible by 2:
arr1 = [1 2 3 4;5 6 7 8;9 10 11 12];
arr1_half = arr1(:,1:size(arr1,2)/2)
arr1_half = 3×2
1 2 5 6 9 10
  1 Comment
dpb
dpb on 7 Oct 2022
Edited: dpb on 7 Oct 2022
And depending on which way one wants to go, if odd then use either
arr1_half = arr1(:,1:fix(size(arr1,2))/2);
or
arr1_half = arr1(:,1:ceil(size(arr1,2))/2);
Either of those is general to handle both even and odd number of columns once a decision is made as to which way to round, up or down.

Sign in to comment.


Ghazwan
Ghazwan on 7 Oct 2022
Newarr1=arr1(:,1:length(arr1(1,:))/2)
%Note that the number of columns has to be even

Image Analyst
Image Analyst on 7 Oct 2022
This is just very basic indexing. To learn other fundamental concepts, invest 2 hours of your time here:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!