\( \newcommand{\br}[1]{\left( #1\right)} \newcommand{\logpar}[1]{\log\left( #1\right)} \newcommand{\cospar}[1]{\cos\left( #1\right)} \newcommand{\sinpar}[1]{\sin\left( #1\right)} \newcommand{\tanpar}[1]{\tan\left( #1\right)} \newcommand{\arcsinpar}[1]{\sin^{-1}\!\left( #1\right)} \newcommand{\arccospar}[1]{\cos^{-1}\!\left( #1\right)} \newcommand{\arctanpar}[1]{\tan^{-1}\!\left( #1\right)} \newcommand{\asin}[1]{\sin^{-1}\! #1} \newcommand{\acos}[1]{\cos^{-1}\! #1} \newcommand{\atan}[1]{\tan^{-1}\! #1} \newcommand{\asinh}[1]{\sinh^{-1}\! #1} \newcommand{\acosh}[1]{\cosh^{-1}\! #1} \newcommand{\atanh}[1]{\tanh^{-1}\! #1} \newcommand{\logten}[1]{\log_{10}\! #1} \definecolor{explaination}{RGB}{0, 166, 226} \newcommand{\ubrace}[2][u]{ { \color{explaination}{\underbrace{ {\color{black}{#2}} }_{#1}} } } \newcommand{\obrace}[2][u]{ { \color{explaination}{\overbrace{ {\color{black}{#2}} }^{#1}} } } \definecolor{highlight}{RGB}{181, 41, 118} \newcommand{\xplain}[1]{{ \textcolor{explaination} { \footnotesize{ #1 \newline}}}} \newcommand{\hilite}[1]{{ \textcolor{highlight} { { #1 }}}} \definecolor{lightergray}{gray}{.675} \newcommand{\hide}[1]{{ \textcolor{lightergray} { \footnotesize{ #1 \newline}}}} \newcommand{\mth}[1]{ { \textcolor{black} { { \small #1 } } } } \)

Übung: Polynome addieren und subtrahieren

randVar() 7 [BLUE, RED, GREEN, PURPLE] 2 + (random() < 0.25 ? 1 : 0) [randFromArray(["-", "+"]), randFromArray(["-", "+"])].slice(0, N - 1) _.any(SIGNS, function(s) { return s === "-"; }) _(N).times(function(term) { return randRange(2, 5 - N); }) randRangeUnique(1, MAX_DEGREE, 4) sortNumbers(NON_ZERO_INDICES).reverse() tabulate(function(p) { var coefs = []; var terms = shuffle(NON_ZERO_INDICES).slice(0, TERMS[p]); for (var i = 0; i <= MAX_DEGREE; i++) { if (terms.indexOf(i) !== -1) { coefs[i] = randRangeNonZero(-7, 7); } else { coefs[i] = 0; } } return new Polynomial(0, MAX_DEGREE, coefs, X); }, N) (function() { var sol = POLYNOMIALS[0]; for (var i = 1; i < N; i++) { sol = sol.add(POLYNOMIALS[i]); } return sol; })() (function() { var coeffs = [[], [], [], []]; var toRemove = []; for (var j = 0; j < 4; j++) { for (var i = 0; i < POLYNOMIALS.length; i++) { var coefficient = POLYNOMIALS[i].coefs[SORTED_INDICES[j]]; if (coefficient !== 0) { coeffs[j].push(coefficient); } } if (coeffs[j].length === 0) { toRemove.push(j); } } toRemove = sortNumbers(toRemove); for (var i = 0; i < toRemove.length; i++) { coeffs.splice(toRemove[i], 1); SORTED_INDICES.splice(toRemove[i], 1); } return coeffs; })()

Vereinfache den folgenden Ausdruck.

(POLYNOMIALS[0]) SIGNS[0] (POLYNOMIALS[1] POLYNOMIALS[1].multiply(-1)) SIGNS[1] (POLYNOMIALS[2] POLYNOMIALS[2].multiply(-1))

SOLUTION.parsableText()

Klammern auflösen. Da wir zwei Polynome subtrahieren, müssen wir, um die Klammern aufzulösen, jeden Summanden mal -1 nehmen.

(POLYNOMIALS[0]) + (POLYNOMIALS[1]) + (POLYNOMIALS[2])

Klammern auflösen. Da wir zwei Polynome addieren, können wir die Klammern einfach entfernen.

POLYNOMIALS[0] + POLYNOMIALS[1] + POLYNOMIALS[2]

Koeffizienten mit gleichen Variablen und Exponenten bestimmen.

(POL.coefs[index] < 0) ? "-" : (n === 0 && POL === POLYNOMIALS[0]) ? "" : "+" \color{COLORS[ n ]}{abs(POL.coefs[index]) === 1 ? "" : abs(POL.coefs[index]) X^index}

Koeffizienten mit gleichen Variablen und Exponenten zusammenfassen.

+ \color{COLORS[index1]}{ coeff[0] ( + TERM ) X^SORTED_INDICES[index1]}

Die Koeffizienten addieren.

SOLUTION