![]() |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Deinen Code kann ich nicht lesen, sag mal ehrlich, kannst du selbst verstehen, was du geschrieben hast, ohne Nachzuschauen, wohin welches End gehört und was in welchen Edit/Label steht?
Wie kommst du auf die Ableitungen? |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Naja das hab ich mir selbst ausgedacht mit der 0 Stelle, das ist etwas schwer zu verstehn, aber das brauchst du ja nicht oder? Weil das funktioniert ja. Also es werden die richtigen Nullstellen in der Listbox ausgegeben :)
Die Ableitungen habe ich aus dem Kurvenprofi (eine Software zur Kurvendarstellung an der ich meine Ergebnisse kontrolliere). Die müssten so stimmen, da bin ich mir sicher :) So sieht mein Text für die Sinusableitungen in Delphi aus:
Delphi-Quellcode:
label9 = funktion
a:=strtofloat(form1.Edit10.text) ;
b:=strtofloat(form1.Edit11.text) ; form1.Label9.Caption:=floattostr(a)+'*sin('+floattostr(b)+')'; a:=a*2; form1.Label10.Caption:=floattostr(a)+'*sin('+floattostr(b)+')'; a:=-2*a; form1.Label11.Caption:=floattostr(a)+'*sin('+floattostr(b)+')'; a:=2*a; form1.Label12.caption:=floattostr(a)+'*sin('+floattostr(b)+')'; label10 = 1. Ableitung label11 = 2. Abl. label12 = 3. Abl. Und hier die Ableitungen für Cosinus in Delphi:
Delphi-Quellcode:
label9 = funktion
a:=strtofloat(form1.Edit12.text) ;
b:=strtofloat(form1.Edit13.text) ; form1.Label9.Caption:=floattostr(a)+'*cos('+floattostr(b)+')'; a:=a*2; form1.Label10.Caption:=floattostr(a)+'*cos('+floattostr(b)+')'; a:=-2*a; form1.Label11.Caption:=floattostr(a)+'*cos('+floattostr(b)+')'; a:=2*a; form1.Label12.caption:=floattostr(a)+'*cos('+floattostr(b)+')'; label10 = 1. Ableitung label11 = 2. Abl. label12 = 3. Abl. Also ich brauch jetz Hilfe bei der Ermittlung von Extrema und Wendepunkte bei a*sin(b*x) und a*cos(b*x). Da weis ich nicht, wie ich das herausbekommen soll über Delphi :cry: |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Naja. Erstmal solltest du die richtigen Ableitungen ausrechnen (also mal richtung Kettenregel denken)
Und wenn du schon die Nullstellen der Sinusfunktione bestimmen kannst, hast du auch die von der Cosinusfunktion und damit kannst du doch auch die NS der Ableitung bestimmen... |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Oops, da hab ich ja nochwas falsch, das stimmt, also hier die richtigen Ableitungen:
fsin(x) =a*sin(b*x) fsin'(x) =b*a*cos(b*x) fsin''(x) =-b*a*sin(b*x) fsin'''(x) =b*a*cos(b*x) fcos(x)=a*cos(b*x) fcos'(x)=-b*a*sin(b*x) fcos''(x)=b*a*cos(b*x) fcos'''(x)=-b*a*sin(b*x) Die stimmen jetzt aber! :P Also müsste man jetz einfach y=0 setzen - ok Aber wie stelle ich denn das nach x um? Also das bei 0=b*a*cos(b*x) das x bei der 0 steht :shock: das geht doch gar nich weil ich hab ja kein + oder - in der Gleichung, könnte also nur 0* oder 0/ rechnen und bekäme das x nicht alleine auf eine Seite :pale: Oh Herrje, .. das ne Aufgabe :( |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Zitat:
Zitat:
setzen. Das sind alle möglichen Lösungen (z aus Z), jetzt musst du noch die Aussuchen, die in deinem Intervall liegen. Und das sind die, bei denen (2z-1)*pi/2/b innerhalb deines Intervalls liegt. Und das sollte ausrechenbar sein. |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Delphi-Quellcode:
//Ableitungen Sinus
a:=strtofloat(form1.Edit10.text) ; b:=strtofloat(form1.Edit11.text) ; form1.Label9.Caption:=floattostr(a)+'*sin('+floattostr(b)+')'; a:=a*b; form1.Label10.Caption:=floattostr(a)+'*sin('+floattostr(b)+')'; a:=(-b)*a; form1.Label11.Caption:=floattostr(a)+'*sin('+floattostr(b)+')'; a:=b*a; form1.Label12.caption:=floattostr(a)+'*sin('+floattostr(b)+')';
Delphi-Quellcode:
Ja wenn du sie so in Delphi eingibst funktionieren sie aber, die Ableitungen.
//Ableitungen Kosinus
a:=strtofloat(form1.Edit12.text) ; b:=strtofloat(form1.Edit13.text) ; form1.Label9.Caption:=floattostr(a)+'*cos('+floattostr(b)+')'; a:=a*(-b); form1.Label10.Caption:=floattostr(a)+'*cos('+floattostr(b)+')'; a:=b*a; form1.Label11.Caption:=floattostr(a)+'*cos('+floattostr(b)+')'; a:=(-b)*a; form1.Label12.caption:=floattostr(a)+'*cos('+floattostr(b)+')'; Wenn es nach dem Kurvenprofi geht zumindest. Also das ist ja ne schlaue Überlegung von dir! :o Ich hab bis jetzt folgendes, aber die Werte die mir geliefert werden stimmen noch nicht weil ich n nicht für z in die Formel einsetzen kann, weil z ist ja im Prinzip die jeweilige Nullstelle. Also wenn ich Nullstelle Nr.2 haben will setz ich für z 2 ein und ich bekomme 4,7 raus. Wenn ich Nullstelle Nr.-3 haben will setz ich für z -3 ein und erhalte -10,99. Also immer ein Wert mit einer ungeraden Zahl*pi durch 2, wie du gesagt hast - wie bringe ich das aber im Bezug auf das Intervall in Bezug? Ich habe in meinem Programm praktisch die Intervalgrenze n selbst eingesetzt, was aber falsch ist, da n <> z ist, denn n ist mit z.B. -5 vielleicht der Startintervall, aber im Bezug auf z wäre -5 die Nullstelle Nr.-5! Verstehst du wie ich das meine? In ein n passt praktisch ein 1/pi*z Hier mal der Code :gruebel:
Delphi-Quellcode:
edit 16 ist das Startinterval, edit17 das Endinterval, z die nullstelle nr.z, n eine zählvariable im bezug auf das Intervall
n:=strtofloat(form1.Edit16.Text);
//bx:=((2*z)-1)*pi/2; while (n>=strtofloat(form1.Edit16.Text)) and (n<=strtofloat(form1.Edit17.Text)) do begin z:=((2*n)-1)*pi/2/b; form1.ListBox2.Items.Add(floattostr(z)) ; n:=n+1; end; |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Nein, sicher nicht. Der Vorfaktor stimmt jetzt zwar, aber da du den Rest einfach nur copy/Past gemacht hast, sind immer noch Fehler drin...
Schau doch mal: Wenn (v,w) dein Intervall ist und v<=x<=w gelten muss und bx:=((2*z)-1)*pi/2 gilt, dann ergibt das doch v<=((2*z)-1)*pi/2/b<=w. Wenn du jetzt bei dieses Ungleichungskette nicht mit negativen Zahlen multiplizierst, bleiben die Ungleichungen bestehen. Also v*2*b/pi<=2z-1<=w*2*b/pi. Dann noch mit 1 addieren und halbieren und du hast eine Gleichung die dir genau sagt, in welchem Intervall nun dein z zu suchen ist. |
Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Hallo Nikolas - vielen Dank für deine Hilfe! Wir haben unsere Noten am Freitag bekommen und ich habe 13 Punkte (1-) auf die Arbeit bekommen. Ich wollte mich nochmal bei dir bedanken da du ja auch durchaus zu dieser Note mit deiner Hilfe (und vor allem Gedult) dazu beigetragen hast! Vielen Dank! Ich hab dem Lehrer auch gesagt, dass die Sache nicht ganz allein auf meinem Mist gewachsen ist natürlich :) Also danke nochmal, das du dir so viel Mühe gegeben hast mir zu helfen und alles zu erklären!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz