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 "Mathematica" - Kurvendiskussion
Kurvendiskussion < Mathematica < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Kurvendiskussion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:26 Di 13.11.2007
Autor: mat_k

Aufgabe
Die Funktion SelectRealZeros[list_] soll aus einer Liste list von Lösungen einer Gleichung alle reellen Lösungen herausfiltern.

Modifizieren Sie die Funktion Curve[f_] aus EinführungInMathematica.nb derart, dass auch Funktionen mit weniger als 2 Nullstellen, Extremwerten bzw. Wendepunkten dargestellt werden. Verwenden Sie bei der Bestimmung dieser speziellen Punkte ihre Funktion SelectRealZeros.  

Hallo,

meine Funktion SelectRealZeros[list_] sieht so aus:

SelectRealZeros[list_] := Select[list, FreeQ[#, Complex] &]

Das gegebene Modul lautet:

Curve[f_] := Module[{x, Zeros, Extremes,
     Inflections, ZerosCoord, ExtremesCoord,
      InflectionsCoord, AllPoints, Xmin, Xmax},
    Zeros = Solve[f[x] == 0, x];
    Extremes = Solve[f'[x] == 0, x];
    Inflections = Solve[f''[x] == 0, x];
    ZerosCoord = Point[{x, f[x]}] /. Zeros;
    ExtremesCoord = Point[{x, f[x]}] /. Extremes;
    InflectionsCoord = Point[{x, f[x]}] /. Inflections;
    AllPoints = x /. Join[Zeros, Extremes, Inflections] // N // Sort;
    Xmin = AllPointsMB1 - 1;
    Xmax = AllPointsMB-1 + 1;
    Plot[f[x], {x, Xmin, Xmax}, PlotRange -> All,
      Epilog -> {PointSize[
      0.02], Prepend[ZerosCoord, RGBColor[1, 0, 0]], Prepend[ExtremesCoord,
    RGBColor[0, 1, 0]], Prepend[InflectionsCoord, RGBColor[0, 0, 1]]}]]

Wir sitzen hier schon einige Stunden und kommen nicht drauf, wie wir das Bsp. lösen können.

Wäre echt dankbar für einen kleinen Denkanstoß!

Mat



        
Bezug
Kurvendiskussion: Antwort
Status: (Antwort) fertig Status 
Datum: 15:20 Di 13.11.2007
Autor: Martin243

Hallo,

SelectRealZeros hätte ich mit Cases[] und Kapitel 2.3.4 im Mathematica Book gelöst, aber so geht es auch.
Diese Funktion verwendest du einfach zusätzlich bei der Berchnung von AllPoints.

Ich denke, der Spezialfall, der noch behandelt werden muss, tritt erst bei weniger als einem Punkt auf, also wenn weder Nullstellen noch Extremstellen noch Wendestellen vorhanden sind.
Hier musst du bei der Berechnung von Xmin und Xmax nur per If prüfen, ob AllPoints die Länge 0 hat und in dem Fall willkürliche Grenzen (z.B. -5 und 5) setzen, sonst eben das erste und letzte Element von AllPoints um 1 verschoben. Eben durch diese Verschiebung funktioniert das Ganze auch ohne Anpassung bei nur einem Punkt.


Gruß
Martin

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


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