Problems with integral in fsolve
Show older comments
Hey
I have three functions with three unknown variables, but I can't find a solution for them. the features look like this:

I've tried to do the following code:
m = 0.31;
r = 0.05;
delta = 0.02;
y_bar = 2;
w_1 = 5;
w_2_bar = 5;
sigma = 1;
b_bar = 3;
z_0=[0.5,3,4];
sol=fsolve(@(z)([
w_1*(1-z(1))-z(2)-((1+delta)/((1-m)*(1+r)))*int((b_bar+(1-z(1))*(1-m)*x+(1-m)*(1+r)*z(2))*(1/(2*pi*sigma^2))*exp(-((x-w_2_bar)^2)/(2*sigma^2)),x,0,z(3))
+((1+delta)/(1+r))*int(((1-z(1))*k+(1+r)*z(2))*(1/(2*pi*sigma^2))*exp(-((k-w_2_bar)^2)/(2*sigma^2)),k,z(3),inf);
z(1)*w_1+int(z(1)*h*(1/(2*pi*sigma^2))*exp(-((h-w_2_bar)^2)/(2*sigma^2)),h,0,z(3))
-int((b_bar-m*((1-z(1))*y+(1+r)*z(2)))*(1/(2*pi*sigma^2))*exp(-((y-w_2_bar)^2)/(2*sigma^2)),y,0,z(3));
z(3)-(1/(1-z(1))*y_bar+((1+r)/(1-z(1)))*z(2))]),z_0);
Hope there is one who can correct my code so it works, thank you very much if it is you. :)
Accepted Answer
More Answers (1)
function main
z_0 = [0.5,3,4];
options = optimset('TolFun',1e-8,'TolX',1e-8);
sol = fminsearch(@fun,z_0,options)
end
function res = fun(z)
m = 0.31;
r = 0.05;
delta = 0.02;
y_bar = 2;
w_1 = 5;
w_2_bar = 5;
sigma = 1;
b_bar = 3;
re(1) = w_1*(1-z(1))-z(2)-((1+delta)/((1-m)*(1+r)))*integral(@(x)(b_bar+(1-z(1))*(1-m)*x+(1-m)*(1+r)*z(2))*(1/(2*pi*sigma^2))*exp(-((x-w_2_bar).^2)/(2*sigma^2)),0,z(3),'ArrayValued',1)...
+((1+delta)/(1+r))*integral(@(k)((1-z(1))*k+(1+r)*z(2))*(1/(2*pi*sigma^2)).*exp(-((k-w_2_bar).^2)/(2*sigma^2)),z(3),inf,'ArrayValued',1);
re(2) = z(1)*w_1+integral(@(h)z(1)*h*(1/(2*pi*sigma^2)).*exp(-((h-w_2_bar).^2)/(2*sigma^2)),0,z(3),'ArrayValued',1)...
-integral(@(y)(b_bar-m*((1-z(1))*y+(1+r)*z(2)))*(1/(2*pi*sigma^2)).*exp(-((y-w_2_bar).^2)/(2*sigma^2)),0,z(3),'ArrayValued',1);
re(3) = z(3)-(1/(1-z(1))*y_bar+((1+r)/(1-z(1)))*z(2));
res = norm(re)
end
Categories
Find more on Numeric Solvers 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!