Integral calling another integral

1 ビュー (過去 30 日間)
Orongo
Orongo 2018 年 11 月 4 日
コメント済み: Star Strider 2018 年 11 月 4 日
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

採用された回答

Star Strider
Star Strider 2018 年 11 月 4 日
Change your ‘AD’ assignment to:
AD(age,1)=integral(f_AD,age,106, 'ArrayValued',1);
  2 件のコメント
Star Strider
Star Strider 2018 年 11 月 4 日
As always, my pleasure.

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by