--------------- # Aufgabe 3 # --------------- # der Buchstabe "t" ist schon verbraucht, t # ist Funktion fuer Transponieren # der Buchstabe "f" ist noch frei: f # Error: object 'f' not found # falls Sie hier keinen error bekommen, also schon irgend etwas # als f definiert wurde, kann das daran liegen, dass beim Beenden # der letzten R-Session die Frage "Save workspace image?" mit yes # beantwortet wurde, was zur Folge hat, dass ein .RData-file (das # ist nicht Ihr R-Skript, dieses .RData-file wollen Sie nicht) auf dem # Computer gespeichert wird, und dieses file wird dann beim naechsten # Start von R automatisch eingelesen. Wenn Sie sichergehen wollen, # dass Sie am Anfang auch wirklich mit einer neuen Session beginnen, # koennen Sie sich etwa mit ls() # alle schon bestehenden Objekte anzeigen lassen. Mit dem Befehl rm(list=ls()) # koennen Sie saemtliche schon existierenden Objekte loeschen. # Wir definieren eine Funktion f: f = function( z ) { result = exp(-z^2) return(result) } f # ok, ist jetzt eine Funktion f(1i) # 2.718282+0i # Wir wollen die Cauchy'sche Integralformel # ueberpruefen: die Kurve C ist ein Kreis # mit Radius r um z0: # Die Funktion soll zwei Werte zurueckgeben, # das Integral und f(z0): TestCauchyInt = function( f , z0 , r ) { n = 10000 phi = seq(from=0,to=2*pi,length=n) z = z0 + r*exp(1i*phi) dz = diff(z) z = z[-1] integral = sum( f(z)/(z-z0) * dz ) * 1/(2*pi*1i) exactres = f(z0) result = c(integral,exactres) names(result) = c("Integral","f(z0)") return(result) } # ein Funktionsaufruf: TestCauchyInt(f,z0=1i,r=2)