MATLAB Answers

0

Numerical integration with many parameters.

Asked by JACINTA ONWUKA on 4 Jun 2019
Latest activity Edited by Torsten
on 4 Jun 2019
I will like to have the values of n2 depending on 10 values of Mycp. please i need help with this my code below.
L=1;
T=100;
r=0.03;
I1=0.5;
p=0.005;
epsilon=0.5;
beta=0.1;
rho=0.5;
Mycp=0:1:10;
delta=1-Mycp/100
tau=(1/(beta*(L+delta*p)))*log((L*(I1+delta*p))/(delta*p*(L-I1)));
t05 =(1/(beta*(L+delta*p)))*log((L*(0.05*L+delta*p))/(delta*p*(L-0.05*L)));
I2= (L*delta*p*(exp (beta*(L+delta*p)*t)-1)) ./ (L + delta*p* exp(beta*(L+delta*p)*t));
fun2=@(t,rho,I2,r)rho*I2*exp(-r*t);
n2= integral(@(t)fun2(t,rho,I2,r),t05,tau, 'ArrayValued',1)

  0 Comments

Sign in to comment.

2 Answers

Answer by Torsten
on 4 Jun 2019
Edited by Torsten
on 4 Jun 2019
 Accepted Answer

function main
L = 1;
T = 100;
r = 0.03;
I1 = 0.5;
p = 0.005;
epsilon = 0.5;
beta = 0.1;
rho = 0.5;
Mycp = 0:1:10;
n2 = zeros(numel(Mycp),1);
for i = 1:numel(Mycp)
delta = 1-Mycp(i)/100;
tau = (1/(beta*(L+delta*p)))*log((L*(I1+delta*p))/(delta*p*(L-I1)));
t05 =(1/(beta*(L+delta*p)))*log((L*(0.05*L+delta*p))/(delta*p*(L-0.05*L)));
I2= @(t)(L*delta*p*(exp (beta*(L+delta*p)*t)-1)) ./ (L + delta*p* exp(beta*(L+delta*p)*t));
fun2 = @(t)rho*I2(t).*exp(-r*t);
n2(i) = integral(fun2,t05,tau);
end
plot(Mycp,n2)
end

  0 Comments

Sign in to comment.


Answer by darova
on 4 Jun 2019

You forgot about element-wise operator
delta=1-Mycp./100;
Look also for VECTORIZE

  0 Comments

Sign in to comment.