Расчёт концентраций для случая сложного равновесия в Maple-2

Обходной путь найден. Нужно лишь находить из материального баланса напрямую c(A),
эта переменная содержит малое значение, поэтому не округляется, в отличие от x.
### A+A<=>B (k1); B+A<=>C (k2); C+A<=>D (k3)
cB:=k1*cA^2; cC:=k1*k2*cA^3; cD:=k1*k2*k3*cA^4;
### Задаём константы и начальные условия
Conditions:={cA0=2.0, k1=2.11E+27, k2=7.93E+13, k3=3.48E+10};
### Задаём уравнение материального баланса
MaterialBalance := cA+2*cB+3*cC+4*cD=cA0;
### Выводим его в красивой форме на экран
MaterialBalanceEquation:= collect(expand(lhs(MaterialBalance)-rhs(MaterialBalance)),cA)=0;
### Решаем выражение аналитически относительно cA
AnlSol:=solve(MaterialBalance,cA);
### Решаем частный случай уравнения с подставленными константами
NumSol:=subs(Conditions, AnlSol);
### Вычисляем концентрации
ResultcA:=evalf(subs(Conditions, NumSol) );
ResultcB:=evalf(subs(Conditions, k1*ResultcA^2));
ResultcC:=evalf(subs(Conditions, k1*k2*ResultcA^3));
ResultcD:=evalf(subs(Conditions, k1*k2*k3*ResultcA^4));
### Расчёт проверочных параметров
SummC:=ResultcA+2*ResultcB+3*ResultcC+4*ResultcD;
Const1:=ResultcB/(ResultcA^2);
Const2:=ResultcC/(ResultcB*ResultcA);
Const3:=ResultcD/(ResultcC*ResultcA);
Вопрос нахождения равновесных концентраций закрыт. 8)