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

Kraft/Weg-Messwerte Integrieren Anfänger!

 

Eisenbieger
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 08.01.14
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 08.01.2014, 11:49     Titel: Kraft/Weg-Messwerte Integrieren Anfänger!
  Antworten mit Zitat      
Guten Tag zusammen!

Bin in Matlab noch ein ziemlicher Anfänger und habe ein Problem, welches ich trotz der Suchfunktion/Hilfe nicht lösen konnte. Für Profis ist es wohl ein leichtes...

Meine Aufgabe ist es die Schnittenergie zu berechnen. Dazu muss ich die Kraft über den Weg integrieren. Beide Werte werden in einer for Schleife aufgezeichnet. Soweit funktioniert auch alles! Allerdings hapert es bei der Integration. [/code]Bei meinen Recherchen bin ich auf die Funktion trapz(X,Y) gestoßen. Allerdings komme ich mit der korrekten Anwendung nicht zurecht.

Code:
% Mein Programmcode (Ausschnitt) sieht folgendermaßen aus:


Zeit = linspace(0,Zeit,Trigger);

set (ai0,'samplerate',SRate);
set (ai0,'samplespertrigger', Trigger);


start (ai0);

data = getdata(ai0,Trigger);

for i = 1 : Trigger
    Messung(i,1)=(data((i),1));
    Kraft(i) = (Kalibrierfaktor * (Messung(i,1))*-1);

    Messung(i,2)=(data((i),2));
    Weg(i) = (((Messung(i,2)/298)*10^-3)- 4)* -(50/16)*-1;
    % allgemeine Berechnungsformel muss noch um R = U/I --> I = U/R
    % erweitert werden, verbaut ist ein 298 Ohm Widerstand
   
X = 0:Weg(i)/100:Weg(i);
Y = Kraft(i);
Energie(i) = trapz(X,Y);

end



Die Fehlermeldung sieht folgendermaßen aus:

Code:

??? Error using ==> permute
ORDER contains an invalid permutation index

Error in ==> trapz at 44
  y = permute(y,perm);

Error in ==> Schnittversuch_BA at 56
Energie(i) = trapz(X,Y);
 


Wäre nett, wenn mir jemand die korrekte Anwendung mitteilen könnte.

Mit freundlichen Grüßen,
Eisenbieger
Private Nachricht senden Benutzer-Profile anzeigen


Headbucket
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 03.12.13
Wohnort: Dresden
Version: R2007B
     Beitrag Verfasst am: 08.01.2014, 14:48     Titel:
  Antworten mit Zitat      
Hallo,

ich befürchte, dass du dir da nochmal deinen Berechnungs-Algorithmus anschauen musst.
Du bildest am Ende das Integral aus X und Y. Dabei ist X ein Vektor mit Weg(i)+1 Werten. In Y dagegen steht nur ein einzelner (Fließkomma-)Wert. Genau das verursacht deinen Fehler.

Es macht ja auch keinen Sinn ein Integral zu berechnen, wenn der Y-Wert konstant ist, da die Berechnung in diesem Fall trivial ist.

Sollte sich die Kraft wirklich nicht ändern und die ganze Zeit konstant sein so sollte das Programm so lauffähig werden:

Code:
X = 0:Weg(i)/100:Weg(i);
Y = Kraft(i);
Y = Y * ones(length(X),1);
Energie(i) = trapz(X,Y);


Ergibt aber wie gesagt nicht so wirklich Sinn.

Was immer sehr hilfreich bei solchen Problemen ist: Mal ein paar Breakpoints setzen und dann mit dem Debugger schauen, was für Werte in den jeweiligen Variablen steht.

Falls du mit dem Ergebnis nicht zufrieden bist, musst du wohl noch etwas weiter ausholen und erklären, worum es genau geht.

Grüße
Headbucket
Private Nachricht senden Benutzer-Profile anzeigen
 
Eisenbieger
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 08.01.14
Wohnort: Düsseldorf
Version: ---
     Beitrag Verfasst am: 11.01.2014, 13:29     Titel:
  Antworten mit Zitat      
Erst einmal vielen Dank für deine Hilfe!

Um es nochmal genauer zu sagen, es ändern sich sowohl meine X als auch die Y Werte. Sonst würde es wie du schon richtig gesagt hast, auch keinen Sinn ergeben.
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.