[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: any get() and assign() functionality (as in Splus)
From: |
Mirek Kwasniak |
Subject: |
Re: any get() and assign() functionality (as in Splus) |
Date: |
Wed, 24 Apr 2002 18:25:54 +0200 |
User-agent: |
Mutt/1.3.28i |
On Wed, Apr 24, 2002 at 03:27:37PM +0000, Stefan Jonsson wrote:
> I am trying to find a way to work around the fact that Octave does not
> support 3D arrays
>
> I have 60 squared matrices of order 10. A01, A02, ... ,A60
>
> in a for loop I want to get the jth A matrix.
>
> Lets say I have a vector of all the names of all the A matrices such:
>
> Anames = [ "A01"; "A02" ; .... ; "A60']
>
> and to expand on this quetion lets say I have the Xnames vector as well
> Xnames = [ "x01"; "x02" ; .... ; "x60']
>
> I have x0 defined as vector of size 10.
>
> I want to create 60 x vectors that corresponds to the entries in Xnames.
> x01, x02, ..... ,x60
>
>
> is there a way by any means to extract from the name vector the
> corresponding Aj matrix. And similarly put the result from a calculation in
> a x-vector that corresponds to the name found
> in Xnames(j)
>
>
> Example:
>
> for j = 1:N # where N can take a value from 1 to 60
>
> Aj = get.matrixfrom.a.name.vector(Anames(j))
>
> xj = Aj*x0
>
> Assign xj to a vector who's name is = Xnames(j)
>
> endfor
Hi,
It is possible use of eval:
for j = 1:N
eval( [ Xnames(j,:), '=', Anames(j,:), '*x0;' ] );
endfor
but I think it would be better rewrote your code to use linear
(one-dimensional) indexing scheme.
Mirek
-------------------------------------------------------------
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
-------------------------------------------------------------