Как сгенерировать уравнение как функцию определенной переменной из набора символических уравнений? - PullRequest
0 голосов
/ 09 февраля 2019

после некоторого поиска по форуму я не смог найти ответ на свой вопрос.

Задача : у меня есть набор символических уравнений (более 10).Для простоты предположим, что моя цель - записать значение переменной F как функцию еще одной переменной c: F = f (c).

Минимальный пример:

Уравнение 1: F = a;

Уравнение 2: a = 2b;

Уравнение 3: b = c;

Выход: F = 2c

Вопрос: Есть ли способ, с помощью символических манипуляций с matlab, попытаться решить что-то подобное?

Заранее большое спасибо.

1 Ответ

0 голосов
/ 12 февраля 2019

Функция solve Symbols Toolbox выполняет работу с синтаксисом

syms a b c F
sol=solve([F==a, a==2*b,b==c],[a b F])

и выводом

sol = 
  struct with fields:

    a: [1×1 sym]
    b: [1×1 sym]
    F: [1×1 sym]

Компонент F дает sol.F как 2*c по желанию, а также a и b как функции c.Просто sol=solve([F==a, a==2*b,b==c], F) не подойдет, потому что система не может решить, какую переменную выбрать в качестве независимой.У вас есть 4 переменные и 3 уравнения, поэтому вы должны выбрать, от какой переменной должны зависеть ваши результаты;эта переменная отсутствует в [a,b,F].

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