Matlab F求解优化

Matlab F求解优化,matlab,mathematical-optimization,Matlab,Mathematical Optimization,我使用fsolve来求解一个函数,但结果显示 优化终止:X的相对变化范数较小 大于最大值(选项。通行费^2,每股收益)和函数平方和 值小于sqrt(options.TolFun) A= 0.3490 有人知道怎么解决这个问题吗?谢谢 我的代码如下 clear M=10000; x0=0.35; Z=randn(M,1); A=fsolve(@(x)function_1_5_3(x,Z),x0) function f=function_1_5_3(x,Z) r0=.02;%interest

我使用fsolve来求解一个函数,但结果显示

优化终止:X的相对变化范数较小 大于最大值(选项。通行费^2,每股收益)和函数平方和 值小于sqrt(options.TolFun)

A= 0.3490

有人知道怎么解决这个问题吗?谢谢

我的代码如下

clear

M=10000;
x0=0.35;
Z=randn(M,1);
A=fsolve(@(x)function_1_5_3(x,Z),x0)


function f=function_1_5_3(x,Z)

r0=.02;%interest rate
sigma=.15;%vatality rate of risky asset
mu0=.06;%drift rate of risky asset
gamma=5;%risk aversion rate
M=10000;%number of trajectories
N=55;%time period
T=55;%total time period
R=40;%time of retirement
dt=T/N;%each time period
t=1:dt:T;
omega=x;
Rf=exp(r0);%riskless reture
mat=rand(M,N);

Rs=exp(mu0+sigma*Z);%risky market return
a=20*mat(:,N-2);
a_1=20*mat(:,N-1);

W=((a.*(Rf+omega*(Rs-Rf))-a_1).^(-gamma)).*(Rs-Rf);%regard as function 4

f=mean(W);

有什么问题吗

当执行优化时(即找到值A使函数1y5y3变得非常小),你需要定义你认为是一个好的解决方案。当参数被

eps
修改以弥补解决方案中的一点改进时,等待几天是没有意义的

有几种常见的启发式方法来确定“足够好”的解决方案,例如,如果x值不再有很大变化,或者如果函数值不再有很大变化。使用
options
参数到
fsolve
,它允许您使用
optimset
设置值,您可以选择未知量中的公差(
options.TolX
),以及函数值中的公差(
options.TolFun
),即“足够小”的更改量考虑函数已收敛。


在您的情况下,函数值的公差和x值的公差都满足优化要求。两者同时发生有点令人惊讶。如果结果不是最佳的,您应该检查是否应该修改公差,公式中是否有错误,或者在编写
fsolve
时是否意味着
fminsearch

有什么问题吗

当执行优化时(即找到值A使函数1y5y3变得非常小),你需要定义你认为是一个好的解决方案。当参数被

eps
修改以弥补解决方案中的一点改进时,等待几天是没有意义的

有几种常见的启发式方法来确定“足够好”的解决方案,例如,如果x值不再有很大变化,或者如果函数值不再有很大变化。使用
options
参数到
fsolve
,它允许您使用
optimset
设置值,您可以选择未知量中的公差(
options.TolX
),以及函数值中的公差(
options.TolFun
),即“足够小”的更改量考虑函数已收敛。


在您的情况下,函数值的公差和x值的公差都满足优化要求。两者同时发生有点令人惊讶。如果结果不是最佳的,您应该检查是否应该修改公差,公式中是否有错误,或者在编写
fsolve
时是否意味着
fminsearch

fsolve需要一个纯函数。fsolve需要一个纯函数。