2010-11-21 20 views
-1

Wie finden Sie die folgenden Maximum oder Supremum von Computer-Software wie Mathematica und Matlab: $\sup\frac{(1+s)^{4}+(s+t)^{4}+t^{4}}{1+s^{4}+t^{4}}$?Suche nach dem Maximum

Anstelle der numerischen Approximation, was ist das genaue Maximum?

Danke.

+1

Sie erhalten eine genaue (oder analytische) Lösung, indem Sie eine Ableitung in Bezug auf s und eine andere Ableitung in Bezug auf t nehmen und dann auflösen, wo beide dieser Ableitungen gleichzeitig null sind. – Timo

+1

Diese Ableitung erzeugt jedoch Polynome der Ordnung 7 in s und t, und im Allgemeinen ist keine analytische Lösung verfügbar. Ich vermute, Sie sollten zuerst eine clevere Parametersubstitution herausfinden. Angenommen, dies ist Hausaufgabe, sollten Sie vielleicht darüber nachdenken, was im Unterricht besprochen wurde. – Timo

+1

@Timo in der Tat ist das Maximum für die Funktion einer der Wurzeln für ein Polynom der Ordnung 27.Ich dachte, das Problem war einfacher auf den ersten Blick –

Antwort

1

In Matlab würde man einen Vektor/Matrix mit s und t-Werten und einen entsprechenden Vektor mit den Funktionswerten erstellen. Dann können Sie die maximale ermitteln mit Hilfe der Funktion max

In Mathematica verwenden FindMaximum wie folgt aus:

f[s_,t_]:= ((1+s)^4 + (s+t)^4 + t^4)/(1+s^4+t^4) 
FindMaximum[ f[s,t],{s,0},{t,0} ] 

Dies sucht nach einem maximalen Start von (s, t) = (0,0).

Weitere Informationen finden Sie http://reference.wolfram.com/mathematica/ref/FindMaximum.html

+0

'max' /' FindMaximum' geben numerische Approximation in diesem Fall –

+1

@ J-16 Wenn Sie auf die Timeline schauen, werden Sie sehen, dass diese Antwort geschrieben wurde BEFORE OP gefragt _Interess der numerischen Approximation, was ist das genaue Maximum? _ . Also, wenn Sie diese Antwort abgelehnt haben, überdenken Sie es bitte. –

+0

@belisarius, ok –

2

Da die Frage ein bisschen wie Hausaufgaben scheint, hier ist eine Antwort, die ein bisschen wie eine Vorlesung beginnt:

  • fragen Sie sich, was als s an die Funktion geschieht und t gehe zu kleinen und zu großen positiven und negativen Werten; Dies wird Ihnen helfen, die Wertebereiche zu identifizieren, die Sie untersuchen sollten. beide Mathematica und Matlab kann helfen, dies herauszufinden;
  • Zeichnen Sie die Grafik Ihrer Funktion über den Bereich der Werte von Interesse, entwickeln Sie ein Gefühl für seine Form und versuchen Sie herauszufinden, wo es Maxima hat; dazu die MathematicPlot3D[] Funktion und die Matlabplot() Funktion wird beide nützlich sein;
  • Da dies eine Funktion von 2 Variablen ist, sollten Sie darüber nachdenken, einige seiner Abschnitte zu plotten, dh halten Sie s (oder t) konstant, und machen Sie ein 2D-Diagramm der Abschnittsfunktion; Entwickeln Sie wieder ein Verständnis dafür, wie sich die Funktion verhält;
  • Jetzt sollten Sie in der Lage sein, eine Art der Suche nach den s,t Werten um die Maxima der Funktion zu machen und ein annehmbar genaues Ergebnis zu erhalten.

Wenn dies zu schwierig ist, dann könnte man die Mathematica Funktion NMaximize[] verwenden. Ich glaube nicht, dass Matlab hat die gleiche Funktionalität für symbolische Funktionen eingebaut und Sie müssen die Berechnungen zahlen, aber die Funktion findmax wird helfen.

+0

Danke für Ihre ausführliche Antwort. Anstelle von numerisch angenähertem Maximum, was ist oder wie findet man das genaue Maximum? – user515055

+0

Sie würden Maximize [] in Mathematica für eine symbolische Lösung verwenden, aber NMaximize [] wird ein genaues Maximum erzeugen. –

+0

Mein Computer ist nicht mächtig genug, um den Wert durch Verwendung von Maximize [] in Mathematica zu erhalten, egal wie lange ich darauf warte, den genauen Wert zu berechnen, wie ich es versuchte. – user515055

Verwandte Themen