# How to integrate this function numerically?

1 view (last 30 days)
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).
Thank you,
Walter Roberson on 14 Dec 2019
Is e the base of the natural logarithms? And is it acting as a constant multiplier or is e being raised to the part after it?
Mohamed Nedal on 14 Dec 2019
Yes that's right, it's the base of the natural logarithm and it's being raised to the part after it.

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);
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
Mohamed Nedal on 15 Dec 2019
Thank you so much

### Categories

Find more on Matrix Indexing in Help Center and File Exchange

R2017b

### Community Treasure Hunt

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

Start Hunting!