AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Kurvendiskussion - Nullstellen Extrema usw. mit Tchart
Thema durchsuchen
Ansicht
Themen-Optionen

Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

Ein Thema von SeriousToni · begonnen am 25. Mär 2007 · letzter Beitrag vom 22. Apr 2007
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#21

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 26. Mär 2007, 18:30
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?
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#22

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 26. Mär 2007, 18:36
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:
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)+')';
label9 = funktion
label10 = 1. Ableitung
label11 = 2. Abl.
label12 = 3. Abl.

Und hier die Ableitungen für Cosinus in Delphi:
Delphi-Quellcode:
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)+')';
label9 = funktion
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
Jeder mag dicke Brüste!
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#23

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 26. Mär 2007, 19:26
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...
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#24

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 26. Mär 2007, 19:54
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!

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 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 Oh Herrje, .. das ne Aufgabe
Jeder mag dicke Brüste!
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#25

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 26. Mär 2007, 20:08
Zitat:
Die stimmen jetzt aber!
Nein, die Ableitungen stimmen immer noch nicht. Warum kommt bei der ersten Ableitung ein b aus dem Sinus nach vorne, bei den anderen aber nicht?

Zitat:
Aber wie stelle ich denn das nach x um? Also das bei 0=b*a*cos(b*x) das x bei der 0 steht Shocked 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 Sad
Wann ist denn der Cosinus Null? Das ist genau dann der Fall, wenn sein Argument ein Ungeradganzzahliges Vielfaches von pi/2 ist. (pi/2, 3pi/2, 5pi/2, allgemein (2z-1)*pi/2). Also musst du dein bx=(2z-1)*pi/2
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#26

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 26. Mär 2007, 21:13
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:
//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)+')';
Ja wenn du sie so in Delphi eingibst funktionieren sie aber, die Ableitungen.
Wenn es nach dem Kurvenprofi geht zumindest.


Also das ist ja ne schlaue Überlegung von dir!
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
Delphi-Quellcode:
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;
edit 16 ist das Startinterval, edit17 das Endinterval, z die nullstelle nr.z, n eine zählvariable im bezug auf das Intervall
Jeder mag dicke Brüste!
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#27

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 28. Mär 2007, 09:23
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#28

Re: Kurvendiskussion - Nullstellen Extrema usw. mit Tchart

  Alt 22. Apr 2007, 17:35
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!
Jeder mag dicke Brüste!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz