![]() |
auflisten + Graf
Hallo Community,
ich konnte nichts brauchbares in der Suche oder bei Google finden,somit möchte ich euch um meine Wenigkeit bereichern. Als Delphi Neuling bräuchte ich nun euren Rat. Ich möchte Iterativ berechnete Werte auflisten, welche Komponenten sind dafür am besten geeignet und wie setze ich diese Komponente um ? Wie kann ich später diese Werte in einen Grafen übernehmen? Möglichweise werden die Werte geändert, wie ändert sich dann der Graf? Mit respektvollen Grüßen play |
Re: auflisten + Graf
Ich denke um eine nützliche Antwort zu bekommen, solltest du deine Frage weiter spezifizieren.
Allgemein kann man darauf antworten: Möglichkeiten für Auflistung der Werte: 1.) Labels (eher schlechter) 2.) TMemo (besser geeignet) 3.) TRichEdit (besser geeignet) ... Möglichkeiten für Graph: 1.) TImage 2.) TPaintbox ... Hoffe das hilft dir erstmal für den Anfang einfach damit du deine Frage genauer, oder besser auf dein Problem angepasst, zu stellen. MfG BAMatze |
Re: auflisten + Graf
Zitat:
Ich werde erst Morgen meine Frage spezifizieren können, muss mich auf morgigen Schultag vorbereiten. Infos: bin 18, meine Delphi Fähigkeiten sind noch nicht wirklich gut ausgereift, das meiste was ich jetzt kann hab ich mir sogar selbst beigebracht, nur sehr wenig haben wir bis jetzt in der Schule gemacht. Schönen Abend noch play |
Re: auflisten + Graf
zur auflistung wäre noch TStringgrid (tabellarisch),
zur Graphendarstellung entweder TChart oder ein Control mit TCanvas und bitte nicht TImage :) bei letzterem muss der Graph selbst gemalt werden inkl. entsprechender Beschriftung und Skalierung. evtl gibts bei torry o.ä. auch weitere fertige Komponenten. //edit: erstmal Herzlich Willkommen hier in der DP :dp: :hi: Gruß Frank |
Re: auflisten + Graf
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
nun wollte ich mich mal wieder an mein Programm wagen. Ich möchte desweiteren noch Iterativ t-Werte berechnen. Wie mache ich das am besten? Ich lad mal mein Programm hoch, vielleicht hilft das ein wenig. Die Funktion zur Berechnung lautet: tn+1= tn + h Das Programm soll tn+1 + h rechnen bis T erreicht ist, und die berechneten Werte jeweils in eine Tabelle oder sonst wie auflisten. Mit respektvollen Grüßen play |
Re: auflisten + Graf
Zitat:
in deinem Programm berechnest du h [(T-tn)/n]...tn,T und n sind gegeben, in deiner beschreibung wird aber etwas berechnet, was irgendwann den Wert von T hat. soll das ganze ausgeführt werden bis h=T? welches ist die veränderliche größe? Fragen über Fragen ;) zum testen kannst du ja mal ne schleife bauen und die errechneten Werte z.b. in ein Memo schreiben (memo1.lines.add(FloatToStr(h))). HTH Frank |
Re: auflisten + Graf
Also die Berechnung ist schon ok so, sie ist nur unverständlich, weil er es nicht richtig darstellen kann. n und n+1 sind Index von t und bedeutet somit Nachfolger (tn+1) = Vorgänger(tn) + h. Das sind normale Reihenberechnungen.
|
Re: auflisten + Graf
Zitat:
hab zwar bisschen gegoogled, und bin bei diversen Matrix-Funtionen hängen geblieben, die ich trotzdem nicht so recht anwenden kann... anhand deinen Ausführungen nehm ich mal an, dass eine Wertemenge vorhanden ist. z.b. als sortiertes array
Delphi-Quellcode:
somit müsste es t[n] bzw. t[n+1] heisen, richtig? meine Vermutung dass T=h sein muss scheint wohl zu stimmen. also wären wir bei folgendem:
t:array of integer;
Delphi-Quellcode:
hoffe das passt soweit...
h:=0;
n:=low(t)-1; while (h<=T) and (n<high(t)-1) do begin inc(n); h:=t[n+1]-t[n]; if h<=T then memo1.lines.add(IntToStr(t[n])+':'+IntToStr(h)); end; Gruß Frank |
Re: auflisten + Graf
Richtig in der Informatiker versteht man das als Array mit t[n+1]=t[n] + h aber so wie ich das verstanden hab, soll sich t[x] dem Grenzwert T annähern. Aber ich glaube näheres sollte der Verfasser vieleicht mal selber wieder posten, sonst machen wir hier nur :glaskugel: :glaskugel:
|
Re: auflisten + Graf
Warum kein TImage?
|
Re: auflisten + Graf
Hallo erst einmal.
Ich habe vielleicht nur die Hälfte von dem verstanden, was hier gesagt wurde und werde mal versuchen etwas aufzuklären. T gibt eigentlich das Intervall an, und ist eigentlich nur für die Berechnung von h notwendig, sonst nicht. Man könnte es also danach wieder vergessen. Was ich eigentlich programmieren will ist das Eulerverfahren, vielleicht sagt das einen etwas. Wie schon gesagt wurde ist das +1 bei tn+1 im Index, was das bedeutet müsste klar sein. Der vorher berechnete Wert wird aufgegriffen und 1 dazu addiert. tn+1=tn+h tn ist eine Variable, vom Anwender frei definierbar, so auch h. Ich hoffe das klärt etwas auf. Mit respektvollen Grüßen play PS: Ich muss das bis Samstag, spätestens Sonntag fertig haben. |
Re: auflisten + Graf
Ich glaube das Thema um das es geht, ist ausführlich besprochen. Was mir noch fehlt, ist wo wir dir genau helfen können. Du solltest vieleicht mal zeigen, was du bisher gemacht hast, wo deine Probleme liegen, ...
|
Re: auflisten + Graf
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ich muss noch die Funktion für t und y eingeben, diese aber Iterativ. tn+1=tn+h yn+1=yn+h*(e^k*t)*2 Und jeder berechnete Wert soll dann in die Tabelle rein, die ich auch dahin implementiert habe. Nachdem ich dann die berechneten Werte habe soll dan ein Graf gezeichnet werden. Die Ideen habe ich, ich weiß aber nicht wie ich das umsetzen kann, mangelt halt leider an Fachwissen, welches ich gerne hätte. Mfg play |
Re: auflisten + Graf
nochmal meine Fragen...
welche Werte musst du berechnen? welche Werte sind gegeben (Matrix t)? wie lange soll welcher Wert erhöht werden, um wo welches Maximum zu erreichen. sind meine bisherigen Vermutungen richtig? ggf. sind die 2 Funktionen voneinander abhängig (h,t)? also ich hab ein rein mathematisches Verständnisproblem. dass dann irgendwann Werte in ner Tabelle stehen, wo ein (bzw. mehrere) Graph(en) draus gemalt werden sollen, ist klar. mir gehts um die Erstellung der Tabelle = Berechnung der Werte. Gruß Frank |
Re: auflisten + Graf
Zitat:
yn+1 bis [keine ahnung] Zitat:
tn T n Zitat:
Zitat:
Zitat:
|
Re: auflisten + Graf
wo wir schon bei der ersten fomel ein problem haben...2 unbekannte (t[n+1] und h)
was ist T? seh das in keiner Formel...lässt sich damit h berechnen? n sollte ja nach meinem bisherigem Verständnis der Index in der matrix t sein, also beginnend vom ersten index (0 oder 1). also h wäre das delta zwischen den 2 benachbarten werten in der Matrix. bei der 2. formel fehlen dann noch (wenn irgendwann h bekannt) e,k und t, wobei t wieder verwirrend ist...t=matrix aus erster formel e könnte eulerische Zahl sein (Konstante). was sind das für formeln genau? wie ist der Zusammenhang...vielleicht kapier ichs dann mal :) aber aufgrund der Tatsache, dass sonst kaum Antworten kamen, scheine ich nicht der einzige zu sein, der im Dunkeln tappt... Zitat:
siehe auch hier für Erläuterungen: ![]() und damit es nicht so aussieht, dass ich der einzige mit dieser Ansicht bin: ![]() Gruß Frank |
Re: auflisten + Graf
Zitat:
tn hat nichts mit n zu tun. n steht nur für die gleichgroßen teile im intervall. Das Programm kann h schon berechnen, zum testen hab ich auch das auch schon in die Tabelle übernommen.Müsste zelle (1,0) sein. tn = Anfangswert yn = Anfangswert T = Intervalllänge n = Anzahl der gleichgroßen Teile im Intervall h = Schrittweite e = eulersche Zahl Die Formeln kommen vom Eulerverfahren, um nicht explizit lösbare DGL annäherungsweise darzustellen. PS: Hast du eine funktionierende Delphi USB Version ? |
Re: auflisten + Graf
also anhand der Bergiffserklärung: h=T/n richtig? wie ist tn+1 zu deuten? wirklich als startwert+1 oder der nächste Wert (Matrixtheorie).
nehmen wir an, ich habe z.b. folgende Werte: tn = 5 T = 10 n = 5 nach obigen wäre h = 2 und tn+1 = 7, wobei man dann ja tn+1 gleich wieder als tn einsetzen würde, um die werte zu bekommen...solange bis? jo...vermutlich bis tn+T also das ganze Intervall wo wir dann genau n werte in unserer Tabelle hätten (ggf. +startwert). setzt du dann in der zweiten gleichung das t mit dem errechnete tn gleich? wäre dann nur noch k irgendwie zu ermitteln...dann kann man auch das yn errechnen. zu delphi4usb, das ganze ist eine portable ide bestehend aus scite als editor, dfmedit als form-designer und dem commandozeilencompiler inkl. include-dcu's (compiler und dcus nicht im Package). Gruß Frank |
Re: auflisten + Graf
Zitat:
Die Formel lautet eigentlich yn+1=yn+h*(e^k*t)*k k=Konstante, in meinem Fall soll k=2 sein. Vielleicht hilft dir das weiter: yn und tn=y[0] und t[0] ![]() Schönen Abend noch, ich muss mich langsam auf Ohr haun. play |
Re: auflisten + Graf
Guten Abend,
scheint ya doch schwerer zu sein als gedacht. Die relevanten Gleichungen sind oben genannt. y[n+1] und t[n+1]. Wie kann ich denn diese neuen Werte Iterativ berechnen lassen und dann später die Werte aus der Tabelle in einen Grafen überführen? mfg play |
Re: auflisten + Graf
Ich gebe zu, ich verstehe das Problem nicht ganz :gruebel:
Wenn du einfach nur etwas iterativ berechnen (und auflisten) Willst, würde ich ein Stringgrid empfehlen
Delphi-Quellcode:
Oder hab ich da was nicht ganz begriffen?
function next_y (yn, n: real): real;
// Bekommt n und y[n]- gibt y[n+1] zurück const k = 4; h = 12; begin Result := yn + h * Math.exp(k*n) * k; // z.B. end; // und dann halt das Stringgrid befüllen: procediure ButtonClick var n: Integer; y: real; begin y := 42 // Startwert; for n := 1 to 12 do begin Stringgrid.Cells[n, 0] := inttostr(n); Stringgrid.Cells[n, 1] := floattostr(y); y := next_y(y, n); end; Ich guck mir das da oben nochmal an ... |
Re: auflisten + Graf
Zitat:
n hat nichts mit der Berechnung von y zu tun, der Anfangswert für y lautet einfach nur y[n], weil ich nicht wusste ob y[0] funktioniert, etwas unüberlegt von mir gewählt. n+1 steht einfach nur dafür, das der y-Wert nach dem Anfangswert berechnet wird. Für den 2. Wert sähe das dann so aus: y[1+1]=y[1]+h*e^(2*t[1]) *2 |
Re: auflisten + Graf
Ich versuche nun mal anhand folgendes Bildes mein Anliegen zu veranschaulichen.
Die Funktion für Delphi von oben hat mich nur bedingt geholfen. Das was hier jetzt folgt, man erkennt eine Iterative Berechnung, muss ich einfach nur vom PC berechnen lassen, es kommen auch keine Potenzen vor. Jeder berechnete Wert soll dann in die Tabelle(StringGrid, ist in meinem Programm schon eingebaut). die Berechnung der Variable h habe ich schon übernommen, das war kein Problem. ![]() tn in meinem Programm ist y[0] auf dem Bild, also der gegebene Anfangswert. Das selbe gilt auch für yn. Wenn etwas nicht klar sein sollte, werde ich versuchen noch exakter zu erklären. |
Re: auflisten + Graf
Liste der Anhänge anzeigen (Anzahl: 1)
Schau mal ob, das hier deinen Vorstellungen entspricht und die Funktionen richtig abbilden, die du verwenden musst. Habe aber nicht den Quellcode mitgeschickt. Schaus dir mal an.
|
Re: auflisten + Graf
Dürfte ich den Quellcode sehen, da müsste die Funktion eigentlich doch drin stehen.
Wie der Graf genau aussieht weiß ich auch nicht. Bin überwältigt vom Programm, würde gerne noch weitere Nachkommastellen anzeigen lassen, das wäre Perfekt. WIE MACHT MAN SO EIN PROGRAMM ??? :D Möchte das nur zu gerne erfahren. Mit respektvollen Grüßen play |
Re: auflisten + Graf
Also dachte du überprüfst erstmal mit dem was du da hast (Aufzeichnungen oder so) ob das so ist, wie du es haben möchtest. Das mit dem Quellcode wäre natürlich möglich, aber die Frage ist, ob du dann nicht der einfachheithalber einfach copy und paste machst, was keinen Lerneffekt für dich hättest. Außerdem ist das so wie ich mit bekommen hab nicht so gern gesehen, sowas zu machen. Ich mache dir den Vorschlag, dass ich dir hier (und sicherlich auch viele andere), dass du einfach einen Schritt nach dem anderen in Angriff nimmst und wir dir sagen und an abgewandelten Beispielen zeigen, wie man sowas programmiert. Das würde bei dir sicherlich einen so bleibenden Wissensgewinn erzeugen, dass du das beim nächsten mal selber hinbekommst.
Hier die einzigen Elemente, die ich für das Programm verwendet habe: - Canvas (zeichne auf einem seperaten Bild vom Typ TBitmap, welches ich dann mittels Bitblt auf eine PaintBox zeichne) - dynamische Arrays für y und t Mehr brauchst eigentlich nicht um das so zu machen. MfG BAMatze |
Re: auflisten + Graf
Zitat:
Ich hab' hauptsächlich durch Quellcode angucken und abändern gelernt wie Delphi funktioniert.. also Tut's hab ich kaum gelesen und wenn alle so handeln würden wie du das da beschreibst "Lerneffekt" dann gäbe es keine Libraries^^ |
Re: auflisten + Graf
Zitat:
Wir haben weder Arrays noch Canvas noch eine andere von dir erwähnte Komponente bis jetzt durchgenommen, geschweige denn schon einmal erwähnt. Wenn du mir zumindest erklären könntest, wie die Komponenten aufeinander aufbauen und wie sie miteinander kommunizieren, hätte ich vielleicht eine Chance das Programm auf die Reihe zu kriegen. Wie ich sehe scheint das Programm nicht all zu kompliziert zu sein, so hab ich mir das auch vorgestellt. Aber ich kann dir versichern, dass ich mit sicherheit aus dem Quelltext etwas lerne, habe ich meiner Lehrerin schon des öfteren unter Beweis gestellt. Ich habe P1 und P2 berechnet, und die scheinen mit deinen Werten im Einklang zu sein, nur halt die Nachkommastellen kann ich nicht überprüfen. Mit respektvollen Grüßen play |
Re: auflisten + Graf
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
@Play: Habe dir den SourceCode angehängt, ich weiße gleich mal darauf hin, dass ich es in 30min zusammengestellt habe und deswegen nicht wirklich ein sauberes Programmierkonzept zugrunde liegt, sondern rein das Augenmerk auf Funktionalität lag. Es gibt ätliches, was noch Verbesserungswürdig ist (z.B. alles Löschen um einen weiteren Graphen anzeigen zu lassen, Beschriftung der Achsen, ...). Wenn du aber Fragen hast dazu, kannst du sie mir natürlich stellen. MfG BAMatze |
Re: auflisten + Graf
Zitat:
Ich muss zugeben, ich wäre nie auf solch eine "komplizierte" Weise zum Ergebnis gekommen.Ich habe mir die Sache schon etwas einfacher vorgestellt. Wie kann ich denn die Achsenbeschriftung einfügen? Die Prozedur für die Punktberechnung habe ich komplett verstanden, bei der Zeichnung des Koordinatensystems gibt es bei mir Verständnisprobleme. Könntest du mir, falls du Zeit und Lust hast, mir die Prozedur Schritt für Schritt erklären?
Delphi-Quellcode:
Mfg
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin BitBlt(PaintBox1.Canvas.Handle, 0, 0, Paintbox1.Width, Paintbox1.Height, privbmp.Canvas.Handle, 0, 0, SRCCOPY); end; procedure TForm1.Line_zeichnen(StartX: Integer; StartY: Integer; EndX: Integer; EndY: Integer); begin privbmp.Canvas.MoveTo(StartX, StartY); privbmp.Canvas.LineTo(EndX, EndY); end; procedure TForm1.Graph_zeichnen; var i: integer; var SkallierungX, SkallierungY: double; begin privbmp.Canvas.Pen.Color := clred; SkallierungY := PaintBox1.Height/maxY; SkallierungX := PaintBox1.Width/Inter; for i := 0 to n-2 do Line_zeichnen(round(10+(SkallierungX*(t[i]-t[0]))),round(PaintBox1.Height-(10+SkallierungY*y[i])),round(10+(SkallierungX*(t[i+1]-t[0]))), round(PaintBox1.Height-(10+SkallierungY*y[i+1]))); Paintbox1.Refresh; end; procedure TForm1.KoordinatenSystem_zeichnen; var ySchritt, xSchritt, i: integer; begin xSchritt := trunc((PaintBox1.Width-10)/5); ySchritt := trunc((PaintBox1.Height-10)/5); Line_zeichnen(0,PaintBox1.Height-10, Paintbox1.Width, PaintBox1.Height-10); Line_zeichnen(10,0, 10, PaintBox1.Height); for i := 1 to 5 do begin Line_zeichnen(10+i*xSchritt, PaintBox1.Height-15,10+i*xSchritt, PaintBox1.Height-5); Line_zeichnen(5,PaintBox1.Height-(+i*ySchritt), 15,PaintBox1.Height-(+i*ySchritt)); end; PaintBox1.Refresh; end; play |
Re: auflisten + Graf
Guten Morgen,
da ist noch eine Sache an dem Programm. Ich habe selbst versucht, das Problem zu beheben, aber nicht geschafft. Was macht array of double genau? Die berechneten Werte des Programms stimmen nicht mit meinen Werten überein. Ich habe das noch einmal überprüft, habe versucht das Problem zu beheben, aber nicht geschafft. t[j] := t[j-1] + h; y[j] := y[j-1] + h* k * y[j-1]; Ich glaube an diesen Zeilen is der Fehler. j:= 1 gesetzt, dann ist t[j-1]=0 und dadurch ist t[j]=h, und das ist falsch. Das selbe gilt auch für y[j]. h*k*0 ergibt 0. Die angezeigten Ergebnisse unten, also bei ty und y1. Als Ergebnis werden die Startwerte angezeigt. Das ist auch falsch? Oder habe ich da etwas falsch verstanden ? Müsste nicht statt t[j-1] t[0] stehen? Mfg play |
Re: auflisten + Graf
Zitat:
Die Dimensionierung erfolgt durch setlength(), wobei das Array 0-basierte Indizies verwendet.
Delphi-Quellcode:
erstellt ein statisches array (Elemente 0 bis 3) mit Integer-Elementen.
array [0..3] of integer;
HTH Frank |
Re: auflisten + Graf
Zitat:
Delphi-Quellcode:
Dies kann ich tun, da ich am ersten Wert gar nichts verändern muss, den bekomme ich vorgegeben. Aber wenn ich jetzt auf den Vorgänger vom j-ten Element zugreifen möchte, dann muss für y[j]= y[j-1] + h * k * y[j-1] genommen werden (also steht hier versteckt dein y[0], wenn du einfach einsetzt y[1] = y[1-1] + h * k * y[1-1} für den ersten Schleifendurchlauf). Deine Einwürfe, dass wenn man y[0] = 0 setzt keinem richtigen Ergebnis führt, weil alle anderen Werte auch 0 werden, sind dabei logisch aber du musst bedenken, welche Funktion du nachstellst, es ist die e-Funtkion. Die E-Funktion hat folgende Form: f = a * e^b dabei sind a,b Elemete der Reelen Zahlen. Egal was du für b einsetzt du kannst NIE 0 erreichen (Versuchsmal, kleiner Tip du musst Zahlen nehmen, die gegen -Unendlich laufen). Du kannst natürlich auf eine Weise 0 erreichen, wenn du a = 0 setzt und wenn du dann aber egal wie b änderst, bleibt der Zahlenwert für die E-Funktion mit f= 0 * e^b auch immer 0 somit scheint mein Programm rein logisch gesehen dies wirklich nachzustellen.
for j:=1 to n-1 do ...
Ps. mir ist schon bewusst, wenn ich die Funktion so abwandel, dass sie lautet: f = a * e^b +c, dann erhalte ich einen Schnittpunkt mit der X-Achse. Das ist mir Wohl bewusst und ich werfe einfach mal den Begriff der Asymthote in den Raum, ich denke damit sollte alles klar sein. Falls noch Fragen bestehen, werde ich dir die gern weiter beantworten. Bereite schnell eine Kommentierung für die Procedure vor. MfG BAMatze |
Re: auflisten + Graf
Zitat:
Entweder habe ich das Programm noch nicht verstanden, oder das Verfahren. Die e-Funktion kommt eigentlich hier gar nicht vor. Die e-Funktion ist die exakte Lösung unseres Beispiels. Diese wird in dem Programm nicht gebraucht.Oder was meintest du '? |
Re: auflisten + Graf
Zitat:
Delphi-Quellcode:
procedure TForm1.KoordinatenSystem_zeichnen;
var ySchritt, xSchritt, i: integer; begin // Ok Ziel ist es 5 Teilstriche auf der X und Y Achse darzustellen. // Dafür habe ich die Zeilen mal neu geordnet (es sind keine weiteren // dazugekommen) damit es vieleicht besser Verständlich ist. // zuerst zeichnen ich die Achsen an sich mit folgenden beiden Zeilen // X-Achse wird 10 Pixel über dem unteren Rand gezeichnet. Line_zeichnen(0,PaintBox1.Height-10, Paintbox1.Width, PaintBox1.Height-10); // Y-Achse wird 10 Pixel vom linken Rand gezeichnet. Line_zeichnen(10,0, 10, PaintBox1.Height); // Für meine 5 Teilstriche bleiben, damit sie gleichmäßig über die Strecke // verteilt sind jeweils PaintBox1-Höhe und Breite minus 10 Pixel. // Also ermittel ich mir die Weite der Strichabstände indem ich durch 5 Teile. xSchritt := trunc((PaintBox1.Width-10)/5); ySchritt := trunc((PaintBox1.Height-10)/5); // Nach der Ermittlung der Schrittweite für diese Striche muss ich sie nur noch // zeichnen. Der einfachheithalber nutze ich da eine For-Schleife. Bedenken muss // ich nur, dass ich jeweils bei Pixel 10 erst anfange zu zählen (erklärt die 10+...) for i := 1 to 5 do begin Line_zeichnen(10+i*xSchritt, PaintBox1.Height-15,10+i*xSchritt, PaintBox1.Height-5); Line_zeichnen(5,PaintBox1.Height-(+i*ySchritt), 15,PaintBox1.Height-(+i*ySchritt)); end; // Damit ich die Änderungen überhaupt sehen kann lass ich mir die Paintbox nochmal neu // zeichnen. PaintBox1.Refresh; end; |
Re: auflisten + Graf
Zitat:
![]() Also die E-Funktion in der Form f = a* e^b hat eine Asymptote nämlich die 0, dass heißt sie nächert sich wenn a>0 ist dieser im negativen Unendlichen an, erreicht sie aber nicht. Bei a<0 gilt dies fürs positive Unendliche. Die E-Funktion in der Angesprochenen Form kann nur 0 Werden, wenn a = 0 ist! Aber wenn a = 0 ist, dann sind alle Funktionswerte 0. Dies wird durch meine Berechnungen im Programm auch so wieder gespiegelt. Wenn du für y[0] den Startwert auf 0 setzt, heißt das es gibt mindestens einen Funktionswert, der 0 ist und da dies nur sein kann, wenn a = 0 ist, dann müssen auch alle anderen Funktionswerte für die E-Funktion 0 sein. Jetzt kam dein Einwurf, du hast ja aber nicht die E-Funktion, sondern willst sie nur nachstellen, aber frag dich selber, wäre dir eine Funktion lieber, die dir anzeigt, y[irgendein Wert] = 5000 wenn du weißt y[irgendein Wert] = 0? Also ich denke mal wir sind uns einig, wir erwarten Werte, die auch die E-Funktion bringen würde. Also sind meine Ausführungen im gemeinten Threat erstmal plausibel, denke ich, wenn ich mich dort auf die E-Funktion beziehe. MfG BAMatze |
Re: auflisten + Graf
Zitat:
Erst einmal möchte ich mich für deine Bemühungen bedanken, hoffentlich konntest du aus dem Thread auch etwas mitnehmen. Wenn die berechneten Werte des Programms stimmen, dann müssen meine Werte falsch sein, wobei ich keine Fehler finden konnte. Ich habe die Funktion y'(t)=k*y(t) schon exakt gelöst, da kommt eine e-Funktion heraus, also hast du insofern recht. Mfg play |
Re: auflisten + Graf
Also ich würde erstmal immer meinem Handgerechneten vertrauen, weil du da weißt, was du gemacht hast. Bei meinem Programm, das ich dir geschickt hab, merkst du ja selber, dass ich mir nicht so sicher bin. Ich hab nur anhand der Betrachtungen versucht zu erklären, warum das Ergebnis eventuell plausibel sein könnte.
Wenn du andere Ergebnisse hast, dann ist denke ich vieleicht jetzt der Zeitpunkt, dass du diese mal hier angibst, dann kann ich mal schauen, was ich per Hand errechne. 4 Augen sehen bekannltich mehr als 2. |
Re: auflisten + Graf
Zitat:
![]() Hast du vielleicht einen Instant Messenger? das ist sicherlich etwas einfacher als hier immer zu schreiben. play |
Re: auflisten + Graf
Liste der Anhänge anzeigen (Anzahl: 1)
Also als erstes fällt mir auf, dass du Fehler in deinen Y-Werten hast. Ich hab das mal überprüft und denke du hast den Vorrang der Punktrechnung vor der Strichrechnung nicht beachtet, ist aber nicht so schlimm, haben das Problem ja erkannt.
Hier mal die Ergebnisse, dich ich für Y1 und Y2 per Hand erwarte: Anfangspunkt: P[t0 = 0,4; y0 = 0,2] Hier ist auch ein Fehler in deinem Bild, dort steht für Y1 = Y0 + h * k * Y0 für das 2. Y0 0,4 wobei das 0,2 sein sollte! Ich denke du setzt dort den Wert für t0 ein, was aber nicht das ist, was ich aus der Vorgabe nehme. Dort steht für y(t0) = k * y0 und das musst du denke ich dann auch so dort einsetzen. Hab hier mal die auführliche Rechnung aufgeschrieben. Y1 = Y0 + h * k * Y0 Y1 = 0,2 + (0,4 * 2 * 0,2) = 0,2 + 0,16 Y1 = 0,36 Y2 = Y1 + h * k * Y1 Y2 = 0,36 + (0,4 * 2 * 0,36) = 0,36 + 0,288 Y2 = 0,648 Wenn ich diese Änderungen beachte und die Werte auch eingeben, dann erhalte ich diese Werte auch von dem Programm, welches ich dir zur Verfügung gestellt habe. Im Anhang ist ein Bild, wo du die vom Programm berechneten Werte für Y1 und Y2 sehen kannst. Hab auch die Indexe angepasst, so dass es mit deinen Vorgaben übereinstimmt. PS.: Wenn ich das doch falsch verstanden habe und dort wirklich t und nicht y in der Formel stehen soll, dann musst du nur Bescheid sagen, dann kann ich das noch ändern. So habe ich das aber verstanden. MfG BAMatze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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-2025 by Thomas Breitkreuz