Matlab F求解优化
我使用fsolve来求解一个函数,但结果显示 优化终止:X的相对变化范数较小 大于最大值(选项。通行费^2,每股收益)和函数平方和 值小于sqrt(options.TolFun) A= 0.3490 有人知道怎么解决这个问题吗?谢谢 我的代码如下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
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需要一个纯函数。