Numerical Integration of function with many parameters

Hi, I've been trying to do this code on matlab but keep getting error.
I want to integrate this function fun= @(t,Mycp,L,r)Mycp*L*exp(-r*t) with n= integral(@(t)fun(t,Mycp,L,r),0,100).
The interval t=[0 100]
The parameters are Mycp=[0 10], L=1,r=0.03,
Please help!

 Accepted Answer

Use the 'ArrayValued' (link) name-value pair:
Mycp = [0 10];
L = 1;
r = 0.03;
fun = @(t,Mycp,L,r)Mycp*L*exp(-r*t);
n = integral(@(t)fun(t,Mycp,L,r),0,100, 'ArrayValued',1)
producing:
n =
0 316.737643877379

5 Comments

Thanks!
What if i want to generate diferent values of n depending on Mycp?
for Mycp=0:1:9
disp(Mycp)
L = 1;
r = 0.03;
fun = @(t,Mycp,L,r) Mycp*L*exp(-r*t);
n = integral(@(t)fun(t,Mycp,L,r),0,100, 'ArrayValued',1)
end
But that's exactly what Star Strider's code does ...
You only have to set
Mycp = 0:1:9
instead of
Mycp = [0 10]
@Torsten —
Thank you! (I was away for a few minutes.)

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!