2013-12-11 2 views
-1

Мой вопрос может быть довольно простым, но не смог найти ответа на него в Интернете. Я создал объектно-ориентированную программу в Matlab. При запуске модели я хотел бы иметь время как глобальную переменную, к которой могут обращаться все объекты. Как переменные объявляются глобальными в Matlab. В соответствии с рекомендациями, предоставленными на Matlab он просто должен быть объявлен как это:Объявление глобальных переменных в Matlab

global time 

это, однако, дает следующее сообщение об ошибке:

parse error at global: usage might be invalid matlab syntax. 

Что правильный способ сделать это?

+1

Это одна строка кода из контекста. Где это? Внутри каждого из конструкторов классов? – horchler

ответ

4

Я могу только догадываться, что вы добавили ключевое слово global в место, которого не должно быть, в стиле C++. Следующее является незаконным Matlab Синтаксис:

classdef MyClass 
     global time; 
end 

В Matlab global ключевое слово помещается внутри только функции:

classdef MyClass 
    methods 
     function foo(this) 
      global time; 
     end 

     function bar(this) 
      global time; 
     end 
    end 
end 
+1

Если функция foo создает имя переменной 'global'' time' и в строке функций, просто переделайте «глобальное время», и вы получите доступ к тем же переменным данным. Глобальным может быть что угодно: объект, массив, int, дескриптор, ... – Vuwox

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