으로 단순화하는 방법 :표현 아래와 같이 단순화하기 위해 어떻게 인수 분해
입력 : a*b*c+a*d*e+b*d*f+c*e*f
출력 : a*(b*c+d*e)+f*(b*d+c*e)
내가 수집하고 MATLAB의 요인하려고하지만, 그것은 나의 마음에 드는 출력 아니다
출력 수집 : (b*d + c*e)*f + a*b*c + a*d*e
인수 출력 : a*b*c + a*d*e + b*d*f + c*e*f
으로 단순화하는 방법 :표현 아래와 같이 단순화하기 위해 어떻게 인수 분해
입력 : a*b*c+a*d*e+b*d*f+c*e*f
출력 : a*(b*c+d*e)+f*(b*d+c*e)
내가 수집하고 MATLAB의 요인하려고하지만, 그것은 나의 마음에 드는 출력 아니다
출력 수집 : (b*d + c*e)*f + a*b*c + a*d*e
인수 출력 : a*b*c + a*d*e + b*d*f + c*e*f
당신은 collect
으로 올바른 생각을 가지고 있습니다. 그러나 collect
설명서를 보면 한 번에 번을 개로 제한 할 수 있습니다. 한 번에 두 개의 변수를 인수 분해하고 싶다면 collect
을 두 번 호출해야합니다. 즉, 고려해야 할 각 변수에 대해 한 번씩 호출해야합니다. 어떤 변수를 고려해야 하는지를 알려주는 collect
에 추가 입력을 지정해야합니다. 기호식 이외의 매개 변수없이 collect
을 단독으로 사용하면 symvar
으로 결정되는 기본 변수를 고려하여 귀하의 경우 f
이됩니다. 당신이 당신의 게시물 말씀을 달성하려는 경우 따라서, 당신은이 작업을 수행해야합니다 : 생각하는
syms a b c d e f; %// Define symbolic variables
eqn = a*b*c+a*d*e+b*d*f+c*e*f; %// Define expression
final_eqn = collect(collect(eqn, f), a)
final_eqn =
(b*c + d*e)*a + (b*d + c*e)*f
MATLAB 그것을 시도 곳 simple
라는 유틸리티가 있습니다를 표현에 대한 다양한 단순화 기능을 제공하고, 각 단순화가 무엇인지 출력합니다. 나는 그것이 당신의 경우에 특히 유용하지 않습니다 생각
>> simple(eqn);
simplify:
a*b*c + a*d*e + b*d*f + c*e*f
radsimp:
a*b*c + a*d*e + b*d*f + c*e*f
simplify(Steps = 100):
a*b*c + a*d*e + b*d*f + c*e*f
combine(sincos):
a*b*c + a*d*e + b*d*f + c*e*f
combine(sinhcosh):
a*b*c + a*d*e + b*d*f + c*e*f
combine(ln):
a*b*c + a*d*e + b*d*f + c*e*f
factor:
a*b*c + a*d*e + b*d*f + c*e*f
expand:
a*b*c + a*d*e + b*d*f + c*e*f
combine:
a*b*c + a*d*e + b*d*f + c*e*f
rewrite(exp):
a*b*c + a*d*e + b*d*f + c*e*f
rewrite(sincos):
a*b*c + a*d*e + b*d*f + c*e*f
rewrite(sinhcosh):
a*b*c + a*d*e + b*d*f + c*e*f
rewrite(tan):
a*b*c + a*d*e + b*d*f + c*e*f
mwcos2sin:
a*b*c + a*d*e + b*d*f + c*e*f
collect(f):
(b*d + c*e)*f + a*b*c + a*d*e
, 그러나 당신이있어 단순화 알고리즘이 있다면 살펴보고 뭔가 : 당신이 당신의 표현에 이것을 시도하는 경우, 이것은 당신이 무엇을 얻을 행복하지 않아. 당신은 simple
로 그들 모두를 시도 할 수 있으며 당신에게 가장 적합한 것을 고를 수 있습니다.