Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика рейтинг 3.doc
Скачиваний:
38
Добавлен:
20.09.2019
Размер:
189.95 Кб
Скачать
  1. Операции над матрицами в среде matlab

2.5 Работа с матрицами в среде MATLAB

2.5.1 Ввод исходных данных матриц в MATLAB

Ввод матрицы в среде MATLAB производится с помощью оператора

присваивания (=) в следующем формате

имя_матрицы = [элементы_строки1_через_пробел; … ; элементы_строкиN_через_пробел]

Для ввода матрицы А и вектора B (матрицы-столбца)

В среде MALAB ввод этих матриц имеет вид

A=[10 2 3; 4 50 6; 7 8 90]

B=[10; 2; 40]

2.5.2 Вычисление определителя матриц

Определитель матрицы в MATLAB находится с помощью функции det(матрица).

Пример вычисления определителя для матрицы A в MATLAB в переменной dA:

dA=det(A)

2.5.3 Вычисление обратной матрицы

Обратная матрица в MATLAB вычисляется с помощью функции inv(матрица).

Пример нахождения обратной матрицы А в MATLAB

iA=inv(A)

2.5.4 Нахождения собственных значений матрицы

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

eig в следующем формате

[матрица собственных векторов-столбцов, диагональная матрица]=eig(матрица)

Вектор собственных значений матрицы содержится в диагональной матрицы,

из которой он выделяется с помощью функции diag(диагональная_матрица).

Максимальное и минимальные значения вектора собственных значений матрицы

определяются с помощью функций max(вектор) и min(вектор).

Пример определения вектора собственных значений для матрицы A с

последующим выделением максимальных и минимальных собственных значений в

среде MATLAB:

[ML,VL]=eig(A)

LV=diag(VL)

maxL=max(LV)

minL=min(LV)

  1. Решение обыкновенных дифференциальных уравнений в среде MATLAB

Дифференциальное уравнение записывается в нормальной форме коши в виде

dy/dx=f(x,y)

где x – независимая переменная; y – зависимая переменная.

Исходные данные для решения дифференциального уравнения включают:

1) начальные условия искомой функции y0;

2) интервал решения – массив TSPAN, описывающий изменение или задающий

границы независимой переменной x;

3) величину шага интегрирования (не обязательно)

Решение систем обыкновенных дифференциальных уравнений (ОДУ), представленных в виде системы из дифференциальных уравнений первого порядка в форме Коши:

dy /dx=f(x,y , …, y )

1 1 n

… … … … …

dy /dx=f(x,y , …, y )

т 1 n

с массивом граничных условий Y0=[y , …, y ] и значением интервала поиска

01 on

ешения [xo xend]

Для решения систем ОДУ в MATLAB реализованы численные методы решения ОДУ:

- ode45; ode23 ;ode23tb ;ode15s

Пример задания системы из двух дифференциальных уравнений

dy /dx=(Uz;K-y ;2;?-y )/T ;

1 1 2 i

dy /dx=y ;

2 1

с нулевыми начальными условиями y0=[0 0] на интервале поиска x=[0 5] с

максимальным шагом интегрирования hmax=0.1

с переменными-параметрами

Uz=1 K=1 ksi Ti=0.1 ?=0.1

в M-файле

function dydt = odu(x,y,Uz,K,Ti,ksi) %дифференциальное уравнение

dydt = [(Uz*K-y(1)*2*ksi-y(2))/Ti; y(1)];

Пример решения в MATLAB системы из двух дифференциальных уравнений:

Uz=1

K=10

Ti=0.1

ksi=0.1

y0=[0 0]

OPTIONS=odeset('MaxStep',0.1)

[X,Y]=ode23(@odu,[0 5],y0,OPTIONS,Uz,K,Ti,ksi)

plot(X,Y(:,1),'b',T,X(:,2),'r')

  1. Расчет функций и построение графиков в среде MATLAB

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

Команда plot (X, Y) — строит график функции у(х), координаты точек берутся

из векторов одинакового размера Y и X. Если X или Y — матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы.

plot(Y) — строит график у(i), где значения у берутся из вектора Y, a i представляет собой индекс соответствующего элемента.

plot(X.Y.S) — аналогична команде plot(X.Y), где тип линии графика задается

строковой константой S. Значениями константы S могут быть следующие символы.

рlot(X1,Y1,S1,Х2,Y2,S2,ХЗ,Y3,S3,...) — команда строит в одних осях несколько графиков, представленных данными вида (X..Y..S.), где X и Y — векторы

или матрицы, a S — строки.

При отсутствии указания на цвет линий и точек он выбирается автоматически

из таблицы цветов (белый исключается). Если линий больше шести, то выбор цветов

повторяется. Для монохромных систем линии выделяются стилем.

Решениедифференциальныхуравнений

Дифференциальное уравнение записывается в нормальной форме коши в виде

dy/dx=f(x,y)

где x – независимая переменная; y – зависимая переменная.

Исходные данные для решения дифференциального уравнения включают:

1) начальные условия искомой функции y0;

2) интервал решения – массив TSPAN, описывающий изменение или задающий

границы независимой переменной x;

3) величину шага интегрирования (не обязательно)

Решение систем обыкновенных дифференциальных уравнений (ОДУ), представленных в виде системы из дифференциальных уравнений первого порядка в форме Коши:

dy /dx=f(x,y , …, y )

1 1 n

… … … … …

dy /dx=f(x,y , …, y )

т 1 n

с массивом граничных условий Y0=[y , …, y ] и значением интервала поиска

01 on

ешения [xo xend]

Для решения систем ОДУ в MATLAB реализованы численные методы решения ОДУ:

- ode45 — одношаговые явные методы Рунге-Кутта 4-го и 5-го порядка;

- ode23 — одношаговые явные методы Рунге-Кутта 2-го и 4-го порядка;

[X,Y]=mechgrid(-10:0.5:10,-10:0.5:10);

Z=f(x,y)

plot3(x,y,z)

если несколько надо построиь графиков,то надо перед plot написать figure

19.Поиск локального минимума функций в среде MATLAB

Поиск минимума функции f(x) выполняется в интервале поиска х — от х1 до х2.

Для определения максимума такой функции нужно поставить знак «минус» перед

функцией. Для решения этой задачи используется следующая функция fminsearch или

fmins. Упрощенный синтаксис использования следующий:

xmin = fmins(‘имя_функции‘, x0)

где имя_функции – имя m-файла с двухпараметрической функцией;

xmin – точка минимума в виде вектора [Xmin Xmin ];

1 2

x0 – вектор начальной точки поиска, задается в виде [Xo Xo ].

1 2

Пример поиска минимума двухпараметрической функции

2 2

Y=X +X +1

1 2 где Y – зависимая переменная решения;

X и X – независимые переменные.

1 2

Пример формирования m-файла с функцией

function Y=f2(X)

% двухпараметрическая функция

Y=X(1).^2+X(2).^2+1;

Пример поиска минимума

[minz]=fmins('f2',[0 1]) % Поиск минимума

zmin=f2(minz) % Значение функции в точке минимума

20.Символьные операции в среде Mathcad

Для визуализации результатов символьных преобразований введен специальный

символ — удлиненная горизонтальная стрелка —>,

Шаблон этого знака имеет вид • —>, где на месте

черного прямоугольника вводится подвергаемое символьному преобразованию исходное

выражение. Если задать исходное выражение, то система помещает результат его

символьных преобразований после стрелки

Заданиефункций f1(x) := sin(x) * f2(x) := cos (x) *

(f1(x)2 + f2(x)2) > sin(x)2 + cos (x)2 применениепростогосимвольноговывода

(f1(x)2 + f2(x)2) simplify > 1 применениерасширенногосимвольноговывода

При вводе стрелки —> умолчанию над выражением исполняется операция Simplify

(Упростить). Но эта операция не всегда отображается корректно. При необходимости

символьную операцию можно изменить с помощью ряда ключевых слов:

simplify — упрощение выражений;

expand — разложение выражения по степеням;

factor — разложение выражения на простые дроби;

complex — преобразования в комплексной форме;

assume — присваивание переменным неопределенного значения, даже если до

этого им были присвоены значения и заданы ограничения на значения переменных;

series — разложение в ряд по заданным переменным;

float — преобразование в формат чисел с плавающей точкой;

literally — запрет символьного преобразования для последующего выражения;

Bparfac — разложение на элементарные дроби;

coeffs — возвращает коэффициенты полинома;

Bfourier — прямое преобразование Фурье;

laplace — прямое преобразование Лапласа;

ztrans — прямое Z-преобразование;

Binvfourier — обратное преобразование Фурье;

invlaplace — обратное преобразование Лапласа;

invztrans — обратное Z-преобразование;

T

M -> — транспонирование матрицы;

-1

М —> — инвертирование матрицы;

|М|-> — вычисление детерминанта матрицы;

Modifier — модифицированные команды:

* assume — вводное слово для приведенных ниже определений;

* real — для var=real означает вещественное значение var;

* RealRange — для var=RealRange(a,b) означает принадлежность вещественной

var к интервалу [а,Ь];

trig — задает направление тригонометрических преобразований.

Ключевые слова допустимо набирать только строчными буквами (кроме Modifier

— первая буква в этом слове должна быть прописной). В MathCAD директивы

охватывают все возможные символьные преобразования. Список директив имеется в

палитре Symbolic

Рейтинг №3