象征性地求解方程组

时间:2017-11-24 19:30:10

标签: matlab wolfram-mathematica symbolic-math

试图象征性地解决8个方程的系统。我有超过8个变量,但除了其中的8个,我已经在其他地方解决了它们。我特意试图找到其中一个变量的符号解决方案。

在Mathematica中:

In[1]
eqn1 = (T1 - Tc)/(R1 + R2) == i1;
eqn2 = (Tc - V1 + V2 - Th)/R3 == i1;
eqn3 = i1 + i2 + i3 == i4;
eqn4 = (Th - THE)/R3 == i4;
eqn5 = (THE - Tf)/R4 == ifluid;
eqn6 = (THE - Ta)/R5 == ia;
eqn7 = i4 == ifluid + ia;
eqn8 = Th - Tc == dT;

In[2]
Solve[{eqn1, eqn2, eqn3, eqn4, eqn5, eqn6, eqn7, eqn8}, {ifluid}]
Out[2]
{}

同样在Matlab中:

syms T1 TC TH THE TF TA dT
syms R1 R2 R3 R4 R5 R6
syms V1 V2
syms i1 i2 i3 i4 iF ia

eqn1 = (T1-TC)/(R1+R2) == i1;
eqn2 = (TC-V1+V2-TH)/R3 == i1;
eqn3 = i1+i2+i3 == i4;
eqn4 = (TH-THE)/R4 == i4;
eqn5 = (THE-TF)/R5 == iF;
eqn6 = (THE-TA)/R6 == ia;
eqn7 = i4 == iF+ia;
eqn8 = TH-TC == dT;

eqns = [eqn1,eqn2,eqn3,eqn4,eqn5,eqn6,eqn7,eqn8];

sol = solve(eqns,iF)

输出:

sol =

Empty sym: 0-by-1

有人能指出我做错了什么,或者另外一种方式来解决这个问题?

1 个答案:

答案 0 :(得分:0)

试试这个:

syms T1 TC TH THE TF TA dT real
syms R1 R2 R3 R4 R5 R6 real
syms V1 V2 real
syms i1 i2 i3 i4 iF ia real

eqn1 = (T1-TC)/(R1+R2) == i1;
eqn2 = (TC-V1+V2-TH)/R3 == i1;
eqn3 = i1+i2+i3 == i4;
eqn4 = i4==(TH-THE)/R4 ;
eqn5 = (THE-TF)/R5 == iF;
eqn6 = (THE-TA)/R6 == ia;
eqn7 = iF == ia-i4;
eqn8 = TH-TC == dT;

eqns = [eqn1,eqn2,eqn3,eqn4,eqn5,eqn6,eqn7,eqn8];

params1=[iF i1 i2 i3 i4 ia V1 V2 R1 R2 R3 R4 R5 R6 T1 TC TH THE TF TA dT];
Y1 = solve(eqns,params1,'IgnoreAnalyticConstraints',true,'ReturnConditions',1)
Y1.iF
Y1.parameters
Y1.conditions

params2=[iF i1 i2 i3 i4  TH TF TA dT];
Y2 = solve(eqns,params2,'IgnoreAnalyticConstraints',true,'ReturnConditions',1)
Y2.iF
Y2.parameters
Y2.conditions

我不完全了解最新情况。但它给你解决方案。