How do I output my data as a list?

2 views (last 30 days)
Toni Addison
Toni Addison on 18 Nov 2013
Commented: Azzi Abdelmalek on 18 Nov 2013
I have a matrix and I am told to split my one column matrix into two equal matrics; For example if D=[1 5 2 4] then my output would be A11=[1 5] A12=[2 4]. I have coded the following function below my issue is my last A12 matrix =[0 0 2 4] instead of just [2 4]. How do I fix this? thanks
[A11,A12,]=SplitMatrix( D )
[r c]=size(D);
if r==1 && Mod(c,2)==0
for i=1:r
for j=1:c/2
A11(j)=D(i,j)
end
for j=((c/2+1):c)
A12(j)=D(i,j)
end
end

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 18 Nov 2013
A11=D(1:2)
A12=D(2+1:end)
  2 Comments
Toni Addison
Toni Addison on 18 Nov 2013
Thanks for responding, what if I have more than 4 columns lets say 10. I am trying to write the function to accept any size. How do I make it general for length of columns?
Azzi Abdelmalek
Azzi Abdelmalek on 18 Nov 2013
n=numel(D)
m=ceil(n/2)
A11=D(1:m)
A12=D(m+1:end)

Sign in to comment.

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!