Проверка переменного осциллографа в редактор

Определение объема проблем может быть источником некоторых проблем кодирования. Например, если вы не знаете, что вложенные функции совместно используют конкретную переменную, результаты выполнения вашего кода не могут состоять в том, как вы ожидаете. Точно так же ошибки в использовании локальных, глобальных, и персистентных переменных могут вызвать неожиданные результаты.

Анализатор кода не всегда указывает на проблемы определения объема, потому что совместное использование переменной через функции не является ошибкой — это может быть ваше намерение. Используйте функцию MATLAB® и переменные функции подсветки, чтобы идентифицировать, когда и где ваш код использует функции и переменные. Если у вас есть активное Интернет-соединение, можно посмотреть ролик Выделения Переменной и Функции для обзора основных функций.

Дополнительные сведения о вложенных функциях и различных типах переменных MATLAB см. в Совместном использовании Переменных Между Родительскими и Вложенными функциями и Осуществляйте обмен данными Между Рабочими областями.

Использование автоматического функционального и переменного выделения

По умолчанию Редактор указывает на функции, локальные переменные и переменные с разделяемым осциллографом в различных оттенках синего цвета. Переменные с разделяемым осциллографом включают: глобальные переменные, персистентные переменные и переменные во вложенных функциях. (Для получения дополнительной информации смотрите Вложенные функции.)

Чтобы включить и отключить выделение или изменить цвета, нажмите Preferences и выберите MATLAB> Colors> Programming tools. В MATLAB Online™ выделение включено по умолчанию, и изменение настроек для выделения не доступно.

По умолчанию, Редактор:

  • Подсветки все экземпляры заданной функции или локальной переменной лазурного цвета, когда вы устанавливаете курсор в имени функции или имени переменной. Например:

  • Отображает переменную с разделяемым осциллографом у синего чирка, независимо от позиции курсора. Например:

Пример Использования автоматического функционального и переменного выделения

Рассмотрите код для функции rowsum:

function rowTotals = rowsum
% Add the values in each row and 
% store them in a new array
 
x = ones(2,10);
[n, m] = size(x);
rowTotals = zeros(1,n);
for i = 1:n     
    rowTotals(i) = addToSum;
end
 
    function colsum = addToSum
        colsum = 0;
        thisrow = x(i,:);
        for i = 1:m
              colsum = colsum + thisrow(i);
        end
    end
 
end

Когда вы запускаете этот код, вместо того, чтобы возвратить сумму значений в каждой строке и отображении:

ans =

    10    10

Отображения MATLAB:

ans =

     0     0     0     0     0     0     0     0     0    10

Исследуйте код путем выполнения этих шагов:

  1. На вкладке Home в разделе Environment нажмите Preferences и выберите MATLAB> Colors> Programming tools. Убедитесь, что Automatically highlight и Variables with shared scope выбраны.

  2. Скопируйте rowsum код в Редактор.

    Заметьте, что переменная появляется у синего чирка, который указывает на i не локальная переменная. Оба rowTotals функционируйте и addToSum набор функций и использование переменная i.

    Переменная n, в линии 6 появляется в черном цвете, указывая, что она не охватывает несколько функций.

  3. Наведите указатель мыши на экземпляр переменной i.

    Подсказка появляется: осциллограф переменной 'i' охватываю несколько функций.

  4. Щелкните по ссылке подсказки для получения информации о переменных чей промежуток осциллографа несколько функций.

  5. Кликните по экземпляру i.

    Каждая ссылка на i подсветки лазурного и маркеров появляются в панели индикатора на правой стороне Редактора.

  6. Наведите на один из маркеров панели индикатора.

    Подсказка появляется и отображает имя функции или переменную и строку кода, представленную маркером.

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

    Это особенно полезно, когда ваш файл содержит больше кода, чем можно просмотреть одновременно в Редакторе.

Зафиксируйте код путем изменения экземпляра i в линии 15 к y.

Вы видите подобные эффекты подсветки, когда вы нажимаете на ссылку на функцию. Например, нажать addToSum.