Having array trouble

i'm having trouble on manipulating the array form. according to the code below, i try to save the result inform of array so that it can be call outside the loop. but the size of or each row are different and the error appeared as:
Error using vertcat
CAT arguments dimensions are not consistent.
clear; clc;
DG = [0 1 0 0 0; 0 0 1 1 1; 0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 0]
save=[];
for i = 1:5
child = find(DG(i,:))
save = [save; child];
end
can anyone help me to correct this problem, i'm really appreciate it. thank you..

3 Comments

save1 = arrayfun(@(x)find(DG(x,:)),(1:size(DG,1)).','un',0)
reez all
reez all on 4 Apr 2012
thank you so much. But i cannot view the value of each row, i seem appeared as size of each row.
save1{:}

Sign in to comment.

 Accepted Answer

Use cell
save = [save; {child}]
BTW I strongly suggest you to change the variable name, save, because it is one of MATLAB's function name.

3 Comments

reez all
reez all on 3 Apr 2012
Thank you, but how to view the value?? because when i write disp(save) it appeared size of each row.
you need to use {}, like disp(save{1}) or disp(save{:})
reez all
reez all on 4 Apr 2012
Thank you, for disp(save{:}) cannot been used, matlab appeared error, and i want to list all the result at one time.

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!