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

问题描述 投票:0回答:1

经过论坛搜索后,我无法找到问题的答案。

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

最小的例子:

等式1:F = a;

公式2:a = 2b;

公式3:b = c;

输出:F = 2c

问题:用matlab符号操作有没有办法尝试解决这样的问题?

非常感谢你提前。

matlab symbolic-math equation-solving
1个回答
0
投票

符号工具箱的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,以及ab作为c的函数。简单地说sol=solve([F==a, a==2*b,b==c], F)不会这样做,因为系统无法决定选择哪个变量作为独立变量。你有4个变量和3个方程式,所以你必须选择结果必须依赖的变量;这是[a,b,F]中缺少的变量。

© www.soinside.com 2019 - 2024. All rights reserved.