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 commentaires

Andrei Bobrov
Andrei Bobrov le 3 Avr 2012
save1 = arrayfun(@(x)find(DG(x,:)),(1:size(DG,1)).','un',0)
reez all
reez all le 4 Avr 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 le 4 Avr 2012
save1{:}

Connectez-vous pour commenter.

 Réponse acceptée

Honglei Chen
Honglei Chen le 3 Avr 2012

0 votes

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 commentaires

reez all
reez all le 3 Avr 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 le 3 Avr 2012
you need to use {}, like disp(save{1}) or disp(save{:})
reez all
reez all le 4 Avr 2012
Thank you, for disp(save{:}) cannot been used, matlab appeared error, and i want to list all the result at one time.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by