Integral calling another integral

2 Ansichten (letzte 30 Tage)
Orongo
Orongo am 4 Nov. 2018
Kommentiert: Star Strider am 4 Nov. 2018
Hi I get an error when calculating an integral. The error is caused by my "nested" integral. Here is what I have written so far and running it show you an error after the calculation of f_lx. How can I have this running?
age=61;
f_AD=@(t) f_lx(t,age);
AD(age,1)=integral(f_AD,age,106);
function res=f_lx(t,age)
param_1955 = [4.67255690389772/1000, 0.0192034319814117/100000, 1.47616811690684/10];
mu_1955=@(x) f_mu(x,param_1955); % my error appears here
res = exp(-integral(mu_1955,0,age));
end
function res=f_mu(x,param)
a=param(1); b=param(2); c=param(3);
res = zeros(size(x));
ind = x>100;
res(ind) = a+b*exp(c*100)+(x(ind)-100)*0.001;
res(~ind) =a+b*exp(c*x(~ind));
end

Akzeptierte Antwort

Star Strider
Star Strider am 4 Nov. 2018
Change your ‘AD’ assignment to:
AD(age,1)=integral(f_AD,age,106, 'ArrayValued',1);
  2 Kommentare
Orongo
Orongo am 4 Nov. 2018
Thanks, works brilliantly.
Star Strider
Star Strider am 4 Nov. 2018
As always, my pleasure.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by