Dot indexing not supported

Hi,
I have the code:
x.y{2} = b
x is a 10by200 matrix and y is a row vector (1by200) and b is also a row vector (1by200) which has already been extracted.i want want to extract the columns or variables in y from which b corresponds to. when I run the code above Matlab says ‘dot indexing not supported for variables of this type’
Any ideas?
Thank you!

1 件のコメント

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH 2019 年 11 月 10 日
Can you save your workspace using
save('variables')
and attach the variables.mat file here please?

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2019 年 11 月 10 日

0 投票

You would only use
x.y
in one of the following cases:
  1. x is a struct scalar that has a field named y . In this case, x.y would be a copy of the field y from the single x entry.
  2. x is a struct array that has a field named y. In this case, x.y would be a "comma separated list" of all of the fields y from the x entries, in linear indexing order of x . This is not uncommon when extracting information from regionprops() results for example.
  3. x is an object or object array with property named y
  4. x is an object or object array with method named y
The only two cases in which assigning x.y{2} = b would be legal would be:
  1. x is a scalar struct that has a field named y that is a cell array and the second entry of that cell array is being assigned to. However, the syntax does not work if x is a non-scalar struct array
  2. x is a scalar object that has a property named y that is a cell array and the second entry of the property is being assigned to. However, the syntax does not work if x is a non-scalar object
You have indicated that x is a 10 by 200 matrix. Both of the matrix possibilities (x is struct array, x is object array) would generate comma-separated lists when you accessed the field or property y of the array, and using {} indexing of a comma separated list that has more than one entry is not valid.
I cannot tell what you are trying to do. I speculate that you must might possibly want something like
any( x(:,y) == b, 1)
but even that seems unlikely.

カテゴリ

製品

リリース

R2019b

タグ

質問済み:

2019 年 11 月 10 日

回答済み:

2019 年 11 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by