Minimum einer Funktion anzeige < Maple < Mathe-Software < Mathe < Vorhilfe
|
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Hallo zusammen,
ich muss in meiner Diplomarbeit im Bereich Gesundheitsökonomie Graphen zeichnen und arbeite mich deshalb in Maple 6 (ja, leider nicht die neuste Version) ein.
Was ich überhaupt nicht hinkriege ist folgendes:
Das gefundene Minimum soll irgendwie auf x- und y-Achse angezeigt werden, z.B. gestrichelte Linien zum Minimum und an den Achsen beschriftet.
Ich hoffe die Erklärung ist okay so. Eigene Lösungsvorschläge habe ich nach langem Probieren LEIDER nicht gefunden.
Würde mich freuen von Euch zu hören,
Peter
Dateianhänge: Anhang Nr. 1 (Typ: pdf) [nicht öffentlich]
|
|
|
|
Hallo,
so vollautomatisch wird es wohl leider nicht gehen, aber mit etwas Handarbeit sollte es schon zu bewerkstelligen sein. Ich weiß aber nicht, welche Funktionen in Maple 6 vorhanden sind.
Auf jeden Fall kann man das hier versuchen (ich benutze eine einfache Testfunktion, da ich deine nicht kenne) :
linienzug := punkt -> [ [0, punkt[2]], punkt , [punkt[1], 0]]: #Hilfsfunktion
f:=x->(x-3)^2+4: #die zu zeichnende Funktion
minP1 := eval([x,f(x)],minimize(f(x),x=0..6,location=true)[2,1,1,1]); #das Minimum
plot1 := plot(f(x),x=0..6):
plot2 := pointplot(linienzug(minP1), color=blue, linestyle=6, connect=true):
text1 := textplot([ [-0.4,minP1[2],'yMin'] , [minP1[1],-0.4,'xMin'] ]):
display({plot1,plot2,text1},view=[-0.5..6,-0.5..10]);
Ich bekomme folgendes Ergebnis:
[Dateianhang nicht öffentlich]
Ist es das, was du brauchst?
Gruß
Martin
Dateianhänge: Anhang Nr. 1 (Typ: gif) [nicht öffentlich]
|
|
|
|
|
Hallo Martin,
jetzt muss ich Dich nochmals belästigen. Also, noch mal danke für Deine bisherige Info zum Thema Minimum einer Funktion anzeigen!
Ich habe das gestern und heute Morgen jetzt ausprobiert und bin auch ein ganzes Stück weiter gekommen.
Habe jetzt nur noch 2 Fragen:
- Mit dieser display-Funktion hab ichs bisher net hingekriegt, weil Maple mir dann immer nur eine Menge Zahlen, aber keinen Graphen ausgedruckt hat und hab das Ganze umgangen. Heute Morgen habe ich dann noch mal Deine Anleitung in Maple reinkopiert und plötzlich hat er den Graph mit allem Pi-pa-po gezeichnet. Woran liegt das, weißt Du das?
- Ich hab Dir mal in den Anhang meine Kalkulationen und Graphen gehängt. Dabei habe ich einmal 2 Graphen untereinander geplottet. Da habe ich das Problem, dass Maple immer einem Graphen weglässt (hier w). Das muss an der proc-Funktion liegen, denke ich. Wenn ich statt a=0..1,y=0..20 nur 0..1,0..20 eingebe, dann zeichnet es nur w und die anderen nicht.
Würde mich tierisch freuen, wenn Du mir da noch helfen könntest.
Herzliche Grüße,
Peter
Dateianhänge: Anhang Nr. 1 (Typ: mws) [nicht öffentlich] Anhang Nr. 2 (Typ: pdf) [nicht öffentlich]
|
|
|
|
|
Hallo,
zum Thema "gestern nicht, heute schon":
Vor dem Ausführen meines Beispiels muss irgendwann einmal "with(plots):" ausgeführt worden sein (innerhalb derselben Sitzung). Vielleicht hast du das heute gemacht, gestern nicht?
Das Plotten mehrerer Graphen in einem würde ich mit display machen. Da hast du nicht das Problem, dass ein Plot mit diesen Argumenten und ein anderer mit jenen Argumenten funktioniert. So wird alles einzeln in ein Koordinatensystem gezeichnet und sollte eigentlich immer funktionieren.
Gruß
Martin
|
|
|
|
|
Hey Martin,
so, jetzt hab ich das heute Morgen versucht und jetzt zeichnet er mir eine ganz andere Funktion bei dem "procedure". Mist.
Ich hab Dir mal all meine Sachen bis zu der Stelle hier reinkopiert und würde mich freuen, wenn Du das mal durchklicken könntest.
Im Anhang ist die Funktion, die für w dann eigentlich rauskommen sollte.
Ich weiß gar nicht wie ich Dir danken soll, wenn ich meine Plots irgendwann endlich habe!
Gruß, Peter
with(plots):
z:=0.4;
b:=0.4;
t:=0.6;
S:=400;
[mm] K(a):=2*a^2/(1-a);
[/mm]
A:=plot(K(a),a=0..1,colour=red,thickness=3):
TK:=K(a)+(z*b*t*S*p*(1-a));
TK1:=diff(TK,a);
solve(TK1=0,a);
a(p):=1-root[2](25+480*p)/(5+96*p);
[mm] j:=2*(a(p))^2/(1-a(p))+38.4*p*(1-a(p));
[/mm]
solve(j=12.90666667,p);
a_quer:=0.88;
p:=0.8783703707;
1-root[2](25+480*0.8783703707)/(5+96*0.8783703707);
a(0.8783703707):=0.7634069400;
Ko:=100;
solve(wp*(1-0.7634069400)/(wp*(1-0.7634069400)+(1-wp)*0.12)*240=100,wp);
wp:=0.2659395973;
TK;
B:=plot(TK,a=0..1,colour=green,thickness=3):
linienzug := punkt -> [ [0, punkt[2]], punkt , [punkt[1], 0]]:
mi:=eval([a,TK],minimize(TK,a=0..1,location=true)[2,1,1,1]);
m:=eval([a,K(a)],a=0.88);
minimize(TK,a=0..1);
C:=plot(linienzug(mi),colour=black,linestyle=3):
E:=plot(linienzug(m),colour=black,linestyle=3):
w:=proc(a) if a<0.88 then [mm] (2*a^2/(1-a)+33.72942223*(1-a)) [/mm] else [mm] (2*a^2/(1-a)) [/mm] end if end proc;
F:=plot(w,a=0..1):
display({A,B,C,E,F},view=[0..1,0..20],labels=[a,Kosten],labeldirections=[HORIZONTAL,VERTICAL]);
Dieser Graph kam eigentlich immer bei w raus:
siehe Anhang
Dateianhänge: Anhang Nr. 1 (Typ: pdf) [nicht öffentlich]
|
|
|
|
|
Hallo,
lass mich dir eine elegantere Lösung anbieten:
Die Prozedur für w ist gar nicht nötig. Für stückweise definierte Funktionen gibt es in Maple (hoffentlich auch in deiner Version) das Konstrukt piecewise().
Ersetze einfach die beiden entsprechenden Zeilen durch:
w:=a -> piecewise(a<0.88, 2*a^2/(1-a)+33.72942223*(1-a), 2*a^2/(1-a));
F:=plot(w(a),a=0..1):
Ich bekomme folgendes Bild:
[Dateianhang nicht öffentlich]
Wenn etwas unklar ist: Hilfe zu piecewise ansehen, im Zweifelsfall wieder melden!
Gruß
Martin
Dateianhänge: Anhang Nr. 1 (Typ: gif) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:13 Fr 24.11.2006 | Autor: | Promopitt |
Hey Martin, ich hab meine Graphen fertig!! )))))
DANKE!!!!!!
|
|
|
|