help-octave
[Top][All Lists]

## Re: Assigning to multiple scalars from a vector

 From: Geordie McBain Subject: Re: Assigning to multiple scalars from a vector Date: Thu, 23 Dec 2004 08:41:03 -0500 User-agent: Mutt/1.5.6+20040907i

```Neilen:

Given the function

function varargout = multiassign (data)
for k=1:nargout
varargout{k} = data(:,k);
endfor
endfunction

you can do

octave> vec = [1, 2, 3]; [A, B, C] = multiassign (vec)
A = 1
B = 2
C = 3

which is pretty close to what you want.

See http://wiki.octave.org/wiki.pl?VariableLengthReturnLists

Geordie McBain
www.aeromech.usyd.edu.au/~mcbain

On Wed, Dec 22, 2004 at 06:20:14PM +0200, Neilen Marais wrote:
> Hi All.
>
> I'd like to be able to assign to several scalar variables from a vector
> in one shot.  Say I have a vector like this :
> vec = [1 ; 2 ; 3]
>
> I would like to be able to do something like this:
>
> [A ; B ; C] = vec
>
> and get A = 1, B = 2, C = 3.
>
> Octave seems to consider the individual scalars as vectors, so there
> aren't enough elements on the RHS according to it. Is there a way to
> make this work, or will I have to manually say A = vec(1) etc... ?
>
> Thanks
> Neilen
>
>
>
>
> -------------------------------------------------------------
> Octave is freely available under the terms of the GNU GPL.
>
> Octave's home on the web:  http://www.octave.org
> How to fund new projects:  http://www.octave.org/funding.html
> Subscription information:  http://www.octave.org/archive.html
> -------------------------------------------------------------

-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

```