Variablen Werte zuweisen < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:48 Di 13.03.2012 | Autor: | ExxE7 |
Gleich vorweg, ich bin ein absoluter MATLAB Anfänger und bitte das bei der Beantwortung zu berücksichtigen. ;)
Zu meiner Frage:
Ich habe einen Lagevektor analytisch berechnet, da ich ihn später noch ableiten muss.
Jetzt will ich überprüfen ob der Vektor stimmt indem ich den Variablen Zahlenwerte zuweise und genau hier liegt mein Problem.
Ich weiß nicht wie ich das bewerkstelligen soll!
Der Vektor sieht folgender Maßen aus:
lS1*sin(phi1r)
lS1*cos(phi1r)
phi1r
-(m3*(lS3*sin(atan(lFB/lU) - [mm] asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] - acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})) [/mm] - [mm] acos((DB^2 [/mm] - [mm] h^2 [/mm] + 2*cos(phi1r)*h*lK - [mm] lK^2 [/mm] + [mm] lO^2)/(2*DB*lO)) [/mm] + 180) - [mm] lO*sin(asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] + acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})))) [/mm] - [mm] m4*(lO*sin(asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] + acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}))) [/mm] - lU*sin(atan(lFB/lU) - [mm] asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] - acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})) [/mm] - [mm] acos((DB^2 [/mm] - [mm] h^2 [/mm] + 2*cos(phi1r)*h*lK - [mm] lK^2 [/mm] + [mm] lO^2)/(2*DB*lO)) [/mm] - atan(lS4/lU) + [mm] 180)*(lS4^2/lU^2 [/mm] + 1)^(1/2)))/(m3 + m4)
-(m3*(lS3*cos(atan(lFB/lU) - [mm] asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] - acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})) [/mm] - [mm] acos((DB^2 [/mm] - [mm] h^2 [/mm] + 2*cos(phi1r)*h*lK - [mm] lK^2 [/mm] + [mm] lO^2)/(2*DB*lO)) [/mm] + 180) - h + [mm] lO*cos(asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] + acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})))) [/mm] + [mm] m4*(lO*cos(asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] + acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}))) [/mm] - h + lU*cos(atan(lFB/lU) - [mm] asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] - acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})) [/mm] - [mm] acos((DB^2 [/mm] - [mm] h^2 [/mm] + 2*cos(phi1r)*h*lK - [mm] lK^2 [/mm] + [mm] lO^2)/(2*DB*lO)) [/mm] - atan(lS4/lU) + [mm] 180)*(lS4^2/lU^2 [/mm] + 1)^(1/2)))/(m3 + m4)
atan(lFB/lU) - [mm] asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] - acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})) [/mm] - atan((lS4*m4)/(lS3*m3 + lU*m4)) - [mm] acos((DB^2 [/mm] - [mm] h^2 [/mm] + 2*cos(phi1r)*h*lK - [mm] lK^2 [/mm] + [mm] lO^2)/(2*DB*lO)) [/mm] + 180
[mm] lS2*sin(asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] + acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})))
[/mm]
h - [mm] lS2*cos(asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] + acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2})))
[/mm]
[mm] asin((lK*sin(phi1r))/(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}) [/mm] + acos((- [mm] DB^2 [/mm] + [mm] h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2 [/mm] + [mm] lO^2)/(2*lO*(h^2 [/mm] - 2*cos(phi1r)*h*lK + [mm] lK^2)^{1/2}))
[/mm]
Wie man sieht handelt es sich um einen recht unhandlichen Zeitgenossen... ;)
Wie schon anfangs erwähnt möchte ich jetzt nachdem der Vektor berechnet wurde Werte für h,lK,phi1r usw. eingeben und mir dann das Ergebniss als Wert ausgeben lassen.
Ich bedanke mich im Vorraus für eure Unterstützung.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt....
|
|
|
|
Hallo,
schau dir in der MATLAB-Dokumentation den Befehl "subs" an. Ich
denke damit wird es gehen.
Gruß
Spunk
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:18 Di 13.03.2012 | Autor: | ExxE7 |
Danke, es hat funktioniert!
Aber würde auch die Möglichkeit bestehen die Werte die ich den Variablen zuweisen will aus einem andern m-file einzulesen?
Das würde das m-file, das die Berechnungen enthält übersichtlicher machen, denn es hat jetzt schon ca.200 Zeilen....
|
|
|
|
|
Das müsste funktionieren, indem du dir eine Funktion (oder mehrere) (MATLAB-Documentation: function) programmierst, die dir die benötigten Werte berechnet. In deinem aktuellen m-file kannst du die Funktion dann einfach aufrufen.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:28 Fr 16.03.2012 | Autor: | ExxE7 |
Danke!
Mit dem Befehl "function" funktioniert es einwandfrei!
An alle die es zukünftig auch benötigen:
Mit "function" kann man aus seinem "Haupt" bzw. dem Eingabe m-File ein anderes m-File aufrufen das die benötigten Berechnungen enthält und diesem gleichzeitig die Werte aus dem "Eingabe-File" zuweisen. Das Ergebnis wird dann in das "Eingabe-File" zurückgegeben.
Das Beispiel in der MATLAB Hilfe ist hierfür recht übersichtlich, einfach in der nach "function" suchen...
Wünsche gutes Gelingen! :)
|
|
|
|