如何根据一组符号方程生成作为特定变量的函数的方程?

时间:2019-02-08 23:17:48

标签: matlab symbolic-math equation-solving

在论坛中进行搜索后,我找不到我的问题的答案。

问题:我有一组符号方程式(超过10个)。为了简单起见,假设我的目标是将变量F的值编写为另一个变量c的函数:F = f(c)。

最小示例:

方程式1:F = a;

方程式2:a = 2b;

等式3:b = c;

输出:F = 2c

问题:通过matlab符号操作,有什么方法可以尝试解决类似问题?

非常感谢您。

1 个答案:

答案 0 :(得分:0)

Symbolical Toolbox的solve函数使用以下语法完成工作

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提供bc。简单地sol=solve([F==a, a==2*b,b==c], F)不会做,因为系统无法决定选择哪个变量作为独立变量。 您有4个变量和3个等式,因此您必须选择结果必须依赖于哪个变量。这是[a,b,F]中缺少的变量。