Info
This question is closed. Reopen it to edit or answer.
Can someone help me with my code? Topic: integration
1 view (last 30 days)
Show older comments
Hi everyone!
I am going to calculate the integral of a function V(j). I have already found the values for V and j. I am going to use the following formulas to calculate the integral:
S(j) = S(j-1) + 1/2V(j-1)+1/2V(j) for j>=1
S(0) = 0 for j= 0
How can I write this in matlab? Hope someone can help me out here :)
Answers (2)
Andrei Bobrov
on 10 Oct 2016
Edited: Andrei Bobrov
on 10 Oct 2016
out = trapz(V);
or
out = sum(V) - sum(V([1,end]))/2;
or
S = cumtrapz(V);
or
S = [0,cumsum(sum([V(1:end-1);V(2:end)])/2)];
or
S = [0;cumsum(filter2([.5;.5],V(:),'valid'))];
0 Comments
Luca Fenzi
on 10 Oct 2016
Dear LeneB, You should truncate the sum (S(j) = S(j-1) + 1/2V(j-1)+1/2V(j) for j>=1) up to N: in this way knowing V(j) for all j you can evaluate S with the following code:
N=10000; %%Truncation order of the sum
S=zeros(1,N); % Initialisation of the vector S
% S(1)=0 corresponds to S(0)=0 for j=0
% Define V(j) for j=1:N.
for i=2:N
S(i) = S(i-1) + 1/(2*V(i-1))+1/(2*V(i))
end
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!