Так вот два уравнения:MATLAB - Продолжайте получать пустые матрицы при решении системы уравнений
(1-е^ф) * P = (1-е^β) G + (е^β) (1-е^α) * W
α = φ -р
где φ = 90 и Р, G и W являются 1х2 матрицы [2,1], [0,0] и [ 1,3822, 1,3822] соответственно.
Вот мой код:
function y = RR2CrankAng(P12,G,W1,theta)
syms beta alpha
eqn1 = ((1-exp(theta))*P12) == ((1-exp(beta))*G)+((exp(beta))*(1-exp(alpha))*W1);
eqn2 = alpha == theta - beta;
sol = solve([eqn1, eqn2], [beta12, alpha12]);
xSol = sol.beta12;
ySol = sol.alpha12;
y = [xSol,ySol];
end
CA = RR2CrankAng(P12,G,W1,theta12)
CA =
Empty sym: 0-by-2
Что я делаю неправильно? Есть лучший способ сделать это. Я все еще изучаю MATLAB.
Поскольку '' P', G' и 'W' являются векторами два-элементные, вы технически есть три уравнения с только два переменные и 'solve' не похоже на переопределенные системы. Без каких-либо разъяснений относительно того, что вам нужно (решение системы для каждого элемента векторов индивидуально или решение проблемы наименьших квадратов для всех трех уравнений), я не могу предложить никаких советов о том, как действовать. – TroyHaskin