# How to integrate this function numerically?

1 view (last 30 days)

Show older comments

Mohamed Nedal
on 14 Dec 2019

Commented: Mohamed Nedal
on 15 Dec 2019

Hello everyone,

I'm stuck at this equation and I want to integrate it numerically

where

and r = 695510, a = -0.0021, b = 1.34, Wo = 438.1

I need to integrate the first equation numerically to get V as a function of R

Numerical integration from R = 10, where it is assumed V = U, to 215 should give V(R).

I appreciate your help.

Thank you,

##### 2 Comments

Walter Roberson
on 14 Dec 2019

### Accepted Answer

Chuguang Pan
on 14 Dec 2019

You can use Euler formula. V(n+1)=V(n)+h*f(R,V(n)), which f(R,V) is the right side of differential equation.

But you need to know the initial value V(10).

r=695510;a=-0.0021;b=1.34;Wo=438.1;

h=0.1;%Integral step size, you can change this value

N=100;%It means that you want to integral from 10 to 10+h*N

V=zeros(1,N+1);%Initialization V array

V(1)=?;%Need to know the initial value V(10)

for n=1:N

R=10+(n-1)*h;

W=Wo*sqrt(1-exp(1)*(2.8-R)/8.1);

V(n+1)=V(n)+h*r*a*R^(-b)*(1-W/V(n));

end

X=10+(0:N)*h;

Y=V;

plot(X,Y);

##### 12 Comments

Chuguang Pan
on 15 Dec 2019

result_V=zeros(1,length(Vtest));% save last V for every Vtest

result_t=zeros(1,length(Vtest));% save last t for every Vtest

for i=1:length(Vtest) %for every Vtest

V=zeros(1,N+1);

V(1)=Vtest(i);

%do the computing

result_V=V(end); %using end to index last value of array V

result_t=t(end); %using end to index last value of array t

end

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!