2014-03-13 3 views
1

У меня есть объект в Matlab, созданный из стороннего инструментария. Внутри объекта находится двойной массив 3x65. Если я наберу имя объекта в консоли Matlab, он отобразит все содержимое и, в частности, говорит, что этот массив 3x65 является двойным. Все, что я хочу сделать, это выделить этот массив в отдельный массив Matlab. Но когда я делаю что-то вроде:Преобразование объекта в массив/матрицу?

x = object.ArrayIWant 

Я получаю ошибку «Доступ к полям объекта перечисляются разрешается только в пределах своих методов.» Если бы я попробовать следующее:

x = get(object,'ArrayIWant) 

Я получаю ошибку „Получить методы в«Конверсия удвоится с „toolboxfunction“ не представляется возможным Как получить доступ к этому массиву ?!

+0

Попробуйте следующее: val = get (object.ArrayIWant, 'Value'). Введите «объект» и посмотрите, можете ли вы видеть его поля. – Divakar

+0

Предоставляет ли класс методы доступа? Не могли бы вы написать свой собственный, если это не так? – Floris

+0

Divakar: то же, что и первая ошибка, когда я это делаю. – user1566200

ответ

1

искать.“ класс:

methods(object) 

или

methods className 

Скажите, что это говорит, что есть метод, называемый GetArrayIWant, то вы сделали бы:

x = object.GetArrayIWant(); 
+0

Итак, когда я делаю методы (объект), я получаю список функций (это то, что мы называем методами?). Если я запускаю эти функции на объекте, они просто возвращают другой объект, к которому я не могу получить доступ. Я не уверен, как использовать функции для получения определенного поля в объекте. – user1566200

+0

@ user1566200 Да, это функции, принадлежащие классу, и которые могут обращаться к атрибутам класса (т. Е. Требуемому массиву). Какие методы «получить» есть и вы можете дать «whos» результатов вероятных кандидатов? – chappjc

Смежные вопросы