octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: no way for simple matrix lookup ?


From: Etienne Grossmann
Subject: Re: no way for simple matrix lookup ?
Date: Wed, 16 Jun 2004 13:57:19 -0400
User-agent: Mutt/1.4.2.1i

A = reshape (1:12, 3,4);

b = [2 3 1 2 3]; 
c = [4 1 2 3 4];

D = A(sub2ind (size (A),b, c))

D = diag (A(b,c))              # Don't do that


On Wed, Jun 16, 2004 at 10:56:17AM -0400, D. Goel wrote:
# Hi
# 
# [1] Suppose A is a nxn matrix.  And b and are vectors.  How do i
# return elements of A specified by b and c? 
# 
# i.e. Want to return a vector D, such that 
# D(i) = A(b(i), c(i)) 
# 
# Is the only way to do that a for loop?  Is that inefficient? 
# 
# This "simple lookup" seems too fundamental that there should be a way
# to do it.  Am I missing something?  Else, should this be a feature
# request?
# 
# [2] if (1) above is not possible, is it possible if b = c ?
# 
# [3] More generally, the problem i am struggling with is:
# 
#  A is a nxmxl matrix.  b and c are vectors. 
#  I am looking for a vector D, such that D(i,:)= A(b(i), :, c(i)). 
# 
# Any way to do that?
# 
# [4] A simple generalization of (1) to 3 D's possible?
# 
#  D(i)=A(b(i), c(i), d(i)) ?
# 
# 
# [5] BTW, i might be able to do (2) using the diag function, but is
# there a way to use diag for 3 Dimensions?  or use diag such that it
# acts only on 2 of the indices?  So one can implement (3), which is my
# actual problem?
# 
# 
# [6] Is there a way to transpose the 2nd and 3rd indices of a 3D
# vector?  transpose() complains that it is implemented only for
# 2D's... I am trying 2.1.57.
# 
# 
# 
# Thanks, please CC if you can..
# DG                                 http://gnufans.net/
# --
# 
# 
# 
# -------------------------------------------------------------
# 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
# -------------------------------------------------------------
# 

-- 
Etienne Grossmann ------ http://www.cs.uky.edu/~etienne



reply via email to

[Prev in Thread] Current Thread [Next in Thread]