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

Pendelschwingung mit Reibung

 

da-joka

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.12.2011, 14:02     Titel: Pendelschwingung mit Reibung
  Antworten mit Zitat      
Hallo zusammen,

ich muss nachfolgende Aufgabe mit Matlab lösen und weiß nicht genau wie ich anfangen muss.
Kann mir jemand helfen, d.h. einen Ansatz geben bzw. mir ein Stück vom Code posten?
Ich kenne mich nicht so gut damit aus.

Die Aufgabe soll mir ode45 gelöst werden. Ich weiß, dass ich eine DGL 2. Ordnung auf eine DGL 1. Ordnung herunterbrechen muss, damit ode45 funktioniert.

Es wäre super, wenn mir dabei jemand helfen könnte!!

Vielen Dank im Voraus....

da-joka

aufgabe-matlab.png
 Beschreibung:
Aufgabenstellung

Download
 Dateiname:  aufgabe-matlab.png
 Dateigröße:  68.23 KB
 Heruntergeladen:  943 mal


dany2k3k
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 66
Anmeldedatum: 02.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.12.2011, 14:42     Titel:
  Antworten mit Zitat      
servas,

ist ziemlich simpel eigentlich.

zuerst mal die diff-gleichung auf ein system erster ordnung bringen


x1 ist einfach x, x2 = x-punkt und x2' is daher xpunktpunkt

x1' = x2
x2' = -c/m * x1-r*g*mü / einfach 2. gleichung auf x'' umformen und durch m dividieren

wennst das hast, musst du nur noch eine funktion schreiben, welche die ableitung als rückgabewerte liefert.

also

ableitungen = function(....)

ableitungen(1) = erste gleichung von oben
ableitungen(2) = zweite gleichung von oben


diese funktion musst du einfach dann ODE45 als parameter übergeben (glaube als handle irgendwie,also mit einem @ vorgestellt).. die genaue syntax findest du mit beispielen in der hilfe und sollte kein problem mehr sein.. habe hier in der arbeit im moment leider kein matlab installiert Smile

lg
daniel
Private Nachricht senden Benutzer-Profile anzeigen
 
da-joka

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2012, 20:05     Titel: Pendelschwingung mit Reibung
  Antworten mit Zitat      
Hallo Daniel,

danke für deine Antwort.
Ich habe die Schwingung soweit hinbekommen.
Jedoch funktioniert die Fallunterscheidung noch nicht.
Könntest du mir dort noch weiterhelfen?

Wie muss ich diese if, else Bedingung in Matlab einbinden?

Vielen Dank für deine Hilfe.

Gruß da-joka
 
da-joka

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.01.2012, 11:43     Titel: Pendelschwingung mit Reibung
  Antworten mit Zitat      
Ich habe jetzt folgenden Cde:

Code:

function rungekutta()
% Lösen der DGL mittels Runge-Kutta Verfahren1
% k: Federkonstante: hier 300 N/m
% m: schwingende Masse: hier 20 Kilogramm
% s: Anfangsauslenkung: hier 10 Meter
% tm: Zeitdauer: hier 10 Sekunden

global kf;
kf=300/20;
global r1;
r1=-1;
global g;
g=9.81;
global mue;
mue=0.4;

TSPAN=[0,10];       %Integrationsintervall
y0=[10,0];          % Anfangswerte

[x,y]= ode45('DGL',TSPAN,y0);

%Plotte Näherung mit Runge-Kutta Verfahren
%Funktionswert, d.h. 1. Komponente
z=y(:,1);

plot(x,z,'k')
%legend('Runge-Kutta Näherung');
 


Und folgende DGL

Code:

function dy_dx=DGL(x,y)
% DGL für eine Pendel-Schwingung mit Reibung und einer Fallunterscheidung
% anhand der Wegstrecke s

global kf;
global r1;
global g;
global mue;

dy_dx(1,1) = y(2);
dy_dx(2,1) = -kf*y(1)-r1*mue*g;
 


An welcher Stelle muss noch die Fallunterscheidung eingebaut werden?

Danke.

Gruß da-joka
 
da-joka

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.01.2012, 12:39     Titel: Pendelschwingung
  Antworten mit Zitat      
Hallo zusammen,

ich habe die Aufgabe gelöst bekommen.
Vielen Dank für die Hilfe.

Gruß da-joka
 
yukterez
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 19.11.11
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 19.01.2013, 23:41     Titel: Lösung
  Antworten mit Zitat      
wie sieht die Lösung aus ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Traumt@nzer
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 04.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.02.2013, 14:59     Titel:
  Antworten mit Zitat      
Mich würde die Lösung auch interessieren.
Was passiert denn, wenn die Bewegung aufgrund der Reibung zum Stillstand kommt? Rechnet sich das Programm aufgrund der extrem kleinen v-Werte nicht "tot"?

VG Robert
Private Nachricht senden Benutzer-Profile anzeigen
 
Maxi_Rolle
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 21.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.12.2013, 09:32     Titel:
  Antworten mit Zitat      
Hallo zusammen,

Ist zwar schon etwas älter dieses Thema aber es ist ja ein recht häufiges Problem. Ich beschäftige mich selbst gerade mit dem System eines Einmassenschwingers auf Feder-Reibelementen.

Ich erkläre mal kurz wie ich das Problem der Fallunterscheidung gelöst habe und würde gerne eure Meinung dazu hören.

Das Problem ist ja das die Reibkraft immer entgegengesetzt zur Bewegungsrichtung ist. Daher ist eine Fallunterscheidung notwendig:

1. Fall v=0 => FR=0
2. Fall v>0 => FR=-FR
3. Fall v<0 => FR=FR

Mit v als Geschwindigkeit.

Ich habe das Problem über eine Arkustangsfunktion gelöst und damit die Fallunterscheidung umgangen.
F_{R}= F_{N}*ny*\frac{2}{\pi }*arctan(\frac{v}{a})

Bei a=0 erhält man die exakte Nachbildung der Sprungstelle um v=0. Je größer a gewählt wird desto "abgerundeter" wird die Sprungstelle.
Ich bekomme recht gute Ergebnisse wenn ich das a klein genug wähle ohne Probleme bei der Berechnung zu bekommen.

Ich hoffe ich konnte anderen einen Lösungsansatz geben und würde mich über andere Lösungsansätze und Vorschläge freuen.

Bis dann Maxi
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.