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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Honglei Chen
Honglei Chen am 3 Apr. 2012

0 Stimmen

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 Kommentare

reez all
reez all am 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 am 3 Apr. 2012
you need to use {}, like disp(save{1}) or disp(save{:})
reez all
reez all am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by