Arbeite im CAS mit Top-Down-Formeln [br][list][*]Änderungen der Eingangswerte sollen bis zum Ende durchrechnen[/*][*]Eingeschränke Matrixmanipulation: Um Spalten zu bearbeiten muss für Zeilenoperationen transponiert werden mit abschließender (Rück) Transponierung (z.B: Spalte anfügen)[br][/*][/list][br]Eine Kupferlegierungen soll enthalten: 90% Kupfer, 5% Zink und 5% Zinn . [br]Zur Auswahl stehen nun drei Legierungen A, B und C, die sich in der Zusammensetzung unterscheiden. [br]Der Anteil dieser Größen in diesen Legierungen ist der nachfolgenden Tabelle zu entnehmen [br] A B C [br]Kupferanteil in % 80 95 80 [br]Zinkanteil in % 20 0 10 [br]Zinnanteil in % 0 5 10 [br][br]a) Stelle ein LGS [i](konstante Werte auf rechte Seite setzen) [/i]auf, mit dem man entscheiden kann, ob sich die gewünschte Legierung aus den drei angebotenen zusammenschmelzen lässt. [br][br]b) Bestimme die Lösungsmenge dieses LGS mit Hilfe des GAUSS-Verfahrens [br][math]\searrow[/math]Gauß-Elimination zur Dreiecks-Matrix R³ [br][br]c) Welche Massen (in kg) der vorhandenen Legierungen müssen bestellt werden, um 5 Tonnen der gewünschten Legierung herstellen zu können? [br][br]d) Angenommen, es werden jeweils 1000 kg von Legierung A und C sowie 5000 kg von Legierung B bestellt. [br]Wie viel kg der gewünschten Legierung könnte man damit maximal produzieren? [br]Und welchen Kupfer-, Zink-und Zinnanteil hat dann die Legierung, wenn man die Reste der Legierungen A und B zusammenmischen würde?
Erstelle eine Hilffunktion für einen Gauß-Eliminationsschritt. Die LE-Matrix enthält die Spalte ss der Matrix AA dividiert durch Diagonal-Element ss - daüber 0en und darunter Vorzeichenwechsel:[br][br](1)LE(AA,ss):=Sequence(Sequence(If(j==ss ∧ k>ss,(If(k==ss,1,-1)*Element(AA,k,ss)/Element(AA,ss,ss)),((j==k)*1)),j,1,Length(AA)),k,1,Length(AA))[icon]/images/ggb/toolbar/mode_keepinput.png[/icon][br][math]\small LE(AA, ss) \, := \, Sequence \left(Sequence \left(If \left(j \questeq ss \wedge k > ss,If \left(k \questeq ss,1,-1 \right) \; \frac{Element \left(AA,k,ss \right)}{Element \left(AA,ss,ss \right)},\left(j \questeq k \right) \cdot 1 \right),j,1,Length(AA)\right),k,1,Length(AA)\right)[/math][br][br][i]Zugabe Legierung A,B,C[/i][br][br][code](2)X:={a,b,c}[/code][br][br][i]Gleichungen [i]Cu-,Zi-,Zn[/i]-Anteil:[/i][br][br][code](3)GSO:={{80%a+95%b+80%c=90%(a+b+c)},{20%a+0%b+10%c=5%(a+b+c)},{0%a+5%b+10%c=5%(a+b+c)}}[br][/code] [br][math]\small GSO:= \left\{ \left\{ \frac{4}{5} \; a + \frac{19}{20} \; b + \frac{4}{5} \; c = \frac{9}{10} \; \left(a + b + c \right) \right\} , \left\{ \frac{1}{5} \; a + \frac{1}{10} \; c = \frac{1}{20} \; \left(a + b + c \right) \right\} , \left\{ \frac{1}{20} \; b + \frac{1}{10} \; c = \frac{1}{20} \; \left(a + b + c \right) \right\} \right\} [/math][br][br][i]Die Konstanten der rechten Seiten der Gleichungen schiebe ich in einen Vektor B [br](falls Variablen rechts stehen, setze die auf 0)[/i][br][br][code](4)B:=Transpose(Substitute(RightSide(Flatten(GSO)),X = Sequence(0,j,1,Length(X))))[br][/code][br][math]B \, := \, \left(\begin{array}{r}0\\0\\0\\\end{array}\right)[/math][br][br][i]Übertrage GSO in Matrix A[sub]0[/sub] (dazu müssen alle Variablen der Gleichungen auf die linke Seite): [br]Rechte Seite der Gleichungen von linker Seite abziehen:[/i][br][br][code](5)LGS:=B+Sequence(LeftSide(Element(GSO,j))-RightSide(Element(GSO,j)),j,1,Length(GSO))=0[br][/code][br][math]LGS:=\left(\begin{array}{r}\frac{-1}{10} \; a + \frac{1}{20} \; b - \frac{1}{10} \; c\\\frac{3}{20} \; a - \frac{1}{20} \; b + \frac{1}{20} \; c\\\frac{-1}{20} \; a \quad \quad \quad \;+ \frac{1}{20} \; c\\\end{array}\right) = 0[/math][br][br][i]Koeffizienten für a,b,c auslesen und mit B zusamenn in eine Matrix schreiben[/i][br][br][code](6)A_0:=Transpose(Join(Transpose(Substitute(Flatten(LeftSide(LGS)),X = Identity(Length(X)))),Transpose(B)))[br][/code][br][math]A_0 \, := \, \left(\begin{array}{rrrr}\frac{-1}{10}&\frac{1}{20}&\frac{-1}{10}&0\\ \frac{3}{20}&\frac{-1}{20}&\frac{1}{20}&0\\ \frac{-1}{20}&0&\frac{1}{20}&0\\\end{array}\right)[/math][br][br][i]Wenn der Algorithmus korrekt aufgebaut wurde, dann können wir die Bedingung c) in GSO ergänzen zu[/i][br]GSO:{[b]{a+b+c=5000}[/b],{80% a + 95% b + 80% c = 90% (a+b+c)},{ 20% a + 0% b + 10% c = 5% (a+b+c)},{0% a + 5% b + 10% c = 5% (a+b+c)}}[br][i]und die zusätzliche Gleichung sollte durchrechnen zu...[/i][br][br][math]A_0 \, := \, \left(\begin{array}{rrrr}1&1&1&5000\\\frac{-1}{10}&\frac{1}{20}&\frac{-1}{10}&0\\\frac{3}{20}&\frac{-1}{20}&\frac{1}{20}&0\\\frac{-1}{20}&0&\frac{1}{20}&0\\\end{array}\right)[/math]
Ich habe die Eliminations-Matrizen Li extra ausgegeben - man könnte auch direkt rechnen: A_{i+1}=LE(A_i,i+1) A_i
[math]LE\left(A_{3x3},1\right)\cdot A_{3x3}=...=A_{a,b}[/math][br][math] \left(\begin{array}{rrr}1&0&0\\\frac{-a21}{a11}&1&0\\\frac{-a31}{a11}&0&1\\\end{array}\right) \cdot \left(\begin{array}{rrr}a11&a12&a13\\a21&a22&a23\\a31&a32&a33\\\end{array}\right)= \left(\begin{array}{rrr}a11&a12&a13\\ \textcolor{red}{0}&\frac{-a12 \; a21 + a11 \; a22}{a11}&\frac{-a13 \; a21 + a11 \; a23}{a11}\\ \textcolor{red}{0}&\frac{-a12 \; a31 + a11 \; a32}{a11}&\frac{-a13 \; a31 + a11 \; a33}{a11}\\\end{array}\right)=\left(\begin{array}{rrr}a11&a12&a13\\0&b22&b23\\0&b32&b33\\\end{array}\right) [/math][br] [math]LE\left(A_{a,b},2\right)\cdot A_{a,b}[/math][br][math] \left(\begin{array}{rrr}1&0&0\\0&1&0\\0&\frac{-b32}{b22}&1\\\end{array}\right) \cdot \left(\begin{array}{rrr}a11&a12&a13\\0&b22&b23\\0&b32&b33\\\end{array}\right)= \left(\begin{array}{rrr}a11&a12&a13\\0&b22&b23\\0&\textcolor{red}{0}&-b23 \cdot \frac{b32}{b22} + b33\\\end{array}\right) [/math][br][br][i]Lösung der Dreiecksmatrix[/i][br][i]Zeile 3 ===> c[br]Zeile 2 ===> b[br]===> in Zeile 1 ===> a[/i][br][code][br](14)Solve(A_3 Join(X,{-1}),X)[br][/code][br][math] \left\{ \left\{ a = \frac{2500}{3}, b = \frac{10000}{3}, c = \frac{2500}{3} \right\} \right\} [/math][br][br][br][i]Mit 3 Gleichungen (ohne a+b+c=5000) erhalte ich[/i][br][br][code](14)[/code][math] \left\{ \left\{ a = c, b = 4 \; c, c = c \right\} \right\} [/math][br][br]d.h. d) c=1000[br][br][code](15)Substitute($13,c = 1000)[/code][br][math] \left\{ \left\{ a = 1000, b = 4000, 1000 = 1000 \right\} \right\} [/math][br][br][code]Sum(RightSide(flatten($15)))[br][/code]