Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » In Python ein Tupel verrechnen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen In Python ein Tupel verrechnen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Haevelin
Tripel-As


Dabei seit: 04.06.2013
Beiträge: 221

In Python ein Tupel verrechnen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo, folgender Code funktioniert nicht:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
# -*- coding: utf-8 -*- """ Created on Mon Jun 22 09:23:15 2015  @author: rk480158 """  

from sympy import *
import numpy as np 
import math from scipy 
import optimize # aus dem SciPy-Paket wird nur das optimize-Modul eingebunden 
import matplotlib.pyplot as plt # einbinden der Plot-Funktionalitaet von Matplotlib zur graphischen Funktionsdarstellung 
from numpy import * # from numarray import argmax, abs, dot, zeros, Float64, array # import swap # import error 
import numpy as np import numpy.linalg as LA from pylab 
import * from scipy.integrate 
import quad   
def funktion(x1, x2):
     f=np.ones((2,1))
     f[0,0]=sin(x1)-x2
     f[1,0]=math.e**(-x2) - x1
     return f  

def funktion_der(x1,x2):
     f_der=np.ones((2,2))
     f_der[0,0]=cos(x1)
     f_der[1,0]= -1.0
     f_der[0,1]= -1.0
     f_der[1,1]= -math.e**(-x2)
     return np.linalg.pinv(f_der)   
# print funktion(5.0,2.0) 
# print funktion_der(5.0,2.0)  

x_k=np.ones((2,1));
 x_k[0,0]=-2.0 
x_k[1,0]=-2.0 
for i in range(10):
     x_k=x_k - np.dot(funktion_der(x_k[0,0], x_k[1,0]),funktion(x_k[0,0], x_k[1,0]))  print x_k


Während folgendes nicht funktioniert:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
# -*- coding: utf-8 -*- """ Created on Mon Jun 22 09:23:15 2015  @author: rk480158 """  

from sympy import *
import numpy as np 
import math from scipy 
import optimize # aus dem SciPy-Paket wird nur das optimize-Modul eingebunden 
import matplotlib.pyplot as plt # einbinden der Plot-Funktionalitaet von Matplotlib zur graphischen Funktionsdarstellung 
from numpy import * # from numarray import argmax, abs, dot, zeros, Float64, array # import swap # import error 
import numpy as np import numpy.linalg as LA from pylab 
import * from scipy.integrate 
import quad   
def funktion(x1, x2):
     f=np.ones((2,1))
     f[0,0]=sin(x1)-x2
     f[1,0]=math.e**(-x2) - x1
     return f  

def funktion_der(x1,x2):
     f_der=np.ones((2,2))
     f_der[0,0]=cos(x1)
     f_der[1,0]= -1.0
     f_der[0,1]= -1.0
     f_der[1,1]= -math.e**(-x2)
     return np.linalg.pinv(f_der)   
# print funktion(5.0,2.0) 
# print funktion_der(5.0,2.0)  

x_k=np.ones((2,1));
 x_k[0,0]=-2.0 
x_k[1,0]=-2.0 
for i in range(10):
     x_k[0:2,0]=x_k[0:2,0] - np.dot(funktion_der(x_k[0,0], x_k[1,0]),funktion(x_k[0,0], x_k[1,0]))  print x_k


Wie weißt man einem Array einen Wert für jede Komponente zu?
22.06.2015 15:00 Haevelin ist offline Beiträge von Haevelin suchen Nehmen Sie Haevelin in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wie wär's damit?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
import math
import numpy as np 
import matplotlib.pyplot as plt # einbinden der Plot-Funktionalitaet von Matplotlib zur graphischen Funktionsdarstellung 
import numpy.linalg as LA
def funktion(x1, x2):
     f=np.ones((2,1))
     f[0,0]=math.sin(x1)-x2
     f[1,0]=math.e**(-x2) - x1
     return f  

def funktion_der(x1,x2):
     f_der=np.ones((2,2))
     f_der[0,0]=math.cos(x1)
     f_der[1,0]= -1.0
     f_der[0,1]= -1.0
     f_der[1,1]= -math.e**(-x2)
     return np.linalg.pinv(f_der)   
# print funktion(5.0,2.0) 
# print funktion_der(5.0,2.0)  

x_k=np.ones((2,1));
x_k[0,0]=-2.0 
x_k[1,0]=-2.0 
for i in range(10):
     x_k[0:2,0:2]=x_k[0:2,0:2] - np.dot(funktion_der(x_k[0,0], x_k[1,0]),funktion(x_k[0,0], x_k[1,0]))
     print x_k


__________________
Syntax Highlighting fürs Board (Link)
22.06.2015 18:21 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Haevelin
Tripel-As


Dabei seit: 04.06.2013
Beiträge: 221

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich verstehe nicht; x_k wurde als 2*1 Matrix festgelegt, während bei deiner Verwendung eine 2*2 Matrix entsteht.
Vor allen Dingen weiß ich nicht warum mein Code funktioniert, wo nur x_k ohne range steht.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Haevelin: 23.06.2015 11:08.

23.06.2015 11:07 Haevelin ist offline Beiträge von Haevelin suchen Nehmen Sie Haevelin in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

funktion_der liefert dir eine 2x2 Matrix. Da wird das andere dann implizit auch der 2x2 Matrix. Das geht aber nicht, wenn du explizit sagst, dass es das eben nicht ist.

__________________
Syntax Highlighting fürs Board (Link)
23.06.2015 15:06 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » In Python ein Tupel verrechnen