|
|
sybolic toolbox: Ableitung (cos(x(t))*l) nach x |
|
jackomo |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 25.03.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2013, 08:16
Titel: sybolic toolbox: Ableitung (cos(x(t))*l) nach x
|
|
Der Titel verrät schon ziemlich alles:
Ich habe Pobiert:
Wie macht man es richtig ?
Liebe Grüße
Jack
|
|
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 02.04.2013, 09:11
Titel:
|
|
Guten Morgen Jack,
mich würde ja mal grundsätzlich interessieren, wie du auf dieses Problem kommst. Welche Fragestellung steckt dahinter, dass du diese Funktion, welche übrigens abhängig von t ist, nach x ableiten willst?
Grüße, Marc
|
|
|
jackomo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 25.03.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2013, 10:26
Titel:
|
|
Guten Morgen Marc,
es geht darum Bewegungsdifferentialgleichungen mit dem Lagrange 2. Art- Formalismus zu erstellen.
Eigentlich habe ich statt x auch `ϕ`[i] (Drehwinkel der generalisierten Koordinate, i=1..n) dort stehen, aber das macht das ganze nur unübersichtlicher und ist nicht Teil des Problems.
Zu deiner Frage: Beim aufstellen der Jacobi-Matrizen und der Lagrange-Gleichung muss nach `ϕ`[i] ableiten (mit i= 1..n).
Für Jacobimatrizen muss ich Ortsvektoren ableiten, die enthalten in meinem Fall sin bzw. cos(phi),
Lagrangegleichung enthält aus Kinetischer-Energie auch phi und Ableitungen von phi.
Liebe Grüße
Jack
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 02.04.2013, 14:55
Titel:
|
|
Hallo,
ich habe das jetzt mal recherchiert. Um eine Funktion (ich denke, es handelt sich hier eher um ein Funktional) nach einer Funktion ableiten zu können, muss man einiges an zusätzlicher Theorie schaffen. Physiker neigen ja dazu, Dinge zu benutzen, weil es "offenbar" funktioniert. Aber lassen wird das. Konkret bringt dich das nicht weiter. Ich habe herausgefunden, dass unter Maple zusätzliche Pakete geladen werden müssen, um eine derartige Ableitung berechnen zu können. Das Paket heißt wenig erstaunlich "physics". Jetzt liegt es an dir zu recherchieren, ob es für Matlab ein "Pendant" gibt.
Grüße, Marc
|
|
|
jackomo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 25.03.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2013, 15:04
Titel:
|
|
Danke dir schonmal so weit. Mich wundert, dass noch nicht schon mehr Leute ähnliche Probleme hatten.
http://www.mathworks.de/de/help/symbolic/mupad_ref/d.html#repcom
Ganz unten bei Example 10, glaubst du, dass könnte mir weiter helfen? Ich verstehe ehrlich gesagt nicht genau den Nutzen, vielleicht sagt es dir was?
Liebe Grüße
Jack
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.04.2013, 15:16
Titel:
|
|
Hallo,
es gab hier schon mal einen ähnlichen Thread. Du kannst da mal danach suchen.
Ich halte es in der Mathematik auch für unüblich, Funktionen nach Funktionen abzuleiten.
Was du in MuPAD verwenden kannst:
oder natürlich auch das [t] weglassen. Das ist doch das erwartete Ergebnis, oder?
Grüße,
Harald
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 02.04.2013, 15:17
Titel:
|
|
Ohne nähere Begründung. Ich hatte gerade den Gedanken, dass du Mathworks direkt anschreiben solltest wegen dieses Problems. Zumal Maple diese Funktionalität ja bietet... Was meinst du?
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 02.04.2013, 15:21
Titel:
|
|
Hallo Harald,
den Thread hatte ich auch noch im Hinterkopf. Irgendwie ist das aber im Vergleich mit der Maple-Lösung "halbgar". Ich weiß es nicht...
Grüße, Marc
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.04.2013, 16:11
Titel:
|
|
Hallo,
es kann sicher nicht schaden, sich mal an den Technischen Support von MathWorks zu wenden, um zu sehen, ob es eine bessere Lösung gibt.
Und wenn einem Funktionalitäten abgehen, natürlich auch MathWorks kontaktieren. Woher sollen die denn sonst wissen, dass jemand die Funktionalität abgeht?
Grüße,
Harald
|
|
|
jackomo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 25.03.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2013, 19:15
Titel:
|
|
|
|
|
Weißt du zufällig noch ein paar Schlagworte aus dem Thread? Mit MuPad Ableitung funktion diff findet man immer alles und nichts (deshalb habe ich ja auch einen neuen probiert).
Ok, jetzt muss ich wohl noch ein bisschen plaudern was ich schon alles ausgedacht habe:
Das mit der Idee das (t) einfach weg zu lassen hatte ich auch schon (habe es damals einfach in strings umgewandelt und (t) weggelöscht, es später dann wieder eingefügt.
Ok, ist nicht schön aber quick-and-dirty.
Funktionierte auch ganz gut bei den Jacobi-Matritzen.
Allerdings nicht bei der Ableitung der Kinetischen Energie nach den generalisierten Koordinaten. In der Kinetischen Energie steckt noch phi_punkt, also die erste Abeitung nach der Zeit. Wenn wenn am Schluss noch eine Ableitung von phi stehen bleibt also (mit weggelöschtem (t) ):
das innere diff(..) wird dann allerdings zu null, da ja wahrheitsgemäß es momentan keine Funktion mehr von t ist, und das macht blöderweise die ganze restliche Rechnung kaputt.
Bei MathWorks werde ich auf jeden Fall nachfragen!
Könnte mir funcenv() helfen? Bzw. wie kann man denn Konstanten definieren die automatisch nicht mit abgeleitet werden? Weil wenn man die Funktion D()() verwendet wird immer einfach alles abgeleitet, ohne Rücksicht auf Verluste.
Danke euch für eure Mitarbeit und Bemühung!
Liebe Grüße
Jack
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.04.2013, 20:39
Titel:
|
|
Hallo,
bitte ein konkretes Beispiel, damit man das nachvollziehen kann. Die Darstellung `ϕ`[1] ist auch etwas verwirrend.
Den anderen Beitrag habe ich übrigens gefunden. Leider sind wir dort auch zu keinem Ergebnis gekommen:
http://www.gomatlab.de/partielle-ableitung-t27458.html
Grüße,
Harald
|
|
|
jackomo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 25.03.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2013, 22:59
Titel:
|
|
|
|
|
Ok, hier eine kurze Beschreibung.
Im Prinzip ist es Multipendel (http://de.wikipedia.org/wiki/Multipendel), aber
-Masse ist verteilt über die Körper/Stäbe --> Massenträgheitsmomente
-Zwischen 2 Pendeln sind eine Drehfeder,( ein Drehdämpfer, aber ersteinmal weggelassen,s. unten )angebracht, und man kann jeweils ein Moment aufbringen
-die generalisierten Koordinaten sind die Verdrehung relativ zwischen den Stäben (anders als auf Wikipedia).
-das System soll am Ende auf n Elemente erweiterbar sein.
für n = 3 lautet die Lagrange-Gleichung so (bereits mit simplify() von MuPad vereinfacht):
L = T - V = kin. Energie - pot. Energie(=Feder + Schwerkraft)
Generalisierte Koordinate sind für n = 3:
Und jetzt die Lagrange-Gleichung:
d/dt (dL/dq') - dL/dq = 0
Hier kommt es eben zu den Problemen beim Ableiten.
(Anmerkung: Es gibt noch von außen wirkende Kräfte und Momente am Ende des Multipendels, aber die spiegeln sich ja, ebenso wie die Dämpfer, nur in den nicht-konservativen Kräften wieder, aber das würde hier jetzt zu weit führen, und ein bisschen Arbeit muss ich ja auch selbst machen ).
Ich werde leider erst in 2 Wochen wieder an der Lösung weiter arbeiten können, aber da ich es lösen muss wird es von meiner Seite nicht einschlafen! Ich freue mich aber trotzdem über jeden Beitrag oder Vorschlag und werde bestimmt zwischendurch kurz rein lesen.
Für interessierte habe ich im Anhang eine Textdatei mit der Originalform von Kinetischer- und Potentieller-Energie sowie einer kleiner Erläuterung zur Zeichererklärung angehängt, das würde hier den Platz sprengen.
Liebe Grüße
Jack
Beschreibung: |
|
Download |
Dateiname: |
V_T_Multipendel.txt |
Dateigröße: |
2.93 KB |
Heruntergeladen: |
635 mal |
|
|
|
Thomas84 |
Forum-Meister
|
|
Beiträge: 546
|
|
|
|
Anmeldedatum: 10.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.04.2013, 06:30
Titel:
|
|
|
|
jackomo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 25.03.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.04.2013, 17:14
Titel:
|
|
|
|
|
Hier nach längerer Pause nun die Antwort. Kleine Anmerkung, das Thema wurde gelöst
Hier noch einmal eine kurze Zusammenfassung der Übersicht halber:
gegeben
(t) macht Probleme
x(t) ist das Problem. Erste Idee (t) zu umschreiben als _a (als
Index) ist gescheitert (mit stringlib::subs(), expr2text(), text2expr() )
da nun diff(x_a , t) = 0 --> ganzer Ausdruck zu null...
Lösung:
wunderbar
In Worten: Man muss x(t) und die Zeitableitungen durch Variable ersetzen (Achtung, Reihenfolge hier wichtig!), dann nach der entsprechenden Variable ableiten (geht also auch einfach nach einer der Zeitableitungen z.B. z1) und am Ende wieder resubstituieren.
Hat man mehr als die erste Zeitableitung einfach die zweite oder dritte (sofern diese noch Sinn macht) als neue Variablen substituieren. Bsp:
[diff(diff(x(t),t),t)=z2, diff(x(t),t)=z1, x(t)=z0]
Vielen Dank an dieser Stelle für den Mathworks-Support.
D( x(t) )(t) verwende ich nicht mehr, da es nur ein Operator und keine Funktion ist.
Zum anderen: SimMechanics ist ein tolles Tool(box)! Kannte ich zuvor nicht aber werde ich auf jeden Fall verwenden!
Liebe Grüße und danke allen für die Mitarbeit!
Jack
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|