经过论坛搜索后,我无法找到问题的答案。
问题:我有一组符号方程(超过10个)。为简单起见,让我们说我的目标是将变量F的值写为另一个变量c的函数:F = f(c)。
最小的例子:
等式1:F = a;
公式2:a = 2b;
公式3:b = c;
输出:F = 2c
问题:用matlab符号操作有没有办法尝试解决这样的问题?
非常感谢你提前。
符号工具箱的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
和b
作为c
的函数。简单地说sol=solve([F==a, a==2*b,b==c], F)
不会这样做,因为系统无法决定选择哪个变量作为独立变量。你有4个变量和3个方程式,所以你必须选择结果必须依赖的变量;这是[a,b,F]
中缺少的变量。