Diagonale Matrix/ Array Elemente mittels Formel erzeugen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Kniffte
User
Beiträge: 32
Registriert: Dienstag 27. September 2016, 11:05

Diagonale Matrix/ Array Elemente mittels Formel erzeugen

Beitragvon Kniffte » Montag 31. Oktober 2016, 14:18

Hallo Zusammen,

ich benötige mal wieder eure Hilfe.
Ich habe ein Gleichungssystem und ein Teil des Systems sieht wie folgt aus:

Code: Alles auswählen

1   0          0          ...
0   2(h1+h2)   h2         0       ...
0   h2         2(h2+h3)   h3      0     ...
0   0          h3         ...
...   


ich habe einen Array mit den Werten von h1 bis hn und möchte nun einen Array oder Matrix erzeugen in oben aufgeführter Form.
Wie gehe ich da am besten vor? Bleibe ich bei Numpy oder muss ich Sympy dafür verwenden?
Gibt es viell eine ähnliche Funktion zu numpy.eye, die Einabewerte in Form von Berechnungen zulässt?

Gruß Seb
Sirius3
User
Beiträge: 5941
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: Diagonale Matrix/ Array Elemente mittels Formel erzeugen

Beitragvon Sirius3 » Montag 31. Oktober 2016, 14:26

@Kniffte: numpy.diag ist Dein Freund:
  1. matrix = numpy.diag(h[1:-1], k=-1) + numpy.diag(2*(h[:-1]+h[:1]), k=0) + numpy.diag(h[1:-1], k=1)

Um die Ränder mußt Du Dich noch selbst kümmern, denn die sehen etwas seltsam aus.

Zurück zu „Wissenschaftliches Rechnen“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder