Я пытаюсь решить проблему с помощью MATLAB, где у меня есть 9 неизвестных и 8 уравнений, и моя цель состоит в том, чтобы записать значение F
как функцию x2: F=f(x2)
, чтобы я мог дать разные значениядо x2
и получим F
.Реализованный код:
%-------- Variables description -------
%3 constants: P, h and c
%9 unknowns: F, x1,...,x8
syms F P h c x1 x2 x3 x4 x5 x6 x7 x8
%--------System of 8 Equations---------
Eq1 = F == P/(x1*x2/x3);
Eq2 = x1 == x3 - h;
Eq3 = x4 == x2 - x1;
Eq4 = x5 == sqrt(x4^2+(h-c)^2);
Eq5 = x6 == sqrt(x3^2+(x1+x4)^2);
Eq6 = x6 == 3*x5;
Eq7 = x7 == atan((h-c)/x4);
Eq8 = x8 == atan(x3/(x1+x4));
%----------------Solver----------------
Solution = solve([Eq1, Eq2, Eq3, Eq4, Eq5, Eq6, Eq7, Eq8],...
[F P c h x1 x3 x4 x5 x6 x7 x8]);
%----- Solution desired: F=f(x2) ------
Solution.F
Тем не менее, этот код выдает:
«Невозможно найти явное решение».
Я не уверен, почему у меня была эта проблема.Возможно ли получить решение?