www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Lösen ein DGL ohne Dämpfung
Lösen ein DGL ohne Dämpfung < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Lösen ein DGL ohne Dämpfung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:19 Fr 03.02.2006
Autor: andi1706

Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt: []http://newsreader.mathworks.com/WebX?14@671.6Kc4bhE1msb.0@.ef27999

Hallo, ich möchte eine Differentialgleichung 2. Ordnung ohne Dämpfung in Matlab lösen,
d.h. $m [mm] \cdot \ddot{x} [/mm] + c [mm] \cdot [/mm] x = 0$, wobei m die Masse und c die Steifigkeit ist. Die Steifigkeit c ist jedoch nicht konstant, sondern wird in jedem Integrationsschritt aus einer Wertetabelle interpoliert.
Ich habe zunächst die DGL auf ein System 1. Ordnung reduziert und dann folgenden Aufruf in Matlab durchgeführt:
[t,zeta] = [mm] ode23s(@einmassenschwinger,tspan,zeta_0); [/mm]
function dzetadt = einmassenschwinger(t,zeta)
global [mm] rb_1 [/mm] drehzahl pt [mm] T_1 [/mm] c m;
et = [mm] mod(rb_1*t*drehzahl*2.*pi/pt,1.); [/mm]
[mm] c_z [/mm] = interp1(c(:,1),c(:,2),et,'linear');
dzetadt = [ zeta(2);
  [mm] -(c_z/m)*zeta(1)]; [/mm]

Wie gesagt, hier wird die Steifigkeit [mm] c_z [/mm] aus der Wertematrix c linear interpoliert. Da die Steifigkeiten im Größenbereich [mm] 10^8 [/mm] liegen handelt es sich doch hier um ein steifes Problem. Also brauch ich auch nen steifen Integrator. Das Ergebnis sieht aber so aus, dass die Amplitude stetig abnimmt, bis gar nichts mehr schwingt. Eigentlich hätte ich bei einem System ohne Dämpfung eine konstante Amplitude (zumindest nach dem Einschwingvorgang) erwartet. Was ist hier schief gelaufen? Liegt es am Integrator? Habe auch schon andere Integratoren versucht, aber nicht das Ergebnis mit konst. Amplitude bekommen. Oder liegt es an den nicht konstanten Steifigkeiten?
Bin für jeden Hinweis dankbar. Welche Lösungsmethode ist denn geeignet für dieses Problem?

Andi



        
Bezug
Lösen ein DGL ohne Dämpfung: kein harmonischer Oszillator?
Status: (Antwort) fertig Status 
Datum: 10:25 So 05.02.2006
Autor: Hugo_Sanchez-Vicario

Hallo Andi,

es ist möglich, dass das Abnehmen der Amlpitude ein numerisches Problem ist.

Stell dir vor du möchtest die Bewegung eines Planeten auf seiner Bahn um die Sonne numerisch behandeln, dann addierst du jedesmal ein kleines Wegstück [mm] $v\cdot [/mm] dt$ zu seiner momentanen Position. Weil $v$ aber tangential zur Bahn ist, muss sich der Planet in deiner Rechnung immer weiter und weiter von der Sonne entfernen. Hier liegt eine systematische Schwäche des Verfahrens vor.

Ich denke, dass du ein gleichwertiges Problem hast, habe aber keine Idee, wie du es dann umgehen könntest.

Hugo

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]