How do I index an array/cell array with an array?

1 回表示 (過去 30 日間)
Lockywolf
Lockywolf 2015 年 11 月 29 日
回答済み: Image Analyst 2015 年 11 月 29 日
I am sorry, it's a very newbie question, but I am nearly lost.
So I have a cell array
data2 = num2cell(magic(5))
And I have an array of size 2.
coord = [x, y]
I want to obtain data2{x,y}
without writing data2{coord(1), coord(2)}
Is it possible to do that?
data2{ coord } gives a completely different result.

回答 (2 件)

Star Strider
Star Strider 2015 年 11 月 29 日
You have to write ‘data2{coord(1), coord(2)}’. That’s just the way indexing works.

Image Analyst
Image Analyst 2015 年 11 月 29 日
If coord is really a 2 element array and not some larger matrix, then you could use sub2ind() but honestly I think that would just make it more cryptic and less maintainable than doing data2{coord(1), coord(2)}.

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by