Verfasst am: 29.05.2019, 13:36
Titel: Walze rollt über Ebene
Hallo zusammen,
ich bin ein richtiger Neuling was MatLab angeht und muss für eine Abschlussarbeit eine kleine Simulation programmieren. Nachdem ich mich durch ettliche Foren geklickt habe, stehe ich leider immernoch vor vielen Fragen
Praktisch geht es um eine Walze, die über eine Ebene rollt. Ich muss dabei die Interaktion zwischen Walze und Ebene untersuchen.
Für mein theoretisches Modell habe ich folgendes vorgesehen:
Ich habe die Walze als Punktwolke gescattet, welche einen Zylinder darstellt. Dieser Zylinder befindet sich auf einer geplotteten Ebene.
Konkret sieht mein aktueller Code wie folgt aus:
Um den Ablauf des Rollens des Zylinders auf der Ebene zu vereinfachen, möchte ich diese zylindrische Punktwolke entlang der z-Achse "hüpfen" lassen, um die zyklische Belastung darzustellen.
Dabei stoße ich jedoch an meine sehr überschaubaren Grenzen.
Mein bisheriger Ansatz sahen wie folgt aus:
Die Schwingung sollte einer Sinus-Funktion entsprechen, deswegen wollte ich den z-Wert mit einem entsprechendem Sinus-Wert ergänzen. Das ganze wollte ich dann in eine Schleife stecken, damit der Zylinder in gegebenem Zeit-/ und Schrittabstand für die jeweilige Höhe neu berechnet wird.
Nachdem ich mir bei diesem Versuch das Skript häufiger komplett zerschossen habe, wurden mir dann nur noch einzelne Punkte ausgegeben.
Ich hoffe ich konnte mein Problem verständlich darstellen, und noch mehr hoffe ich, dass vielleicht jemand einen Tipp oder Ansatz für das Problem hat.
Sollte dieses Problem behoben sein, freue ich mich jetzt schon darauf einen Weg zu finden, die Kontaktpunkte als Feder-/Dämpfer-System darzustellen
Ich bedanke mich schonmal im Voraus für mögliche Ideen
möchte ich diese zylindrische Punktwolke entlang der z-Achse "hüpfen" lassen, um die zyklische Belastung darzustellen.
Also eine Animation für verschiedene t, oder was?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Mit dem Hüpfen meine ich nicht verschiedene t-Werte, sondern z-Werte.
Ich habe z ja in dem Code mit +1 beaufschlagt, damit die Walze auf der Ebene steht. Meine Idee war es jetzt, den z-Wert mit variablen Werten zu belegen, dass die Walze ihre Position verändert.
Konkret war mein Gedanke, dass ich beispielsweise ein a-Wert mit
Dann wollte ich die scatter3-Funktion in eine Art Endlosschleife schreiben, mit einer kleinen Pause.
Im Endeffekt soll beim Starten der Animation die Walze wie aktuell dargestellt werden, dann nach beispielsweise
pause(0.5)
soll die Walze um den Sinus von a in der vorgegebenen Schrittweite neu berechnet werden und dann ein Stück weiter oben sein, und dann die Bewegung immer weiter entlang der Sinusfunktion.
Wenn das so irgenwie möglich ist liegt mein Problem darin, wie ich das in eine Endlosschleife verpacke..
r = 1;
a = -3:0.1:3;
b = a;
[ai, bi] = meshgrid(a,b);
ci=0*ones(length(ai), length(bi));
mesh(ai, bi, ci) hold on
a = 0;
while1 > 0
t = 0:pi/16:2*pi;
y = 0:0.1:1;
[ti, yi] = meshgrid(t, y);
x = r*cos(ti);
z = r*sin(ti)+1+sin(a);
if a == 0
sc = scatter3(x(:),yi(:),z(:),'o','blue');
else
sc.ZData = z(:);
end
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
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.