У меня есть сомнения в использовании глобальных переменных в Matlab. Должен ли я объявлять все глобальные переменные в любой подпрограмме или только когда мне это понадобится? И если подпрограмма (т. Е. Функция1.1) внутри другой (например, функция1) разделяет только глобальную переменную с основной программой, я должен также объявить их в промежуточной (т. Е. Функции1)?Использование глобальных переменных в matlab
Я попытаюсь быстро устранить случай с короткой схемой.
Основная программа
global a b c
Функция 1
global a
Функция 1,1
global ab
Функция 2
global c
Было бы правильно?
** Pro tip **: Избегайте глобальных переменных вообще. Если функция должна что-то знать, передайте ее в качестве аргумента! Что касается вашего вопроса, вам не хватает пробела между 'a' и' b' в 'global ab' ... –
[Have a read] (http://c2.com/cgi/wiki?GlobalVariablesAreBad) о том, почему большинство программисты посоветуют вам избегать глобальных переменных. –
Я передаю переменные как аргументы, когда это возможно. Моя проблема в том, что я на третьем уровне (т. Е. Подфункция 1.1), а родительская функция не знает данных. Я программирую более 100 переменных. Абсолютная ошибка - это ошибка, но спасибо за исправление. – user2768062