Я предполагаю, что матрица, хранящаяся в вашем поле структуры, инкапсулирована в массив ячеек , поэтому вам нужно использовать фигурные скобки {}
для индексации содержимого ячейки (т.е. содержание индексация). Рассмотрим этот пример:
>> S.field1 = {1:5}; %# Create structure S with field 'field1' containing a cell
%# array which itself contains a 1-by-5 vector
>> S.field1 %# Index just the field...
ans =
[1x5 double] %# ...and you see the sort of answer you were getting
>> S.field1{1} %# Index the field and remove the contents of the cell...
ans =
1 2 3 4 5 %# ...and now you get the vector
ПРИМЕЧАНИЕ: В более новых версиях MATLAB все отображается немного по-другому, что позволяет избежать этой путаницы. Вот что вы увидите сейчас:
>> S.field1
ans =
cell % Note now that it displays the type of data
[1×5 double]