www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "MuPad" - Fixpunkt von Banach
Fixpunkt von Banach < MuPad < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "MuPad"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Fixpunkt von Banach: seminararbeit
Status: (Frage) überfällig Status 
Datum: 00:00 So 21.09.2014
Autor: Hintzboy

Aufgabe
|f(x)-f(y)| <= L * |(x-y)|

Hi,

ich brauche hilfe den term in mupad umzusetzen

- zum ersten weiß ich nicht wie ich für f(x)-f(y)/x-y den maximum (minimum) betrag bekommen kann. Wenn ich max(f(x)) eingebe gibt er mir nur die funktion zurück.

- reicht es aus wenn ich zB ein Intervall von 0 bis 2 für x haben will einfach 0<x<2 schreibe?
- im ganzen will ich das mir mupad ein Intervalle für 0<L<=1, L>1 und L<=0 angibt(ich will keine kompletlösung. ich will nur wissen mit welchen befehlen ich das umsetzten kann - also zB ob ich für etwas eine while schleife brauche)

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt

        
Bezug
Fixpunkt von Banach: Antwort
Status: (Antwort) fertig Status 
Datum: 00:58 So 21.09.2014
Autor: Marcel

Hallo Hintzboy,

erstmal die schlechte Nachricht: Mit MuPad kenne ich mich nicht aus. Bei
Matlab/Octave würde das anders aussehen. Ich werde die Frage auch
nicht als ganz beantwortet stellen, denn eigentlich geht es mir eher darum,
dass wir klären, was Deine eigentlich Frage ist.

> |f(x)-f(y)| <= L * |(x-y)|

Das sieht mir stark danach aus, dass Du wissen willst, ob eine Funktion
[mm] $f\,$ [/mm] Lipschitzstetig ist? Diese Frage kann man leicht beantworten, wenn
[mm] $f\,$ [/mm] differenzierbar (auf dem Definitionsbereich, der ein Intervall [mm] $I\,$ [/mm] sei)
ist. Hier ist [mm] $f\,$ [/mm] genau dann Lipschitzstetig, wenn [mm] $f\,'$ [/mm] beschränkt ist. Anders
gesagt:
[mm] $f\,$ [/mm] ist genau dann Lipschitzst., wenn [mm] $|f\,'|$ [/mm] nach oben beschränkt ist.
(Jede obere Schranke von [mm] $|f\,'|$ [/mm] ist dann eine geeignete Lipschitzkonstante!)
Der Beweis folgt direkt mit dem MWS...

>  Hi,
>  
> ich brauche hilfe den term in mupad umzusetzen
>  
> - zum ersten weiß ich nicht wie ich für f(x)-f(y)/x-y den
> maximum (minimum) betrag bekommen kann.

Du meinst [mm] $\red{(}(f(x)-f(y)\red{)}/\red{(}x-y\red{)}\,,$ [/mm] also

    [mm] $\frac{|f(x)-f(y)|}{|x-y|}$ [/mm]

> Wenn ich max(f(x))
> eingebe gibt er mir nur die funktion zurück.

Wahrscheinlich ist das einfach nur die Funktion

    [mm] $g(x):=\max\{f(x)\}\,,$ [/mm]

und damit macht er genau das Richtige!
Und, wie gesagt, wenn es um das Auffinden eines [mm] $L\,$ [/mm] geht, dann brauchst
Du [mm] $\sup\{|f\,'(x)|:\;\; x \in I\}$ [/mm] für die minimale Lipschitzkonstante [mm] $L\, [/mm] > [mm] 0\,,$ [/mm] sofern
[mm] $f\,$ [/mm] die genannten Voraussetzungen erfüllt.

Ansonsten:
In Matlab wählt man diskrete Punkte (äquidistant) aus Intervallen
[mm] $I=[a,b\,]$ [/mm] durch

    x=[a: (b-a)/n: b],

dann hat man [mm] $(n+1)\,$ [/mm] äquidistante Werte von [mm] $[a,b]\,.$ [/mm] (Abstand zweier
direkt aufeinanderfolgender Werte ist [mm] $(b-a)/n\,.$) [/mm]

Dann würde ich mir eine Doppelschleife programmieren:

sample=[];
for i=1:(n+1)
  for j=1:(n+1)
    if i ~= j
      test=f(x(i))-f(x(j));
      test=test/(x(i)-x(j));
      test=abs(test);
      sample=[sample,test];
  end;
end;

Und dann

    max(sample)

benutzen.
Das ist jetzt sowas wie "Pseudocode, der größtenteils für Matlab angepasst
ist".

Mal konkret:
x=[0:1/100:1];
y=sin(x);
sample=[];
for i=1:101
  for j=1:101
    if i ~= j
      test=y(i)-y(j);
      test=test/(x(i)-x(j));
      test=abs(test);
      sample=[sample,test];
    end;
  end;
end;
max(sample)

Octave liefert mir dann am Ende den Wert

    0.99998,

der den "richtigen Wert [mm] $1\,$" [/mm] doch gar nicht so schlecht nähert.
(Der Code oben kann übrigens noch optimiert werden:
for i=1:100
  for j=(i+1):101
  .
  .
  .
  end
end
)

Ich hab's auch mal mit [mm] $f(x)=x^3\,$ [/mm] getestet, dann ist ja [mm] $f\,'(x)=3x^2$ [/mm] und auf
[mm] $[0,2]\,$ [/mm] sollten wir dann [mm] $L=3*2^2=12\,$ [/mm] haben (mimimale Lipschitzkonstante):
x=[0:(2-0)/100:2];
y=x.^3;
sample=[];
for i=1:(length(x)-1)
  for j=(i+1):length(x)    
    test=y(i)-y(j);
    test=test/(x(i)-x(j));
    test=abs(test);
    sample=[sample,test];
  end;
end;
max(sample)

liefert dann

    11.880
    
Und hier habe ich ja "nur" [mm] $n=100\,$ [/mm] benutzt. Das kann man ja auch vergrößern...

> - reicht es aus wenn ich zB ein Intervall von 0 bis 2 für
> x haben will einfach 0<x<2 schreibe?
> - im ganzen will ich das mir mupad ein Intervalle für
> 0<L<=1, L>1 und L<=0

$|f(x)-f(y)| [mm] \le [/mm] L*|x-y|$

wird für $L < [mm] 0\,$ [/mm] niemals funktionieren!

> angibt(ich will keine kompletlösung.
> ich will nur wissen mit welchen befehlen ich das umsetzten
> kann - also zB ob ich für etwas eine while schleife
> brauche)

Wie gesagt: Obigen Code kannst Du durchaus in Octave testen. Schwer
nachvollziehbar scheint er mir nicht. Wie das in MuPad aussieht, weiß ich
auch nicht. Es wäre ja auch die Frage, ob Du, wie ich das gemacht habe,
"im Diskreten" rechnen willst, oder ob MuPad auch "symbolisch" rechnen
kann.

P.S. Meine obigen Beispiele sind differenzierbare Funktionen. Du kannst
in Matlab sicher auch den Satz, der dann die Lipschitzstetigkeit charakterisiert,
programmieren. Im Endeffekt werden dabei aber auch die Ergebnisse der
obigen Programmierung jedenfalls irgendwie drin Verwendung finden, wenn
man den Code genau analysiert.

Gruß,
  Marcel

Bezug
        
Bezug
Fixpunkt von Banach: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:20 Do 25.09.2014
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "MuPad"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]