Используя MATLAB, почему что-то вроде fts.data работает в одном каталоге, а не в другом? - PullRequest
0 голосов
/ 06 июня 2010

Я работаю с финансовой коробкой, которая имеет тип FINTS. Если я скопирую некоторый код из его каталога инструментов для настройки, при попытке сделать что-то вроде fts.data, `я получу

Указанное поле 'data' не существует в объекте.

Но то же самое прекрасно работает в каталоге библиотеки MATLAB. Они оба на моем пути, так что еще мне нужно изменить?

Ответы [ 3 ]

2 голосов
/ 06 июня 2010

Я думаю, но я не проверял документацию по этому вопросу, это особенность MATLAB , что класс FINTS должен быть определен в каталоге @fints. Поэтому, если вы хотите расширить класс, вы должны поместить свой код в этот каталог. И если вы хотите работать с классом MYFINTS, вам нужно поместить код в каталог @myfints.

1 голос
/ 06 июня 2010

ОК, я понял это. MATLAB определяет методы класса в том, что он называет каталогами методов, которые названы в честь класса. Таким образом, в этом случае класс равен fints, поэтому все его методы находятся в @fints. Все, что мне нужно было сделать, это создать новый каталог в моем собственном рабочем пространстве с именем @fints, и он станет другим методом класса fints. Вы можете увидеть все методы класса, вызвав what className.

0 голосов
/ 06 июня 2010

Убедитесь, что путь указан из корневого каталога, а не относительно.

Например

addpath 'c:\...\...\MATLAB\mytoolbox

не

addpath 'mytoolbox'

последний сломается, если вы измените свой рабочий каталог

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...