Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Mathcad
  Einbinden von Diff.Gl.Systemen in Programmierteil

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
  
HPE ProLiant Summer Academy 2025 in Wien, eine Veranstaltung am 17.09.2025
Autor Thema:  Einbinden von Diff.Gl.Systemen in Programmierteil (515 mal gelesen)
Hefepilz
Mitglied


Sehen Sie sich das Profil von Hefepilz an!   Senden Sie eine Private Message an Hefepilz  Schreiben Sie einen Gästebucheintrag für Hefepilz

Beiträge: 3
Registriert: 24.05.2010

erstellt am: 24. Mai. 2010 18:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo liebe CAD.de-Mitglieder,

schön, dass ich dieses Forum gefunden habe, für MathCAD ist das nicht so einfach.

Habe folgendes Problem,  für das ich mir von hier Hilfe erhoffe. Vielleicht kann mir jemand weiterhelfen.

Und zwar habe ich ein Gleichungssystem mit zwei Differentialgleichungen mit rkfest gelöst. Das ist nicht weiter schwierig. Doch nun möchte ich es in einen Programmierteil einbinden, dort dann einen bestimmten Wert z.B. Z50 auswählen und mittels einer zweiten "normalen" Formel die Anfangswerte dieses Gleichungssystems neu berechnen. Und dies zyklisch z.B. 30x. Wenn ich das richtig verstehe, kann ich das mittels einer For-Schleife erreichen, doch wie setzte ich die Anfangswerte des Gleichungssystems immer wieder neu? Und wie lasse ich mir die Anfangswerte für jeden Zyklus in eine Tabelle ausgeben bzw. wie lasse ich mir die Anfangswerte in einem Diagramm in Abhängigkeit von der Zeit bzw. dem Zyklus darstellen (aus dem Programmierteil heraus)?

Besten Dank schon im Voraus für jegliche Hilfe.

mfg
Hefepilz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Moderator
Dipl. Maschinen Ing. / Supporter




Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3912
Registriert: 29.09.2004

Mathcad war besser als Prime, meine Meinung.

erstellt am: 24. Mai. 2010 19:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hefepilz 10 Unities + Antwort hilfreich


479_000345_selbstwertvorgabe.jpg

 
Hall Hefepilz,

Wenn ich dich richtig verstanden habe, kannst du deine gewünschte Situation folgendermassen erreichen.

Du gibst deinem Gleichungssystem als Anfangswert die Variable über einen Vektor vor, und schreibst dann
nach dem ersten Durchgang den Startwert für die nächste Schlaufe in den Vektor auf die nächste Position.

z.B. der Vektor H wird für den Startwert verwendet, somit wird H[1 mit dem ersten Startwert belegt, und
in der Berechnung wird entsprechend über die Laufvariable der Durchläufe, z.B. i, der Wert entsprechend
mit H[i abgefragt.
Am Ende des Durchgangs wird dann der neue Startwert mit H[i+1 hinterlegt. Somit wird im nächsten
Durchlauf automatisch der richtige Wert abgefragt, da sich i ja um 1 erhöht hat.

Gruss
Mike

------------------

   
The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hefepilz
Mitglied


Sehen Sie sich das Profil von Hefepilz an!   Senden Sie eine Private Message an Hefepilz  Schreiben Sie einen Gästebucheintrag für Hefepilz

Beiträge: 3
Registriert: 24.05.2010

erstellt am: 25. Mai. 2010 18:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Mike,

vielen lieben Dank, das hat super funktioniert. Aber wie so oft steht man dann vor einem weiteren Problem. Für jeden Zyklus soll der Endwert in ein Diagramm übertragen werden. Also Endwerte in Abhängigkeit des i-ten Zyklusses grafisch darstellen. Ich habe es bisher nur geschafft den absoluten Endwert des Programms ausgeben zu lassen. Aber den Wert nach z.B. den zweiten, dritten oder vierten Durchlauf bekomme ich einfach nicht aus dem Programmierteil raus.

Hast du hierzu vielleicht auch einen Tipp für mich?

Grüße,

Hefepilz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Moderator
Dipl. Maschinen Ing. / Supporter




Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3912
Registriert: 29.09.2004

Mathcad war besser als Prime, meine Meinung.

erstellt am: 25. Mai. 2010 23:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hefepilz 10 Unities + Antwort hilfreich

Hmmm, soweit ich in meinem Beispiel sehe, wird in der Variable G immer der Endwert ausgegeben.
Der immer neue Startwert H wird im Programm zwar verwendet, aber nicht ausgegeben.

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hefepilz
Mitglied


Sehen Sie sich das Profil von Hefepilz an!   Senden Sie eine Private Message an Hefepilz  Schreiben Sie einen Gästebucheintrag für Hefepilz

Beiträge: 3
Registriert: 24.05.2010

erstellt am: 26. Mai. 2010 08:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


DiffGlSys1.jpg


DiffGlSys2.jpg

 
Hallo Mike,

Ja, genau wie bei mir. Ich habe versucht es in Mathcad2000 und in der Testversion von MathCAD14 zu lösen. Meine Lösung sieht wie in Bild 1 des Anhangs aus. Allerdings bekomme ich hier, wie diskutiert, immer nur den letzten Wert, wenn alle Zyklen durchlaufen sind f(10) bringt den gleichen Wert wie z.B. f(20) etc. Vielleicht bringt es was die Konzentrationen "m" und "s" in Abhängigkeit von j, also nach jedem Zyklus tabellarisch sowie in einem Diagramm darzustellen. Dies ist mir bisher leider auch nicht gelungen. Meinst Du es gibt hierzu einen Trick.

Für mein zweites Problem benötige ich nur die Endergebnisse über alle Zyklen "j".
"m" und "s" möchte ich in Abhängikeit von "Delta t" und "gamma" darstellen. Hier auch wieder tabellarisch und in einem 3D-Diagramm. Mein Problem hierbei ist, dass ich mit mehreren for-Schleifen arbeite, aber ich die Daten wieder nicht aus dem Programmierteil herausbekomme. Meinen Versuch  habe ich in Bild 2 des Anhangs mit angefügt.

Kannst Du mir sagen, was ich falsch mache, bzw. wie ich es richtig machen könnte?

Vielen lieben Dank.

Hefepilz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Moderator
Dipl. Maschinen Ing. / Supporter




Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3912
Registriert: 29.09.2004

Mathcad war besser als Prime, meine Meinung.

erstellt am: 26. Mai. 2010 17:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hefepilz 10 Unities + Antwort hilfreich

Zum Bild 1:

Bei der Berechnung von L, sollte man die Variable j als Indizes einsetzten, ansonsten
wird bei jedem Durchlauf das L überspeichert. Dafür kann man anstelle von f(j) nur f schreiben.

Im weiteren muss man am Ende vom Programm noch die Variable angeben, welche übergeben werden soll.
In meinem Beispiel steht am Ende vom Programm nochmals G, damit G übergeben wird.

Beim zweiten Bild wird es unschön. Du hast drei Schleifen ineinander gestellt.
Bei zwei Schleifen kann man L[d,j schreiben, ergibt bekannterweise eine Matrix.
Mit der dritten Dimension tut man sich auf dem Blatt Papier schwer.....

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Clayton
Ehrenmitglied
Konstrukteur


Sehen Sie sich das Profil von Clayton an!   Senden Sie eine Private Message an Clayton  Schreiben Sie einen Gästebucheintrag für Clayton

Beiträge: 1632
Registriert: 07.02.2004

AMD Athlon 64X2 5600+, 1GB, Nvidia Quadro Pro FX 1100
Inventor Series 10
Mathcad 13

erstellt am: 26. Mai. 2010 22:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hefepilz 10 Unities + Antwort hilfreich


rkfixed_Loop(2).jpg

 
Hi,
Meinst Du das so? -->
Gruss

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz