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!

 Réponse acceptée

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 commentaires

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.)
Thanks!!
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by