exponenta event banner

incidenceMatrix

Найти матрицу заболеваемости системы уравнений

Описание

пример

A = incidenceMatrix(eqs,vars) для m уравнения eqs и n переменные vars возвращает mоколо-n матрица A. Здесь, A(i,j) = 1 если eqs(i) содержит vars(j) или любой производной от vars(j). Все остальные элементы A являются 0s.

Примеры

Матрица заболеваемости

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

Создание следующего символьного вектора eqs содержит пять символьных дифференциальных уравнений.

syms y1(t) y2(t) y3(t) y4(t) y5(t) c1 c3
eqs = [diff(y1(t),t) == y2(t),...
       diff(y2(t),t) == c1*y1(t) + c3*y3(t),...
       diff(y3(t),t) == y2(t) + y4(t),...
       diff(y4(t),t) == y3(t) + y5(t),...
       diff(y5(t),t) == y4(t)];

Создайте вектор переменных. Здесь, c1 и c3 - символические параметры (а не переменные) системы.

vars = [y1(t), y2(t), y3(t), y4(t), y5(t)];

Найти матрицу заболеваемости A для уравнений eqs и в отношении переменных vars.

A = incidenceMatrix(eqs, vars)
A =
     1     1     0     0     0
     1     1     1     0     0
     0     1     1     1     0
     0     0     1     1     1
     0     0     0     1     1

Входные аргументы

свернуть все

Уравнения, определяемые как вектор символьных уравнений или выражений.

Переменные, определяемые как вектор символьных переменных, символьных функций или вызовов функций, например x(t).

Выходные аргументы

свернуть все

Матрица заболеваемости, возвращенная как матрица значений двойной точности.

Представлен в R2014b