Найти полные и символические решения системы линейных уравнений по Matlab - PullRequest
0 голосов
/ 29 ноября 2018

Предположим, у меня есть 2 линейных уравнения и 3 переменные.Решение является хотя бы одномерным.Я хочу, чтобы Matlab нашел все решения, написав две переменные x1, x2, x3 в терминах другой свободной переменной.Это возможно?Кажется, что Matlab всегда дает мне одно численное решение.

В Mathematica функция «решить» всегда возвращает символическое решение, которое содержит все решения.Но я обнаружил, что Матлаб просто дает мне одно численное решение, которое не очень помогает.

1 Ответ

0 голосов
/ 29 ноября 2018

Сначала вы определяете символические переменные, которые будете использовать:

syms x y z;

Затем определите каждое из уравнений.Если в матричной форме задана линейная система, создайте уравнение с циклом for.

eqns = [x + y + z == 1, x + 2*y + 3*z == 2];

Определите переменные:

vars = [x, y, z];

Наконец, решите ее с помощью solve с настройкой ReturnConditionsдо true.Таким образом решайте с возвратом всех возможных решений.

[solx, soly, solz, param, conds] = solve(eqns, vars, 'ReturnConditions', true);

Что дает следующие решения для приведенного выше примера:

solx =

z1

soly =

1 - 2*z1

solz =

z1

param =

z1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...