Intergrate a array over Tb?

2 次查看(过去 30 天)
Willim
Willim 2019-4-3
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 个评论
Willim
Willim 2019-4-5
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 2019-4-5
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 ?

请先登录,再进行评论。

回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by