на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Система математических расчетов MATLAB
p align="left"> dy1/dt = y1 - ay1y2

dy2/dt = y2 - by1y2

Создадим М-файл lotka.m.

function yp = lotka(t,y)

global ALPHA BETA

yp = [y(1) - ALPHA*y(1)*y(2); -y(2) + BETA*y(1)*y(2)];

Затем введем последовательно в командное окно следующие выражения

global ALPHA BETA

ALPHA = 0.01

BETA = 0.02

[t,y] = ode23('lotka',0,10,[1; 1]);

plot(t,y)

Объявление переменных ALPHA и BETA глобальными в командной строке позволяет ме-нять соответствующие значения внутри функции заданной файлом lotka.m. Интерактивное изменение данных переменных в командном окне приводит к получению новых решений без каких-либо редактирований текста файла.

Для работы в ваших приложениях с глобальными переменными следует:

q Объявить соответствующую переменную глобальной в каждой функции, где пре-дусмотрено ее использование. Для обеспечения доступа к глобальной переменной из командного окна нужно объявить данную переменную глобальной также и в командной строке.

q В каждой функции объявите переменную глобальной до первого появления ее имени в тексте файла. Обычно рекомендуется объявлять переменные глобальными в начале М-файла.

Глобальные переменные в MATLAB-е обычно имеет более длинные имена и иногда записы-ваются заглавными буквами.Это не является настоятельным требованием, но упрощает чте-ние файлов и уменьшает риск случайного изменения глобальной переменной.

Перманентные переменные (Persistent Variables)

Переменная может быть объявлена перманентной (постоянной) - при этом она не меняет своего значения между ее последовательными вызовами. Перманентные переменные могут быть использованы только в пределах определенной функции. Эти переменные остаются в памяти до удаления М-файла из памяти или его изменения. Во многих отношениях перма-нентные переменные аналогичны глобальным, за тем исключением, что их имя не находится в глобальном рабочем пространстве, а их значение сбрасывается при изменении М-файла или удаления из памяти.

Для работы с перманентными переменными в 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;

Типы данных

Всего в MATLAB -е имеется 14 базовых типов (или классов) даных. Каждый из этих типов данных является формой массива. Этот массив может иметь минимальный размер 0х0 и мо-жет иметь произвольную размерность по любой координате. Двумерные варианты таких массивов называются матрицами.Все 14 базовых класса типов данных показаны на приве-денной ниже диаграмме. Дополнительно, тип данных, определенных пользователем, пока-занный ниже как user class (класс пользователя), является подмножеством данных типа структуры.

Тип данных char содержит символы данные в коде Unicode. Строка символов является про-сто массивом символов размера 1хn. array of characters. Вы можете использовать тип данных char для хранения массивов строк, при условии, что все строки массива имеют одинаковую длину (это является следствием того, что все массивы MATLAB-а должны быть прямоуголь-ными). Для хранения массива строк разной длины нужно использовать массив ячеек.

Числовые типы данных включают целые числа со знаком и без знака, числа в формате пла-вающей запятой одинарной и двойной точности, и разреженные массивы (sparse arrays) двойной точности.

Сказанное ниже сохраняется в силе для всех типов числовых данных в MATLAB-е:

q Все вычисления в MATLAB-е выполняются с двойной точностью.

q Целые числа и числа одинарной точности обеспечивают более эффективное использование памяти по сравнению с числами двойной точности.

q Все типы данных поддерживают базовые операции над массивами, такие как исполь-зование индексов и измерение размеров массива.

q Для выполнения математических операций над целыми числами или массивами с оди-нарной точностью представления, вы должны первратить их в массивы с двойной точ-ностью при помощи функции double.

Операторы

Операторы системы MATLAB делятся на три категории:

q Арифметические опреаторы, осуществляющие численные вычисления.

q Операции отношения, которые осуществляют численное сравнение операндов.

q Логические операторы, включающие AND (логическое И), OR (логическое ИЛИ), и NOT (логическое отрицание НЕ).

Арифметческие операторы

MATLAB обеспечивает следующие арифметические операторы

Операторы

Описание

+

Сложение

-

Вычитание

.*

Умножение

./

Правое деление

.\

Левое деление

+

Унарный плюс (изменение знака объекта)

-

Унарный минус

:

Оператор двоеточия

.^

Степень

.'

Транспонирование

`

Комплексно-сопряженное транспонирование

*

Матричное умнжение

/

Матричное правое деление

\

Матричное левое деление

^

Степень матрицы

Арифметические операторы и массивы

За исключением некоторых матричных операторов, арифметические операторы MATLAB-а работают с соответствующими элементами массивов одинаковой размерности. Для векторов и прямоугольных массивов, оба операнда должны иметь одинаковый размер, или же один из них должен быть скаляром. Если один операнд является скаляром, а второй - нет, MATLAB применяет данный скаляр ко всем элементам второго операнда; данное свойство известно как скалярное расширение (scalar expansion).

Следующий пример иллюстрирует свойство скалярного расширения при вычислении произ-ведения скалярного опренда и матрицы

A = magic(3)

A =

8 1 6

3 5 7

4 9 2

Введем

3 * A

что дает

ans =

24 3 18

9 15 21

12 27 6

Операторы отношения

MATLAB обеспечивает следующие операторы отношения

Операторы

Описание

<

Меньше чем

<=

Меньше чем или равно

>

Больше чем

>=

Больше чем или равно

==

Равно

~=

Не равно

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.