equationsToMatrix

Преобразуйте линейные уравнения в матричную форму

Описание

пример

[A,b] = equationsToMatrix(eqns) преобразует уравнения eqns к матричной форме. eqns должна быть линейная система уравнений во всех переменных что symvar находит в eqns.

пример

[A,b] = equationsToMatrix(eqns,vars) преобразует eqns к матричной форме, где eqns должно быть линейным в vars.

пример

A = equationsToMatrix(___) возвращает только матрицу коэффициентов системы уравнений.

Примеры

свернуть все

Преобразуйте систему линейных уравнений к матричной форме. equationsToMatrix автоматически обнаруживает переменные в уравнениях при помощи symvar. Возвращенная матрица коэффициентов выполняет переменный приказ, определенный symvar.

syms x y z
eqns = [x+y-2*z == 0,
        x+y+z == 1,
        2*y-z == -5];
[A,b] = equationsToMatrix(eqns)
A = 

(11-211102-1)

b = 

(01-5)

vars = symvar(eqns)
vars = (xyz)

Можно изменить расположение матрицы коэффициентов путем определения другого переменного порядка.

vars = [x,z,y];
[A,b] = equationsToMatrix(eqns,vars)
A = 

(1-211110-12)

b = 

(01-5)

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

Для этой системы задайте переменные как [s t] потому что система не линейна в r.

syms r s t
eqns = [s-2*t+r^2 == -1
        3*s-t == 10];
vars = [s t];
[A,b] = equationsToMatrix(eqns,vars)
A = 

(1-23-1)

b = 

(-r2-110)

Возвратите только матрицу коэффициентов уравнений путем определения одного выходного аргумента.

syms x y z
eqns = [x+y-2*z == 0,
        x+y+z   == 1,
        2*y-z   == -5];
vars = [x y z];
A = equationsToMatrix(eqns,vars)
A = 

(11-211102-1)

Рассмотрите следующую систему линейных уравнений, которые являются функциями времени:

2x(t)+y(t)+z(t)=2u(t)-x(t)+y(t)-z(t)=v(t)x(t)+2y(t)+3z(t)=-10

Объявите систему уравнений.

syms x(t) y(t) z(t) u(t) v(t)
eqn1 = 2*x + y + z == 2*u;
eqn2 = -x + y - z == v;
eqn3 = x + 2*y + 3*z == -10;
eqn = [eqn1; eqn2; eqn3]
eqn(t) = 

(2x(t)+y(t)+z(t)=2u(t)y(t)-x(t)-z(t)=v(t)x(t)+2y(t)+3z(t)=-10)

Задайте независимые переменные x(t), y(t), и z(t) в уравнениях как символьный векторный vars. Используйте equationsToMatrix функционируйте, чтобы преобразовать систему уравнений в матричную форму.

vars = [x(t); y(t); z(t)];
[A,b] = equationsToMatrix(eqn,vars)
A = 

(211-11-1123)

b = 

(2u(t)v(t)-10)

Решите матричную форму уравнений с помощью linsolve функция.

X = linsolve(A,b)
X = 

(10u(t)9-v(t)9+2094u(t)9+5v(t)9-109-2u(t)3-v(t)3-103)

Оцените z(t) решение для функций u(t)=cos(t) и v(t)=sin(2t). Постройте z(t) решение.

zSol = subs(X(3),[u(t) v(t)],[cos(t) sin(2*t)])
zSol = 

-sin(2t)3-2cos(t)3-103

fplot(zSol)

Figure contains an axes object. The axes object contains an object of type functionline.

Входные параметры

свернуть все

Линейные уравнения в виде вектора из символьных уравнений или выражений. Символьные уравнения определены при помощи == оператор, такой как x + y == 1. Для символьных выражений, equationsToMatrix принимает, что правая сторона 0.

Уравнения должны быть линейными в терминах vars.

Независимые переменные в eqnsВ виде вектора из символьных переменных или символьных функций.

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

свернуть все

Матрица коэффициентов системы линейных уравнений в виде символьной матрицы.

Вектор, содержащий правые стороны уравнений в виде символьной матрицы.

Больше о

свернуть все

Матричное представление системы линейных уравнений

Система линейных уравнений

a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm

может быть представлен как матричное уравнение Ax=b. Здесь, A является матрицей коэффициентов.

A=(a11a1nam1amn)

b вектор, содержащий правые стороны уравнений.

b=(b1bm)

Представленный в R2012b