Create and indexing a matrix simultaneously

Hello,
I'm trying to create an index a matrix in one line. There are a lot of examples I could use, but if I want the second element I would like to write something like:
a=ismember(eye(3),0)(2)
or even just
a=eye(3)(2)
The error I always run in to is this:
??? Error: ()-indexing must appear last in an index expression.
Any help is greatly appreciated!

 Respuesta aceptada

Walter Roberson
Walter Roberson el 20 de Oct. de 2011
a = subsref(ismember(eye(3),0),struct('type','()','subs',2))

3 comentarios

Sarah Berurer
Sarah Berurer el 20 de Oct. de 2011
Walter, this is excellent, exactly the kind of thing I'm looking for. I've been playing around with this for a while, but I keep getting the error "??? Error using ==> subsref
The "subs" field for the subscript argument to SUBSREF and SUBSASGN must be a cell or character array." Any ideas how to fix this?
Walter Roberson
Walter Roberson el 20 de Oct. de 2011
Try
a = subsref(ismember(eye(3),0),struct('type',{'()'},'subs',{{2}}))
Sarah Berurer
Sarah Berurer el 20 de Oct. de 2011
Awesome thank you!

Iniciar sesión para comentar.

Más respuestas (3)

Jan
Jan el 20 de Oct. de 2011
An anchor drifts along
Green and red circling endlessly
A fallen MATLAB feature

4 comentarios

Jan
Jan el 20 de Oct. de 2011
Daniel & Cyclist: You have been faster! But I have the direct link to Walters suggestion ;-)
Daniel Shub
Daniel Shub el 20 de Oct. de 2011
and now I do too :)
The power of editing.
Jan
Jan el 20 de Oct. de 2011
I have the editor power - I can even *remove* the anchor from your answer again! (Is there an emoticon for a sardonic grinning?)
Jan
Jan el 20 de Oct. de 2011
Nice! I actually wanted to delete this useless answer. But suddenly it became art. The power will be with us.

Iniciar sesión para comentar.

Categorías

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by