Hallo, Ich wollte mir eine Funktion zusammenbauen hänge gerade das Ganze umzusetzen. Punkte: f(1,1) = 1 f(-1,-1) = 1 f(-1,1) = 0 f(1,-1) = 0 Sonst sollte alles relativ schnell gegen 0 gehen. Die Funktion (1/2)*(1 + xy) trift zwar die Punkte geht aber nicht gegen 0. Mit einem Faktor wie *e^(1-(x^2+y^2)) geht es zwar gegen 0 aber die Ursprungsfunktion wird stark verzerrt. Am liebsten wäre mir wenn die beiden ersten Punkte Hochpunkte sind. Wie geht man soetwas normalerweise an? Welche Funktionskonstrukte nimmt man in so einem Fall?
Es ist nicht günstig, das Ding mit einer e-Fkt. zu modellieren, weil die zwar gegen 0 geht aber zwischendurch nicht 0 erreicht. Man kann das aber mit einer sinc-Fkt [ sinc(x)=sin(x/pi)/(x/pi) ] machen. Die entstehende Fkt. liefert die vorgegebenen Funktionswerte und geht auch gegen 0 für große x,y .. Wackelt halt zwischendurch noch nen bißchen. 3D plot der Funktion und Matlab Code anbei. math rulez Cheers Detlef clear B=[]; xx=-5:0.1:5; yy=-5:0.1:5; B=[]; for(k=1:length(xx)) for(m=1:length(yy)) x=xx(k); y=yy(m); B(k,m)=sinc((y+x)/sqrt(2)/2)*sinc((y-x)/sqrt(2)/sqrt(2))/sinc(1/sqrt(2)) ; end; end; x=1;y=1; sinc((y+x)/sqrt(2)/2)*sinc((y-x)/sqrt(2)/sqrt(2))/sinc(1/sqrt(2)) x=-1;y=-1; sinc((y+x)/sqrt(2)/2)*sinc((y-x)/sqrt(2)/sqrt(2))/sinc(1/sqrt(2)) x=-1;y=1; sinc((y+x)/sqrt(2)/2)*sinc((y-x)/sqrt(2)/sqrt(2))/sinc(1/sqrt(2)) x=1;y=-1; sinc((y+x)/sqrt(2)/2)*sinc((y-x)/sqrt(2)/sqrt(2))/sinc(1/sqrt(2))
ungeeignet für gradientenmethoden, da es jede Menge lokaler Extremstellen gibt. Schön geraten. Aber ohne Hinweis was das ganze soll eben nur geraten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.