How can I calculate trapz value based on an event counter and then plot it?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hey there,
the following lines of code should implement a calculation of an integral for certain events in the data.
The very first colum is the time, the second the corresponding value and the third column the event counter.
The values are saved in the integ_mtrx. It worked with cumtrapz, but i am having my problems with the trapz function.
Here the events 0 should be calculated. Events with 0 in the second colum shouldn't be calculated ( like event 1,2,3,4,..)
for every event the integral should be calculated:
for i= 0:(vzwcounter)
clear temp;
temp = Integ_MTRX(Integ_MTRX(:,3)==i,:);
B(i,1)= trapz(temp(:,1),temp(:,2));
end
4 commentaires
Jan
le 14 Sep 2022
I'm lost. Should I assume that the first image contains the contents of Integ_MTRX? What is the value of vzwcounter? What is the contents of the second image and why is this an integral?
Which are the "counter variables in the 1st image"? What do you expect trapz(temp(:,1),temp(:,2)) to reply, if temp is a [1x2] vector?
Can you post some code which runs by copy&paste?
Réponse acceptée
Jan
le 15 Sep 2022
As far as I understand your code was almost working. I added an if condition to skip scalar data and shifted the index for the output B by 1 because 0 is no valid index in Matlab:
B = nan(1, vzwcounter + 1);
for k = 0:vzwcounter
temp = Integ_MTRX(Integ_MTRX(:, 3) == k, :);
if size(temp, 1) > 1
B(k + 1) = trapz(temp(:, 1), temp(:, 2), 1);
end
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Numerical Integration and Differentiation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!