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)[sym (1), sym (1),-sym (2); sym (1), sym (1), sym (1); sym (0), sym (2),-sym (1)]

b = 

(01-5)[sym (0); sym (1);-sym (5)]

vars = symvar(eqns)
vars = (xyz)x, y, z 

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

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

(1-211110-12)[sym (1),-sym (2), sym (1); sym (1), sym (1), sym (1); sym (0),-sym (1), sym (2)]

b = 

(01-5)[sym (0); sym (1);-sym (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)[sym (1),-sym (2); sym (3),-sym (1)]

b = 

(-r2-110)[-r^2 - 1; sym (10)]

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

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)[sym (1), sym (1),-sym (2); sym (1), sym (1), sym (1); sym (0), sym (2),-sym (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)[2*x (т) + y (t) + z (t) == 2*u (т); y (t) - x (t) - z (t) == v (t); x (t) + 2*y (т) + 3*z (т) ==-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)[sym (2), sym (1), sym (1);-sym (1), sym (1),-sym (1); sym (1), sym (2), sym (3)]

b = 

(2u(t)v(t)-10)[2*u (т); v (t);-sym (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)[(10*u (т))/9 - v (t)/9 + sym (20/9); (4*u (т))/9 + (5*v (т))/9 - sym (10/9); - (2*u (т))/3 - v (t)/3 - sym (10/3)]

Оцените 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- sin (2*t)/3 - (2*cos (т))/3 - sym (10/3)

fplot(zSol)

Figure contains an axes. The axes 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