quadpy Kubatur eines Tetraeders

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
moja
User
Beiträge: 2
Registriert: Donnerstag 10. August 2017, 09:27

quadpy Kubatur eines Tetraeders

Beitragvon moja » Donnerstag 10. August 2017, 09:38

Hallo,
ich möchte gerne mit quadpy Funktionen in Tetraedern integrieren und bekomme bei dem Beispiel aus https://github.com/nschloe/quadpy
  1. import numpy
  2. import quadpy
  3. val = quadpy.tetrahedron.integrate(
  4.     lambda x: numpy.exp(x[0]),
  5.     [[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.5, 0.7, 0.0], [0.3, 0.9, 1.0]],
  6.     quadpy.tetrahedron.Keast(10)
  7.     )

Die Fehlermeldung
  1. Traceback (most recent call last):
  2.   File "<stdin>", line 4, in <module>
  3.   File "/home/moja/data_ssd0/sync/programm/integration/python/quadpy/quadpy/nsimplex/tools.py", line 10, in integrate
  4.     x = transform(scheme.points.T, simplex.T)
  5. AttributeError: 'list' object has no attribute 'T'


Ich nutze Fedora 25 und hatte es mti python 3.5.3 und auch 2.7.13 probiert, bei beiden Versionen gelange ich zur gleichen Fehlermeldung.
Ich habe quadpy über pip installiert. Fehlen mir irgendwelche Argumente bei dem Aufruf der Integrationsmethode? :?:
Viele Grüße
Zuletzt geändert von BlackJack am Donnerstag 10. August 2017, 09:41, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
BlackJack
Moderator
Beiträge: 33001
Registriert: Dienstag 25. Januar 2005, 23:29
Wohnort: Berlin
Kontaktdaten:

Re: quadpy Kubatur eines Tetraeders

Beitragvon BlackJack » Donnerstag 10. August 2017, 09:49

@moja: Wenn man anstelle der Liste ein Numpy-Array übergibt, dann läuft es ohne Ausnahme durch.
“Programs must be written for people to read, and only incidentally for machines to execute.” — Abelson & Sussman, SICP (preface to the first edition)
moja
User
Beiträge: 2
Registriert: Donnerstag 10. August 2017, 09:27

Re: quadpy Kubatur eines Tetraeders

Beitragvon moja » Donnerstag 10. August 2017, 10:03

super, vielen Dank BlackJack

jetzt läuft es ohne Probleme
  1. import numpy as np
  2. import quadpy
  3. tetr = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.5, 0.7, 0.0], [0.3, 0.9, 1.0]])
  4. val = quadpy.tetrahedron.integrate(lambda x: np.exp(x[0]),tetr,quadpy.tetrahedron.Keast(10))
  5. print val
Zuletzt geändert von BlackJack am Donnerstag 10. August 2017, 11:09, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.

Zurück zu „Wissenschaftliches Rechnen“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder