Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: "Expanding matrices"
Date: Tue, 9 Apr 2013 10:41:05 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 29
Message-ID: <kk0r81$gne$1@newscl01ah.mathworks.com>
References: <kjusll$kgc$1@newscl01ah.mathworks.com> <kjv049$33s$1@newscl01ah.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: www-02-blr.mathworks.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: newscl01ah.mathworks.com 1365504065 17134 172.30.248.47 (9 Apr 2013 10:41:05 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 9 Apr 2013 10:41:05 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 4216716
Xref: news.mathworks.com comp.soft-sys.matlab:793038

"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <kjv049$33s$1@newscl01ah.mathworks.com>...
> Phase1 = [1; 2];
> Phase2 = [3 5;
>           4 6];
> Phase3 = [7;
>           8;
>           9];
>       
> PhaseIn = { Phase1 Phase2 Phase3 }; % add more arrays if you like
> 
> % Engine
> n = cellfun(@(x) 1:size(x,1), PhaseIn, 'Unif', 0);
> [n{:}] = ndgrid( n{end:-1:1});
> m = length(n);
> n = cat(m+1,n{end:-1:1});
> n = reshape(n,[],m);
> Phase = arrayfun(@(j) PhaseIn{j}(n(:,j),:), 1:m, 'Unif', 0);
> Phase = cat(2, Phase{:});
> disp(Phase)
> 
> % Bruno

Bruno,

Thanks very much for the help, with a bit of jigging around to conform to my problem this method worked perfectly!

Thank you again,

Jon