Use numerical integration on specific areas of graph

3 次查看(过去 30 天)
Hello
I'm doing some double pulse testing, and I'm trying to post process the results. I can get the rise and fall times of the signal relatively easily from the signal processing add-on, but I am struggling to understand how to calculate the switching losses easily. The graph I end up with for the power loss (voltage*current) is looking like this:
and I would like to integrate the power versus time only in the spots the spikes appear. For example in this region while zooming in :
Right now, I am brushing and exporting data, which I'm sure is inefficient. Does someone know a fast way to achieve these calculations?
Many thanks in advance.
  7 个评论
Walter Roberson
Walter Roberson 2022-8-8
You could take the peak location and search for the first point to the left and right that are <= 0 . But if you have phase on your peaks then it is common for the pulse to go below 0.
If you
outside = find(data <= 0);
before = interp1(outside, outside, PEAK_LOCATIONS, 'prev');
after = interp1(outside, outside, PEAK_LOCATIONS, 'next');
then you can code the searching in a small number of lines.
Greg
Greg 2022-8-9
Thank you @Walter Roberson, This has now been fixed according to your suggestions.

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by