WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Symbolische Ausgabe verwenden

 

ExxE
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 19.03.12
Wohnort: Wien
Version: R2010b
     Beitrag Verfasst am: 03.04.2012, 21:16     Titel: Symbolische Ausgabe verwenden
  Antworten mit Zitat      
Hallo alle zusammen

Ich leite Vektoren symbolisch in MATLAB ab.
Gegen Ende der Berechnung dauert der Rechenvorgang dann schon ziemlich lange (hab nach ca. 5 Stunden abgebrochen) ohne ein Ergebnis zu erzielen.
Nun vermute ich dass das damit zusammen hängt das MATLAB diese Ableitungen sehr oft durchführen muss.
Aus diesem Grund möchte ich die symbolischen Ergebnisse bereits berechnet als "function" hinterlegen.

Jetzt aber zu meinem (momentanen) Problem.
Meine Idee war es MATLAB die Ableitungen durchführen zu lassen und das Ergebnis aus dem Command Window heraus zu kopieren und in ein m-file einzufügen.
MATLAB macht mir dabei aber einen Strich durch die Rechnung indem es nach 25000 Zeichen die Ausgabe im Command Window abbricht.

Hat jemand eine Idee wie ich dieses Problem lösen kann?
Private Nachricht senden Benutzer-Profile anzeigen


ExxE
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 19.03.12
Wohnort: Wien
Version: R2010b
     Beitrag Verfasst am: 04.04.2012, 07:32     Titel:
  Antworten mit Zitat      
Oder kennt jemand sonstige Methoden große symbolische Ableitungen durzuführen und dann nach MATLAB zu exportieren bzw. kopieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 04.04.2012, 15:46     Titel: Re: Symbolische Ausgabe verwenden
  Antworten mit Zitat      
Hallo ExxE,

Was bedeutet "Vektoren symbolisch ableiten" genau? Kannst Du bitte den dazugehörigen Code posten?

Wieso muss Matlab die Ableitung oft durchführen? Der Sinn symbolischer Rechnung ist es doch, eine allgemeingültige Rechenanleitung ("Formel") zu erhalten.

Zitat:
Meine Idee war es MATLAB die Ableitungen durchführen zu lassen und das Ergebnis aus dem Command Window heraus zu kopieren und in ein m-file einzufügen.

Wie machst Du das genau? Kannst Du die Ausgabe nicht direkt per FPRINTF in das M-File hineinschreiben?
Matlab bricht im Allgemeinen die Ausgabe ins Command-Window nicht ab. Versuchst Du so viele Zeichen in eine einzige Zeile zu schreiben? Dann könnte es wohl helfen ein paar Zeilen-Umbrüche einzufügen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
ExxE
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 19.03.12
Wohnort: Wien
Version: R2010b
     Beitrag Verfasst am: 05.04.2012, 10:59     Titel:
  Antworten mit Zitat      
Hallo Jan

Danke erst mal für deine Antwort!

Der Code:

Code:
function [ThetarStrich]=Berechnung_ThetaStrich_symbolisch()

syms phi1r phi1l phiPunkt MA h lK lO lU lFB lS1 lS2 lS3 lS4 DB m1 m2 m3 m4 m34 I1 I2 I34

[hrStrich]=Proj_Lagevektor_Ableitung1(phi1r,h,lK,lO,lU,lFB,lS1,lS2,lS3,lS4,DB,m3,m4);

%Massenmatrix

[M]=Massenmatrix(m1,m2,m34,I1,I2,I34);

%Getriebefunktion (verallgemeinertes Trägheitsmoment)

Thetar=hrStrich'*M*hrStrich;

ThetarStrich=diff(Thetar,phi1r);

end


Und der Code der function "proj_Lagevektor_Ableitung1..."

Code:
function [hrStrich]=Proj_Lagevektor_Ableitung1(phi1r,h,lK,lO,lU,lFB,lS1,lS2,lS3,lS4,DB,m3,m4)

hrStrich=[lS1*cos(phi1r);-lS1*sin(phi1r);1; -(m3*(lO*cos(asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) + acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))))*(((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) - ((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2)) - lS3*cos(atan(lFB/lU) - asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))) - acos((DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)/(2*DB*lO)) + 180)*(((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2) - ((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) + (h*lK*sin(phi1r))/(DB*lO*(1 - (DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)^2/(4*DB^2*lO^2))^(1/2)))) + m4*(lO*cos(asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) + acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))))*(((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) - ((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2)) - lU*cos(atan(lFB/lU) - asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))) - acos((DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)/(2*DB*lO)) - atan(lS4/lU) + 180)*(lS4^2/lU^2 + 1)^(1/2)*(((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2) - ((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) + (h*lK*sin(phi1r))/(DB*lO*(1 - (DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)^2/(4*DB^2*lO^2))^(1/2)))))/(m3 + m4); -(m3*(lS3*sin(atan(lFB/lU) - asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))) - acos((DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)/(2*DB*lO)) + 180)*(((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2) - ((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) + (h*lK*sin(phi1r))/(DB*lO*(1 - (DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)^2/(4*DB^2*lO^2))^(1/2))) + lO*sin(asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) + acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))))*(((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) - ((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2))) + m4*(lO*sin(asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) + acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))))*(((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) - ((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2)) + lU*sin(atan(lFB/lU) - asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))) - acos((DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)/(2*DB*lO)) - atan(lS4/lU) + 180)*(lS4^2/lU^2 + 1)^(1/2)*(((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2) - ((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) + (h*lK*sin(phi1r))/(DB*lO*(1 - (DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)^2/(4*DB^2*lO^2))^(1/2)))))/(m3 + m4);((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) - ((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2) - (h*lK*sin(phi1r))/(DB*lO*(1 - (DB^2 - h^2 + 2*cos(phi1r)*h*lK - lK^2 + lO^2)^2/(4*DB^2*lO^2))^(1/2));-lS2*cos(asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) + acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))))*(((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) - ((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2));-lS2*sin(asin((lK*sin(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) + acos((- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2))))*(((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2) - ((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2));((lK*cos(phi1r))/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2) - (h*lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2))/(1 - (lK^2*sin(phi1r)^2)/(h^2 - 2*cos(phi1r)*h*lK + lK^2))^(1/2) - ((h*lK*sin(phi1r))/(lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(1/2)) - (h*lK*sin(phi1r)*(- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2))/(2*lO*(h^2 - 2*cos(phi1r)*h*lK + lK^2)^(3/2)))/(1 - (- DB^2 + h^2 - 2*cos(phi1r)*h*lK + lK^2 + lO^2)^2/(4*lO^2*(h^2 - 2*cos(phi1r)*h*lK + lK^2)))^(1/2)];

end


Phu, das sieht ja hier noch scheußlicher aus als in meinem m-File! Wink

„ThetarStrich=diff(Thetar,phi1r)“ ist zu lange um im Comand Window ausgegeben zu werden.

Zitat:
Wieso muss Matlab die Ableitung oft durchführen? Der Sinn symbolischer Rechnung ist es doch, eine allgemeingültige Rechenanleitung ("Formel") zu erhalten.


Ehrlich gesagt habe ich das nur von jemanden gehört, ich selbst bin blutiger MATLAB Anfänger und verstehe die Funktionsweise noch lange nicht…
Aber so wie ich das aus seiner Erklärung verstanden habe muss MATLAB die symbolische Ableitung bei der weiteren Verwendung von z.B. „ThetarStrich“ und allen anderen symbolisch Ableitungen in der Rechnung immer wieder durchführen da ich am Ende der Berechnung einen Kräfteverlauf erhalten will und dieser numerisch berechnet wird.
Also bei jedem Wert der für die Laufvariable eingesetzt wird muss MATLAB dann die symbolischen Ableitungen durchführen und dann Werte einsetzten (was nebenbei erwähnt auch nicht wirklich gut funktioniert).

Zitat:
Wie machst Du das genau? Kannst Du die Ausgabe nicht direkt per FPRINTF in das M-File hineinschreiben?
Matlab bricht im Allgemeinen die Ausgabe ins Command-Window nicht ab. Versuchst Du so viele Zeichen in eine einzige Zeile zu schreiben? Dann könnte es wohl helfen ein paar Zeilen-Umbrüche einzufügen.


Code:
clc
clear

syms phi1r h lK lO lU lFB lS1 lS2 lS3 lS4 DB m3 m4

phi1l=phi1r+180;

% Winkel rechter Fuß

BEr=(lK^2+h^2-2*lK*h*cos(phi1r))^(1/2);

betaR=asin(lK/BEr*sin(phi1r));
gammaR=acos((lO^2+BEr^2-DB^2)/(2*lO*BEr));

phi2r=gammaR+betaR;

deltaR=acos((lO^2+DB^2-BEr^2)/(2*lO*DB));
nyR=betaR+gammaR;
chi1=atan(lFB/lU);                         %für beide Beine gültig
chi2=atan(lS4/lU);                         %für beide Beine gültig

phi3r=180-(deltaR+nyR-chi1);

phi4r=180-(deltaR+nyR-(chi1-chi2));

% Schwerpunkt Koordinaten_rechter Fuß

DS4=lS4/sin(chi2);                          %für beide Beine gültig

xS1r=lS1*sin(phi1r);
yS1r=lS1*cos(phi1r);

xS2r=lS2*sin(phi2r);
yS2r=h-lS2*cos(phi2r);

xS3r=lO*sin(phi2r)-lS3*sin(phi3r);
yS3r=h-lO*cos(phi2r)-lS3*cos(phi3r);

xS4r=lO*sin(phi2r)-DS4*sin(phi4r);
yS4r=h-lO*cos(phi2r)-DS4*cos(phi4r);

%Gesammtschwerpunkt Koordinaten Unterschenkel&Fuß_rechts

xS34r=(xS3r*m3+xS4r*m4)/(m3+m4);
yS34r=(yS3r*m3+yS4r*m4)/(m3+m4);

xlS34=lS4*m4/(m3+m4);                        %für beide Beine gültig
ylS34=(lS3*m3+lU*m4)/(m3+m4);                %für beide Beine gültig

phi5=atan(xlS34/ylS34);                      %für beide Beine gültig

phi34r=phi3r-phi5;

% Winkel linker Fuß


BEl=(lK^2+h^2-2*lK*h*cos(phi1l))^(1/2);


betaL=asin(lK/BEl*sin(phi1l));
gammaL=acos((lO^2+BEl^2-DB^2)/(2*lO*BEl));

phi2l=gammaL+betaL;

deltaL=acos((lO^2+DB^2-BEl^2)/(2*lO*DB));
nyL=betaL+gammaL;

phi3l=180-(deltaL+nyL-chi1);

phi4l=180-(deltaL+nyL-(chi1-chi2));

% Schwerpunkt Koordinaten_linker Fuß

xS1l=lS1*sin(phi1l);
yS1l=lS1*cos(phi1l);

xS2l=lS2*sin(phi2l);
yS2l=h-lS2*cos(phi2l);

xS3l=lO*sin(phi2l)-lS3*sin(phi3l);
yS3l=h-lO*cos(phi2l)-lS3*cos(phi3l);

xS4l=lO*sin(phi2l)-DS4*sin(phi4l);
yS4l=h-lO*cos(phi2l)-DS4*cos(phi4l);

%Gesammtschwerpunkt Koordinaten Unterschenkel&Fuß_links

xS34l=(xS3l*m3+xS4l*m4)/(m3+m4);
yS34l=(yS3l*m3+yS4l*m4)/(m3+m4);

phi34l=phi3l-phi5;

% Lagevektor rechtes Bein

hr=[xS1r;yS1r;phi1r;xS34r;yS34r;phi34r;xS2r;yS2r;phi2r];

hrStrich=diff(hr,phi1r)

hr2Strich=diff(hrStrich,phi1r)

% Lagevektor linkes Bein

hl=[xS1l;yS1l;phi1l;xS34l;yS34l;phi34l;xS2l;yS2l;phi2l];

hlStrich=diff(hl,phi1r)

hl2Strich=diff(hlStrich,phi1r)


Die Ausgabe im Command Window habe ich dann markiert und wie im vorhergehenden Code ersichtlich in ein m-File kopiert.

Zu dem ob ich versuche zu viele Zeichen in eine Zeilen zu schreiben weiß ich nicht genau was du meinst, denn ich selbst gebe ja nur den Befehl zu Ableitung im m-File, die Ausgabe im Command Window macht ja MATLAB und diese Ausgabe wird von MATLAB nach 25000 Zeichen abgebrochen.

Den FPRINTF Befehl müsste ich mir erst ansehen (komme erst wieder in ein paar Tagen nach Hause…) . Funktioniert der auch bei symbolischer Ausgabe, also es sollen mir ja keine Werte ausgegeben werden sondern eben die symbolische Ableitung?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 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.