MATLAB Answers

Area under the curve with conditions?

조회 수: 16(최근 30일)
I want to do following tasks,
First generate a time series load data between 550-1000 for one day 30 min interval, so is load(48*1) dataset
then set level_1 = 750 and draw a line on the graph,
then find out the area above this level_1 line and area under seprate level (lets say level_2 = 600) line seprately

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 8 Aug 2019
Try this:
t = 1:48; % Time Vector
load = randi(1000, 1, 48); % Create Data
level_1 = 750;
level_2 = 600;
above_level_1 = load >= level_1; % Logical Index Vector
area_1 = trapz(t(above_level_1), load(above_level_1)); % Area Under ‘Level_1’
below_level_2 = load <= level_2; % Logical Index Vector
area_2 = trapz(t(below_level_2), load(below_level_2)); % Area Under ‘Level_2’
figure
plot(t, load)
hold on
plot(xlim, [1 1]*level_1)
plot(xlim, [1 1]*level_2)
hold off
grid

  댓글 수: 8

표시 이전 댓글 수: 5
Star Strider
Star Strider 20 Aug 2019
It is not obvious to me, either. Since your other Question got several views although no replies, it appears that others also could not solve it.
MUKESH KUMAR
MUKESH KUMAR 13 Sep 2019
How can I find the area above for level_1 for each two continuous time stamp like for example in figure(L1 is line of Level_1), find area seprate for each color code simillary for area below level_2. and after that how to find the sum of area for 1,(1+2), (1+2+3),(1+2+3+4),.....and so on strips.......Capture.JPG
Star Strider
Star Strider 13 Sep 2019
Try this:
t = linspace(0, 24, 48); % Time Vector
load = 450*sin(2*pi*t/20)+550; % Create Data
level_1 = 750;
above_level_1 = load >= level_1; % Logical Index Vector
cload = cumtrapz(load(above_level_1)); % Cumulative Integral Of ‘load’
sload = [0 diff(cload)]; % Segmental (30 Min) Integral Of ‘load’
figure
plot(t, load)
hold on
bar(t(above_level_1), sload)
hold off
grid
legend('Load','30-Minute Integral', 'Location','S')
Experiment to get the result you want.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by