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 Commenti

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

Accedi per commentare.

 Risposta accettata

Honglei Chen
Honglei Chen il 3 Apr 2012
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 Commenti

reez all
reez all il 3 Apr 2012
Thank you, but how to view the value?? because when i write disp(save) it appeared size of each row.
Honglei Chen
Honglei Chen il 3 Apr 2012
you need to use {}, like disp(save{1}) or disp(save{:})
reez all
reez all il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by