У меня есть уравнение символических векторов (на самом деле, обычно это много уравнений), которое я хотел бы заменить другим символическим вектором.Я хотел бы, чтобы MATLAB заменил уравнение новыми символическими переменными так, чтобы ни одна из старых не осталась.Я использовал функцию subs
, но, похоже, при первой же возможности использовать замену вместо точной замены
Вот пример того, что я имею в виду:
>> M = sym('m',[1,4]).'
M =
m1
m2
m3
m4
>> N = sym('n',[1,4]).'
N =
n1
n2
n3
n4
>> eqn = N(2,1) + 2*N(3,1) - 4*N(4,1)
eqn =
n2 + 2*n3 - 4*n4
>> relation = [N(1,1);N(4,1); N(3,1) - 2*N(4,1); N(2,1)]
relation =
n1
n4
n3 - 2*n4
n2
>> subs(eqn,relation,M)
ans =
m4 - 4*m2 + 2*n3
От руки я ясно вижу, что eqn == m4 + 2*m3
точно.Тем не менее, когда я прошу MATLAB заменить, у меня все равно остается +2*n3
в уравнении.
Я искал похожие проблемы без особой пользы, как я могу заставить MatLab заменить ВСЕ вхождения n в моем уравнении?
У меня обычно будет много таких уравнений, и я знаю, что можно точно заменить на m's
.