Single-Colon Indexing for Struct Variables
4 ビュー (過去 30 日間)
古いコメントを表示
I have an array of structure variable defined as:
my_data(100)=struct('x',[],'y',[]);
x and y are vectors containing coordinates. I am trying to have all the x components of all the elements of the array. I used:
my_data_x_all=my_data(:).x;
But it is not a single variable. Only my_data(1).x is assigned to my_data_x_all and the rest is returned in the MATLAB variable "ans". What am I missing here that I cannot assign all the x components of 100 elements of my_data in the single array my_data_x_all?
0 件のコメント
採用された回答
Matt Fig
2011 年 6 月 2 日
Just to make sure I understand what you did, does this example correctly model your issue?
my_data(3)=struct('x',[],'y',[]);
my_data(1).x = 6;
my_data(2).x = 9;
my_data(3).x = 10;
my_data_x_all = [my_data(:).x]
my_data_x_all =
6 9 10
By the way, this is called the comma separated list behavior of structs. Cell arrays can behave similarly.
5 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Structures についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!