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

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

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

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

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

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

Чтобы включить и отключить выделение или изменить цвета, нажмите Preferences и выберите MATLAB> инструменты Colors> Programming. В 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. Гарантируйте, чтобы Автоматически подсветили, и Переменные с разделяемым осциллографом выбраны.

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

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

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

  3. Парение указатель мыши по экземпляру переменного i.

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

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

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

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

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

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

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

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

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

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

Была ли эта тема полезной?