2012-05-10 5 views
2

У меня есть файл класса в Matlab.Matlab: Импорт функций в класс

Я создал структуру каталогов i, используя спецификации пакета.

+MyPkg 
|--+F1 
|--+F2 
|--+F3 
| |--fun.m 
|--myc.m 

Мой класс myc и вставляется в пакет MyPkg.

Функция fun сохраняется в подпапке F3 в основном.

Я хочу использовать функцию fun в моем классе. Как???

ответ

-1

Способ, которым вы описываете использование классов, - это «старый» способ сделать это в Matlab. Я не знаю, как все это работает, когда вы используете «старый» способ, но файлы классов облегчают жизнь. Я настоятельно рекомендую их. Таким образом, вы можете поместить все функции для класса в один файл. Например, вы можете создать файл:

myclass.m

classdef myclass 
    methods 
    function out=add(a,b) 
     out=a+b 
    end 
    function out=subtract(a,b) 
     out=a-b 
    end 
    end 
end 

Если вы поставите myclass.m в той же папке, что и м-файла. Тогда вы можете получить доступ к классу так:

a=5; 
b=3; 
asdf=myclass; 
c=asdf.add(a,b) 
d=asdf.subtract(a,b) 

Там есть более обширный пример по следующей ссылке:

http://www.mathworks.com/help/techdoc/matlab_oop/brhzttf.html

Я надеюсь, что помогает.

+0

ОП говорит о каталогах _package_, а не о старых каталогах '@'. – Edric

+0

Извините ... моя вина. Я недостаточно внимательно изучил этот вопрос. – qwerty9967

2

funMyPkg.F3.fun. К сожалению, полные пакеты должны использоваться явно везде в MATLAB (или вы должны использовать операторы import).