Einstieg Wissenschaftliche Mathematik

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Rossoy
User
Beiträge: 1
Registriert: Dienstag 25. Oktober 2016, 08:07

Hallo zusammen,

Ich beschäftige mich gerade ganz neu mit Python und kann leider noch sehr wenig, deshalb entschuldigt, wenn ich sehr einfache Dinge nicht verstehe oder hinbekomme, aber irgendwie muss man ja anfangen.

Ich habe zwei Fragen.

1. Ich will eine Matrix der größe 6x8 erstellen, die mit zufälligen Koeffizienten zwischen -0,3 und 0,7 gefüllt wird und ebenso die Transponierte Matrix (also die 8x6 Matrix mit Spalten=Zeilen und Zeilen=Spalten) erstellen.

Ich habe es geschafft (nach wirklich langem rumsuchen im Internet) eine Matrix zu erstellen mithilfe des Codes:
1import numpy as np
2 A=np.random.uniform(-0.3,0.7,(6,8))

Allerdings kriege ich diese Matrix nicht transponiert. Ich wollte sowieso nach möglichkeit nicht die stumpfen numpy-Befehle nutzen, da diese meine Zugriffsmöglichkeit ja doch stark beschränken.

2. Desweiteren will ich die Summe der Spalte, welche die größte Summe von allen Spalten besitzt ausgeben lassen. Hier habe ich das Problem, dass ich schon gar nicht weiß, wie ich die verschiedenen Koeffizienten meiner Matrix "anspreche", also z.B. sage, dass alle Elemente eine Spalte addiert werden sollen und dann die Summe der Spalte mit der größten Summe ausgegeben werden soll. Auch hier habe ich zwar den Befehl "numpy.linalg.norm" gefunden, würde aber lieber einen Weg ohne einen stumpfen Numpy Befehl bevorzugen, um das enstandene Programm für andere Operationen eigenständig (mit ev. ein wenig Hilfe von euch ;) ) modifizieren zu können.

Ich hoffe ich könnt mir weiterhelfen, da ich Python für eine echt spannende Sache mit viel Potenzial halte, aber leider niemanden kenne, der mir das erklären kann. Es wäre echt schade, wenn ich meine Ambitionen, Python wenigstens im Ansatz zu lernen schon jetzt wieder begraben könnte.

Lieben Gruß und vielen Dank,

Rossoy
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@Rossoy: am Besten arbeitest Du numpy-Tutorial durch und liest Dich auch etwas in die Funktionen, die numpy bietet ein. Die stumpfen numpy-Befehle solltest Du nutzen, da sie sehr spitz, also sehr mächtig sind, da vieles mit nur wenigen Befehlen erledigt werden kann. Transponieren: A.T, Summieren über alle Spalten: A.sum(axis=1). Das Maximum der Summen: A.sum(axis=1).max().
RedGargoyle
User
Beiträge: 3
Registriert: Mittwoch 13. Januar 2016, 13:12

Zum Einstieg in python für wissenschaftliche Anwendungen finde ich
http://www.scipy-lectures.org/
sowie das Buch "A Primer on Scientific Programming with Python" von Hans Petter Langtangen
sehr gut. Ich bin damit gut zurecht gekommen.

Zu deiner ersten Frage:
Warum findest du numpy denn stumpf? Es bietet für deinen Fall die optimale Lösung, nämlich
https://docs.scipy.org/doc/numpy/refere ... .transpose

Dein zweites Problem kann leicht mit https://docs.scipy.org/doc/numpy/refere ... #numpy.sum und mit https://docs.scipy.org/doc/numpy/refere ... numpy.amax zu lösen sein.
Antworten