Filter löschen
Filter löschen

Intergrate a array over Tb?

2 Ansichten (letzte 30 Tage)
Willim
Willim am 3 Apr. 2019
Kommentiert: Walter Roberson am 5 Apr. 2019
If I have x=[0.2 1 0.485 0.13 0.11] , I have Tb=10ms and the fs=16*fb; %Sampling frequency
Ts=1/fs; I would like to integrate the x over Tb. How can I do it without using the integration functions. Using the summing algorithm.
  3 Kommentare
Willim
Willim am 5 Apr. 2019
integrationBase = 0:1/fs:Tb-1/fs;
for i = 0:(length(v)/(Tb*fs))-1,
y1(i+1)=trapz(integrationBase,v(int32(i*Tb*fs+1):int32((i+1)*Tb*fs)));
end
The summing algoithm I mean "summation of the discrate values on the array v"
Walter Roberson
Walter Roberson am 5 Apr. 2019
So you are doing trapz() of the v array at the moment, but you feel it would be more accurate to do plain summation? If so why not just reshape v to have Tb*fs rows and sum along the first dimension ?
What reason do you have to expect plain summation to better represent the area than trapz ?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

madhan ravi
madhan ravi am 3 Apr. 2019
Perhaps you want to use cumtrapz() or trapz().
  1 Kommentar
Willim
Willim am 4 Apr. 2019
I have using it but It give me a wrong answer , and I believe the summing formula is going to be easirer.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by