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

Wertebereich ausrechnen/Zählschleife

 

Liverpool87
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2012, 18:17     Titel: Wertebereich ausrechnen/Zählschleife
  Antworten mit Zitat      
Hallo, sagt ein absoluter Neuling.

Aufgabenstellung:
Es geht um die Berechnung von Bolzenkräften an einem Radlader. Eingangsgröße sind die Verfahrwege ( in mm ) der Kipp- und Hubzlinderhydraulik, dadurch ändert sich die Kinematik bzw. die Winkel bzw. die Hebelarme zueinander. Ausgangsgröße ist die Bolzenkraft am jeweiligen Gelenk in kN

Ist-Zustand:
Eingabe eines Wertes für die aktuelle Position der jeweiligen Hydraulikzylinder ( d.h. statische Betrachtung ). Anschließend erfolgt die Berechnung der Bolzenkräfte.

Wunsch/Problem-Zustand:
Kipp- und Hubzylinder haben einen Verfahrbereich, z.B. Hubzylinder von 830mm bis 1500mm, dieser soll vollständig berechnet werden. Das heisst bei 830mm, bei 831mm bis 1500mm sollen die jeweiligen Bolzenkräfte ausgegeben werden. Also im Prinzip eine Zählschleife

Beim Ist-Zustand habe ich für Eingabe der Zylinderhydraulik eine .m erstellt:
Code:

%Verfahrposition
Hubzylinder=830
Kippzylinder=600


und für die Ausgabe der Bolzenkräfte ein .m-Datei erstellt:
Code:

%Bolzenkraft am jeweiligen Gelenk
...
J_res=(F_h*abs(y_s-y_a)+F_v*abs(x_s-x_a-100))/JA*tau
...
J_x=J_res*cos(alpha)
J_y=J_res*sin(alpha)
...
J_Bolzen=J_res/2
 


Aus der Eingabe der Verfahrpositionen der Hydraulikzylinder berechnen andere .m-Datein die Variablen für die Koordinaten/Winkel/Hebelarm-Beziehungen. Aus diesen Variablen wird dann die Bolzenkraft berechnet.

Prinzipiell kann ich das doch über eine Zählschleife lösen, nur wie schreibe ich die Ausgabe.
Code:

For Hubzylinder=830:1:1500
?????
end
 


Danke
Private Nachricht senden Benutzer-Profile anzeigen


Sigggi
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2012, 21:47     Titel:
  Antworten mit Zitat      
Hallo,

ich bin nicht sicher, ob ich Deine Frage richtig verstanden habe.

Du könntest eine Variable mit den Bolzenkräften errechnen:

Code:

for k = 830:1500
F(k-829) = ...
end
 

oder auch
Code:

x = 830:1500 % der Verfahrweg
F = x * ...;
plot(x,F,'xlabel','Weg','ylabel','Kraft')
 

Beantwortet das Deine Frage?

Gruß, Sigggi.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Liverpool87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2012, 22:22     Titel:
  Antworten mit Zitat      
Danke erstmal.

Ein Problem besteht dann aber glaube ich immernoch. Formelmäßig ist die Bolzenkraft nicht eine direkte Funktion des Zylinderhubs. Sondern der eingetragene Zylinderhub muss erst in Koordinaten- und Winkelbeziehung umgerechnet werden. Dafür habe ich extra .m-Files angelegt. Erst nach deren Berechnung werden die Variablen an Bolzenkraefte.m weitergegeben und dementsprechend wird die Bolzenkraft berechnet.

Daher ist mein Problem wohl derzeit die Ausgabe-Bedingung/Ausgabe-Schreiben in der For-Schleife. Eigentlich müsste er nach jedem fortlaufenden Schritt die Berechnung.m neu-ausführen und die berechneten Bolzenkräfte extra ablegen damit ich alle Bolzenwerte im Überblick habe.


Code:
for k = 830:1500
% für jeden Schritt Berechnung.m aufrufen
% Ergebnisse der Bolzenkräfte.m irgendwie/wo ablegen
end


Hier mein Prozessaufbau. Tut mir leid das ich alles so kompliziert habe. Wie gesagt Neuling Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Sigggi
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2012, 19:40     Titel:
  Antworten mit Zitat      
Hallo,

ich bin nicht sicher, ob ich Dein Problem richtig verstanden habe.

Du könntest Deine Berechnungen durch Funktionen ausführen lassen, die Du Dir selbst schreibst. Beispiel:
Code:

function[summe, differenz] = myfunction(a,b)
summe = a+b;
differenz = abs(a-b);
 

Abgespeichert unter dem Namen "myfunction.m" kannst Du diese Funktion durch
Code:

[a1, a2] = myfunction(12,14)
 

aufrufen. Dazu musst Du entweder in den Ordner wechseln, in welchem sich die Datei befindet oder diesen Ordner mit
Code:

addpath('/Pfad/Zu/myfunction')
 

angeben.

Die Funktion hat ihre "eigene" Workspace, d.h. alle Variablen, die Du in der Funktion benutzt, bleiben für Dich unsichtbar; in der Workspace siehst Du nur die Ausgabevariablen a1 und a2. Die Funktion selbst kann wieder eine Funktion aufrufen. So könntest Du Dein verschachteltes Problem rechnen lassen.

830-1200 mit Schrittweite 1 ergibt gerade mal 370 Werte. Das muss nicht extra zwischengespeichert werden, sondern kann in einer Variable in der Workspace liegen.

Hilft Dir das weiter?

Gruß, Siggi.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.