For-Schleife Maple < Maple < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:09 Di 06.12.2011 | Autor: | Slint |
Hallo,
ich habe ein kleines Problem mit einer doppelten Schleife in Maple. Mein Problem gestaltet sich wie folgt, ich habe zwei Matrizen:
[mm] $A=\pmat{ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0}$ [/mm] und [mm] $B=\pmat{ 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 }$.
[/mm]
Nun möchte ich einfach, die erste Zeile der Matrix A mit der ersten Zeile der Matrix B überschreiben/ersetzen. Soll heißen, ich möchte das hier haben:
[mm] $A=\pmat{ 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & 0 & 0 }$.
[/mm]
Habe gedacht, dass wird nicht weiter schwer und habe folgende Zeilen geschrieben:
for i to 3 do
for j to 3 do
A[1,i]:=B[1,j]:
od:
od:
Leider bekomme ich dann folgendes Ergebnis:
[mm] $A=\pmat{ 3 & 3 & 3 \\ 0 & 0 & 0 \\ 0 & 0 & 0}$
[/mm]
Ich weiß, dass es hier auch mit einer For-Schleife geht, aber dies soll nur ein Minimalbeispiel sein. Muss daher wissen, wie es mit der doppelten For-Schleife funktionieren würde.
Über Anregungen würde ich mich freuen.
Lg,
Slint
|
|
|
|
Hi,
ich versteh nicht ganz warum du zwei Schleifen verwendest?!
Mein Vorschlag
for i to 3 do A[1, i] := B[1, i] end do
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 18:01 Di 06.12.2011 | Autor: | Slint |
Und was mache ich, wenn meine Matrix A keine 3x3-Matrix ist, sondern eine beispielsweise eine 7x7-Matrix? Jetzt möchte ich wieder die erste Zeile von [mm] $B=\pmat{ 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 }$ [/mm] in die Matrix A einfügen, und zwar wie folgt:
[mm] $A\pmat{ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 2 & 3 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 }$
[/mm]
Würde das wie folgt machen:
for i from 5 to 7 do
for j from 1 to 3 do
A[6,i]:=B[1,j]:
end do:
end do:
Leider funktioniert das so nicht.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:46 Di 06.12.2011 | Autor: | Valerie20 |
> Hallo,
>
> ich habe ein kleines Problem mit einer doppelten Schleife
> in Maple. Mein Problem gestaltet sich wie folgt, ich habe
> zwei Matrizen:
>
> [mm]A=\pmat{ 0 & 0 & 0 \\
0 & 0 & 0 \\
0 & 0 & 0}[/mm] und [mm]B=\pmat{ 1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 }[/mm].
>
> Nun möchte ich einfach, die erste Zeile der Matrix A mit
> der ersten Zeile der Matrix B überschreiben/ersetzen. Soll
> heißen, ich möchte das hier haben:
> [mm]A=\pmat{ 1 & 2 & 3 \\
0 & 0 & 0 \\
0 & 0 & 0 }[/mm].
>
> Habe gedacht, dass wird nicht weiter schwer und habe
> folgende Zeilen geschrieben:
>
> for i to 3 do
> for j to 3 do
> A[1,i]:=B[1,j]:
> od:
> od:
>
Hallo,
Ich kenne mich zwar nicht mit Maple aus, aber deine Schleife macht ja folgende Zuweisungen:
zuerst: i=1 für j=1,2,3
[mm] \Rightarrow [/mm] Du weist A[1,1] zuerst 1 dann 2 dann 3 zu. Es steht am Ende also A[1,1]=3
Danach: i=2 für j=1,2,3
[mm] \Rightarrow [/mm] Du weist A[1,2] wieder zuerst 1,2, dann 3 zu. Es steht am Ende also für A[1,2]=3.
für i=3 das gleiche.
> Leider bekomme ich dann folgendes Ergebnis:
>
> [mm]A=\pmat{ 3 & 3 & 3 \\
0 & 0 & 0 \\
0 & 0 & 0}[/mm]
>
> Ich weiß, dass es hier auch mit einer For-Schleife geht,
> aber dies soll nur ein Minimalbeispiel sein. Muss daher
> wissen, wie es mit der doppelten For-Schleife funktionieren
> würde.
>
> Über Anregungen würde ich mich freuen.
>
> Lg,
> Slint
Valerie
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:06 Di 06.12.2011 | Autor: | Slint |
Danke für den Hinweis. Wie könnte ich dieses Problem denn umgehen?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:18 Di 06.12.2011 | Autor: | chrisno |
Du brauchst nur eine Schleife. Den Index lässt Du, falls B nur drei Spalten hat, von 1 bis 3 laufen. Für die andere Matrix berechnest Du aus deren Spaltenzahl, welchen konstanten Wert du zum Index addieren musst.
In Deinem Beispiel:
for i from 1 to 3 do
A[6,i+4]:=B[1,i]:
end do:
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:49 Di 06.12.2011 | Autor: | Slint |
Vielen Dank für die Hilfe :)
Viele Grüße,
Slint
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:37 Fr 09.12.2011 | Autor: | Peter_Pein |
Hallöchen,
nur so aus Interesse:
Falls in der Schleife keine Berechnungen und/oder Seiteneffekte auftreten, warum - wenn man schon den Datentyp Matrix verwendet - nicht einfach wie im folgenden Bild?
[Bild Nr. (fehlt/gelöscht)]
Gruß,
Peter
P.S.: bis das freigeschaltet wird (elendes UH-Recht):
http://dl.dropbox.com/u/3030567/Maple/Clipboard01.png
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|