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!

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 20 Okt. 2011

0 Stimmen

a = subsref(ismember(eye(3),0),struct('type','()','subs',2))

3 Kommentare

Sarah Berurer
Sarah Berurer am 20 Okt. 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 am 20 Okt. 2011
Try
a = subsref(ismember(eye(3),0),struct('type',{'()'},'subs',{{2}}))
Sarah Berurer
Sarah Berurer am 20 Okt. 2011
Awesome thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Jan
Jan am 20 Okt. 2011

1 Stimme

An anchor drifts along
Green and red circling endlessly
A fallen MATLAB feature

4 Kommentare

Jan
Jan am 20 Okt. 2011
Daniel & Cyclist: You have been faster! But I have the direct link to Walters suggestion ;-)
Daniel Shub
Daniel Shub am 20 Okt. 2011
and now I do too :)
The power of editing.
Jan
Jan am 20 Okt. 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 am 20 Okt. 2011
Nice! I actually wanted to delete this useless answer. But suddenly it became art. The power will be with us.

Melden Sie sich an, um zu kommentieren.

the cyclist
the cyclist am 20 Okt. 2011

0 Stimmen

That sort of indexing is not possible. See for example, the accepted answer here:

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by