У меня очень сложное выражение математики, которое я хотел бы упростить, используя новый, возможно безразмерный параметр.
Пример моего выражения:
K=a*b*t/((t+f)c*d);
(фактическое выражение чудовищно велико, тысячи символов). Я бы хотел заменить все вхождения выражения t/(t + f) на p
p=t/(t+f);
Цель здесь - найти замену так, чтобы все t и f были заменены на p. В этом случае замена p является неразмеренным параметром, поэтому кажется хорошей заменой кандидата.
Я не смог понять, как это сделать в математике (или, если возможно). Я пробовал:
eq1= K==a*b*t/((t+f)c*d);
eq2= p==t/(t+f);
Solve[{eq1,eq2},K]
Неудивительно, что это не работает. Если бы был способ заставить его решить для K в терминах p, a, b, c, d, это может сработать, но я не могу понять, как это сделать. Мысли?
Редактировать # 1 (11/10/11 - 1:30) [удалено для упрощения]
Хорошо, новый такт. Я взял p = ton/(ton + toff) и умножил p на несколько выражений. Я знаю, что p может быть полностью устранен. Новое выражение (в терминах р) есть
testEQ = A B p + A^2 B p^2 + (A+B)p^3;
Затем я сделал замену для p и вызвал (нормальный) FullSimplify, предоставив мне это выражение.
testEQ2= (ton (B ton^2 + A^2 B ton (toff + ton) +
A (ton^2 + B (toff + ton)^2)))/(toff + ton)^3;
Наконец, я попробовал все предложения ниже, кроме последнего (не знаю, как это работает!)
Выполнен только вариант устранения. Поэтому я думаю, что сейчас я попробую этот метод. Спасибо.
EQ1 = a1 == (ton (B ton^2 + A^2 B ton (toff + ton) +
A (ton^2 + B (toff + ton)^2)))/(toff + ton)^3;
EQ2 = P1 == ton/(ton + toff);
Eliminate[{EQ1, EQ2}, {ton, toff}]
A B P1 + A^2 B P1^2 + (A + B) P1^3 == a1
Я должен добавить, если цель состоит в том, чтобы сделать все замены, которые возможны, оставив все остальное, я до сих пор не знаю, как это сделать. Но кажется, что если подстановка может полностью устранить несколько переменных, лучше всего устранить [].