Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Can someone help me with my code? Topic: integration

조회 수: 1 (최근 30일)
LB
LB 2016년 10월 10일
마감: MATLAB Answer Bot 2021년 8월 20일
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 :)
  댓글 수: 2
KSSV
KSSV 2016년 10월 10일
YOu want to put that into loop?
LB
LB 2016년 10월 10일
Yes! And I don't know exactly how to write it to get the correct values.

답변 (2개)

Andrei Bobrov
Andrei Bobrov 2016년 10월 10일
편집: Andrei Bobrov 2016년 10월 10일
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'))];

Luca  Fenzi
Luca Fenzi 2016년 10월 10일
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

Community Treasure Hunt

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

Start Hunting!

Translated by