Energy calculation via current signal integration with limits

8 Ansichten (letzte 30 Tage)
I want to calculate Energy during applied voltage and recieved current pulse signal at given time
data=load('data.txt'); % Pulse data
T=data(:,1); % Time vector
V=data(:,2); % Voltage in volts
I=data(:,3); %Current in Amp
iVs= find(T>=0,1,'first'); % Voltage/Pulse Signal start index
Vmx=V(iVs); % Value of voltage at signal/pulse start time
iVe=find(T>0 & V<=(Vmx/4),1,'last'); % End of signal/voltage index
w=round((T(iVe)-T(iVs))*1E6); % Pulse width or duration in micro sec
P=I.*V; % Power pulse
% Now we have time, Voltage, Current, start and end time of pulse/signal
% What is enegry delivered in pulse duration (Zero to 43 micro-sec)
% Formula =
Somehow I struglling to apply intergration with time limits ?

Akzeptierte Antwort

Star Strider
Star Strider am 2 Jul. 2020
Add this after your posted code:
idxrng = iVs:iVe;
IntP = cumtrapz(T(idxrng), P(idxrng));
figure
subplot(3,1,1)
yyaxis left
plot(T, V)
ylabel('V')
yyaxis right
plot(T, I)
ylabel('I')
grid
subplot(3,1,2)
plot(T, P)
ylabel('P')
grid
subplot(3,1,3)
plot(T(idxrng), IntP)
text(T(iVe), IntP(end), sprintf('Total Power = %7.3f \n \\downarrow', IntP(end)), 'HorizontalAlignment','right', 'VerticalAlignment','bottom')
ylabel('$\int{P}dt$', 'Interpreter','latex')
grid
producing:
.Add appropriate units (such a ‘VA’) for power.
  4 Kommentare
Akhtar Rind
Akhtar Rind am 2 Jul. 2020
Fantastic. It worked. Many thanks.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by