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

Werte aus Tabelle integrieren

 

Praesnceal
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 03.12.08
Wohnort: Bielefeld
Version: ---
     Beitrag Verfasst am: 04.12.2008, 18:42     Titel: Werte aus Tabelle integrieren
  Antworten mit Zitat      
Hallo zusammen.

Ich habe ne Matrix (data) mit n Zeilen und 2 Spalten. In der ersten Spalte befinden sich gemessene Beschleunigungswerte und in der zweiten Spalte die dazugehörigen Zeitwerte.
Gibt es eine Funktion in Matlab wo ich über 2faches Integrieren auf den zurückgelegten Weg komme?

Alternativ habe ich folgende Schleife überlegt.

for i=1:n,
data(i,3)=data(i,1)*(data(i,2)-data(i-1,2))+data(i,3)
end

sprich, in Spalte drei erhalte ich die dazugehörigen Geschwindigkeitswerte und wenn ich das ganze noch einmal mache dürfte ich doch auf den zurückgelegten Weg kommen.

Wäre super wenn mir da einer auf die Sprünge helfen könnte.

lg rené
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 04.12.2008, 18:58     Titel:
  Antworten mit Zitat      
http://www.mathworks.com/access/hel.....chdoc/math/f2-930519.html
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2008, 20:18     Titel:
  Antworten mit Zitat      
Sucht René nicht eher nach
Code:
?
 
Han
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 28.11.08
Wohnort: Berlin
Version: R2007b
     Beitrag Verfasst am: 04.12.2008, 22:33     Titel:
  Antworten mit Zitat      
Also wenn man ne beliebige Funktion integrieren möchte würde ich immer
Code:
verwenden. In diesem Fall hast du aber die Funktion in Werteform mit zugehörigen Zeitwerten, das heißt
Code:
bietet sich hier perfekt an. Für quad müsste man nämlich die Zwischenwerte interpolieren.

Also für trapz wäre die Syntax:
Code:
trapz(data(:,1),data(:,2))


Jetzt gibt es aber noch ein Problem: Da würde ein Skalar rauskommen. Und den könntest du nicht wieder integrieren. Das heißt, du musst jetzt überlegen, wie du einen Vektor mit Geschwindigkeitswerten bekommst.

mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2008, 23:29     Titel:
  Antworten mit Zitat      
Dann nimm halt
Code:
.
 
Praesnceal
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 03.12.08
Wohnort: Bielefeld
Version: ---
     Beitrag Verfasst am: 06.12.2008, 14:23     Titel:
  Antworten mit Zitat      
Ja das schaut schon ganz nach dem aus was ich gesucht habe. Das Problem mit dem Skalar bei der trapz funktion leuchtet mir aber noch nicht ein. Kannst du das bitte noch ein wenig erläutern Han.
Hier ist mal ein kleiner Auszug aus der Matrix.

Es sind in diesem Fall negative Beschleunigungswerte welche aber weiter unten auch wieder positiv werden. Sie beschreiben eine Schwingung und ich möchte damit auf die Form der Bewegung kommen, sprich in Spalte 5 die Auslenkung erhalten und in Spalte 4 zusätzlich den Geschwindigkeitswert zu jedem Zeitpunkt.


Ich habe mir das dann so gedacht, bekomme aber die Meldung
??? Subscripted assignment dimension mismatch.

Error in ==> nixwichtiges at 3
data(i,4)=cumtrapz(data(i:i+1,3),data(i:i+1,1))+data(i,4)

Code:
n=size(data,1);
for i=1:n,
     data(i,4)=cumtrapz(data(i:i+1,3),data(i:i+1,1))+data(i,4)
end


Vielen Dank schon mal für die Bemühungen.

lg rené und einen frohen Nikolaus ;D
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2008, 21:45     Titel:
  Antworten mit Zitat      
Mir fällt gerade kein besseres Beispiel ein, als -sin(x) 2 mal zu integrieren:
Code:
x=0:0.1:5;
y=-sin(x);
M=[x' y'];
M(:,3)=cumtrapz(M(:,1),M(:,2))+1; % Anfangsbedingungen!
M(:,4)=cumtrapz(M(:,1),M(:,3));
plot(M(:,1),M(:,2),M(:,1),M(:,3),M(:,1),M(:,4));
legend('f2','f1','f');

Der Unterschied zu trapz ist, das cumtrapz auch den Wert zu jedem Zeitpunkt ausgibt, trapz liefert nur das Endergebnis. Das macht nichts, wenn Du nur einmal integrieren willst.
Du kannst auch trotzdem trapz nehmen, musst aber in einer Schleife dann jeden Zeitpunkt ausrechnen.
HTH!
 
Praesnceal
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 03.12.08
Wohnort: Bielefeld
Version: ---
     Beitrag Verfasst am: 07.12.2008, 20:13     Titel:
  Antworten mit Zitat      
Danke dir, du hast mir sehr geholfen. Das Beispiel ist auch gut gewählt und sehr anschaulich. Wünsch dir noch n schönes Restwochenende.

lg rené
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2009, 21:40     Titel:
  Antworten mit Zitat      
Hallo,

mich wuerde interessieren wie ich mit quad das einer Tabelle integrieren kann.

Gast
 
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 - 2024 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.