Bandmatrix variabel definieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Sternchen84
User
Beiträge: 2
Registriert: Samstag 16. Mai 2009, 19:54

Hallo zusammen,

mir fällt es sehr schwer zu programmieren und irgendwie verstehe ich die Schleifen noch nicht so ganz.
Ich mächte eine Matrix programmieren die mir auf der Diagonalen 2en auswirft, auf den beiden Nebendiagonalen jeweils -1, ansonsten überall 0en (eine Bandmatrix).
Dabei muss die Größe der Matrix frei wählbar bleiben, damit man unterschiedliche Größen wählen kann.
Ich habe mir das so gedacht: (angenommen n=5)

Code: Alles auswählen

from numpy import *
n = 5
A = zeros((n,n), dtype=int)
for i = 1 to n
    for j = 1 to n
        a(i,j) = 0
            while j = i:
                 a(i,j) = 2
            while j = i - 1:
                 a(i,j) = -1
            while j = i + 1:
                 a(i,j) = -1
                 end
             end
         end
     end
     
print A
und bekomme den Fehler:
in Zeile 4:
for i = 1 to n
^
SyntaxError: invalid syntax
Ich arbeite mit easyeclipse ( von der Uni empfohlen)

Wahrscheinlich sieht das Ganze für jemanden der Programmieren kann, sehr schaurig aus, abe rich muss es halt versuchen. :-)

Vielen Dank schonmal.

Grüße
Hedda
BlackJack

@Sternchen84: Vielleicht solltest Du mal das Tutorial aus der Python-Dokumentation durcharbeiten und dann auch *Python-Syntax* verwenden und nicht etwas das Python entfernt ähnlich sieht!
Sternchen84
User
Beiträge: 2
Registriert: Samstag 16. Mai 2009, 19:54

Das heißt ich sollte nicht mit easy eclipse arbeiten oder ist es nicht ok weil ich den Fehler nicht im Pythoncode angegeben habe?
Ich habe

Code: Alles auswählen

 for i = 1 to n
verwendet weil ich dachte, damit durchläuft er die Zeilen und mit j die Spalten.
Unsere Dozentin hat das in einem Pseudocode in der VL verwendet.
Ich habe wirklich nicht viel Ahnung vom Programmieren und brauche es jetzt aber für einen kleinen Teil der VL Numerik.
Ich habe das Tutorial schon mal grob angesehen aber aber gedacht ich kann das wohl verwenden, das es in der VL verwendet wurde.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Da steht wie man for-Schleifen in Python benutzt: http://docs.python.org/tutorial/control ... statements
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sternchen84 hat geschrieben:Unsere Dozentin hat das in einem Pseudocode in der VL verwendet.
Schon mal überlegt warum Pseudocode so heißt und warum Python Python und nicht Pseudocode heißt?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Ein Programm in Pseudocode ist geeignet um von Menschen gelesen zu werden, aber nicht geeignet um von einem Computer ausgeführt zu werden. Pseudocode ist also insbesondere keine Programmiersprache.
http://de.wikipedia.org/wiki/Pseudocode
Antworten