MATLAB Answers

Indexing structure without using scalars

2 views (last 30 days)
Milos
Milos on 31 Oct 2012
Consider following structure:
mm(1,1).no=1;
mm(2,1).no=2;
mm(3,1).no=3;
mm(3,1).mtx=[3;3;3];
mm(2,1).mtx=[2;2;2];
mm(1,1).mtx=[1;1;1];
a1 = cat(1, mm([1,2]).no)
a1 =
1
2
a2 = cat(1, mm([1,2]).mtx(1))
Scalar index required for this type of multi-level indexing.
Is there a work-around for this type of indexing?
  2 Comments
Milos
Milos on 1 Nov 2012
This was just an example structure. Data is different, and matrices are way larger.

Sign in to comment.

Accepted Answer

Sean Little
Sean Little on 31 Oct 2012
Unfortunately, Matlab does not support multi-level indexing like other languages do. You are probably going to have to create an intermediate variable.
a1 = [mm(1:2).mtx];
a2 = a1(1,:)

More Answers (1)

Matt J
Matt J on 31 Oct 2012
tmp=cat(1,mm([1,2]).mtx);
a2=tmp(1)

Community Treasure Hunt

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

Start Hunting!