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.
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);
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);
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.
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.
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.