Path: news.mathworks.com!not-for-mail
From: "Matt Fetterman" <mattinjersey@yahoo.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Basic Matlab Question
Date: Tue, 17 Nov 2009 00:01:04 +0000 (UTC)
Organization: Penn State University Electro Optics Center
Lines: 18
Message-ID: <hdsp40$mg5$1@fred.mathworks.com>
References: <hdso7p$sh5$1@fred.mathworks.com>
Reply-To: "Matt Fetterman" <mattinjersey@yahoo.com>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1258416064 23045 172.30.248.38 (17 Nov 2009 00:01:04 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 17 Nov 2009 00:01:04 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 495229
Xref: news.mathworks.com comp.soft-sys.matlab:585618


"James Carter" <jimctr@msn.com> wrote in message <hdso7p$sh5$1@fred.mathworks.com>...
> I have a 32 x 1300 2D array, lets call it S.  I know I can pick off a particular row with the following argument: A = S(1,:); which gives me a 1 x 1300 array from the first 
> row of the 2D array.  I want every row assigned to a new indexed array, so I would start off with
> 
> for n = 1:rows
> A(n) = S(n,:);
> end
> 
> This doesn't work because of a dimensional mismatch.   I'm not really trying to define
> a dimension but simply declare a unique identifier.   How am I able to assign rows 
> such that I can put them in A(1), A(2), etc., all with the dimension 1 x 1300.  
> 
> Thanks!

How about a cell array:
 for n = 1:rows
 A{n} = S(n,:);
 end