필터 지우기
필터 지우기

Indexing into Structures

조회 수: 4 (최근 30일)
Daniel
Daniel 2012년 1월 17일
Hi,
I currently have an array of structures that have fields whose values are also arrays. I am trying to grab one column of data from every single structure in matlab...
the statement I use to do this is the following
structName(:).fieldName(:,1)
However this isn't grabbing the first column of the value fieldName from ALL structures. I'm only getting a single array of data and not the twenty that I should normally be getting, because there are twenty structures.
Am I missing something here or is this a limitation of Matlab?

채택된 답변

Walter Roberson
Walter Roberson 2012년 1월 17일
Are all of fieldName the same size? Do they all have the same number of rows? If so then there some simplifications that can be made.
To give an answer, though, we need to know what output datatype and shape you are looking for.
  댓글 수: 4
Walter Roberson
Walter Roberson 2012년 1월 18일
Each value in fieldName is 20x51, and you want to take the first column of each, so that would be 20x1 for each. You want the result to be 20x51. Is the implication that your structure array has 51 elements and you want the second dimension index to be the same as the structure array index? Or is the 20x51 desired result somehow related to the fact that each fieldName is 20x51, even though you only want the first column of each fieldName ?
Daniel
Daniel 2012년 1월 19일
I'm sorry I mean rows NOT columns which would then achieve the 20x51 array... anyway...I've figured out the solution and it had to do with multilevel indexing that matlab does not allow you to do.
You must convert the structures to a cell array and then operate that way. Thank you for your help though. Much appreciated.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Structures에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by