Специальные переменные
Перманентные переменные (Persistent Variables)
Plot(t,y)
Global ALPHA BETA
Global ALPHA BETA
yp = [y(1) – ALPHA*y(1)*y(2); –y(2) + BETA*y(1)*y(2)];
Затем введем последовательно в командное окно следующие выражения
ALPHA = 0.01
BETA = 0.02
[t,y] = ode23('lotka',0,10,[1; 1]);
Объявление переменных ALPHAиBETAглобальными в командной строке позволяет ме-нять соответствующие значения внутри функции заданной файлом lotka.m. Интерактивное изменение данных переменных в командном окне приводит к получению новых решений без каких-либо редактирований текста файла.
Для работы в ваших приложениях с глобальными переменными следует:
q Объявить соответствующую переменную глобальной в каждой функции, где пре-дусмотрено ее использование. Для обеспечения доступа к глобальной переменной из командного окна нужно объявить данную переменную глобальной также и в командной строке.
q В каждой функции объявите переменную глобальной до первого появления ее имени в тексте файла. Обычно рекомендуется объявлять переменные глобальными в начале М-файла.
Глобальные переменные в MATLAB-е обычно имеет более длинные имена и иногда записы-ваются заглавными буквами.Это не является настоятельным требованием, но упрощает чте-ние файлов и уменьшает риск случайного изменения глобальной переменной.
Переменная может быть объявлена перманентной (постоянной) – при этом она не меняет своего значения между ее последовательными вызовами. Перманентные переменные могут быть использованы только в пределах определенной функции. Эти переменные остаются в памяти до удаления М-файла из памяти или его изменения. Во многих отношениях перма-нентные переменные аналогичны глобальным, за тем исключением, что их имя не находится в глобальном рабочем пространстве, а их значение сбрасывается при изменении М-файла или удаления из памяти.
Для работы с перманентными переменными в MATLAB-е предусмотрены три функции:
Функция | Описание |
mlock | Исключает возможность удаления М-файла из памяти |
munlock | Возвращает М-файлу возможность его удаления из памяти |
mislocked | Указывает, может ли М-файл быть удален из памяти |
Несколько функций возвращают важные специальные значения, которые вы можете исполь-зовать в ваших М-файлах.
Функция | Возвращаемое значение |
ans | Последний ответ (переменная). Если вы не присваиваете выходной переменной или вычисляемому выражению какое-либо имя, MATLAB автоматически запоминает результат в переменной ans. |
eps | Относительная точность вычислений с плавающей запятой. Это допуск, который MATLAB использует при вычислениях. |
realmax | Наибольшее число с плавающей запятой. |
realmin | Наименьшее число с плавающей запятой. |
pi | 3.1415926535897... |
i, j | Мнимая единица. |
inf | Бесконечность. Вычисления вида n/0где n – любое ненулевое реально число, дает в результатеinf. |
NaN | Не численное значение (Not-a-Number). Выражения вида 0/0и inf/inf дают в результате NaN, так же как и арифметические операции содержащие NaN. Выражения типа n/0, где n явля- ется комплексным числом, также возвращают NaN. |
computer | Тип компьютера. |
version | Строка, содержащая версию MATLAB-а. |
Вот несколько примеров, где используются эти переменные.
x = 2*pi;
A = [3 + 2i 7 – 8i];
tol = 3*eps;