《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 725|回复: 0
收起左侧

[提问] 请教一个1stopt5.0拟合的问题

[复制链接]
发表于 2016-6-1 09:42:54 | 显示全部楼层 |阅读模式
我已经能用一下编码运算y和roup,如果我想在已知x1、x2和y时拟合出delt和roup,如何对编码进行修改呢?

Parameter y[0,0.7],roup[0.9,1.3];


Constant t=341.15,rous1=1.510,ts1=305,ps1=5670,rr=8.314,m1=44,rous2=1.269,ts2=696,ps2=4964,m2=60600,delt=-0.004;
LoopConstant x1=[10,
20                  ,
30                   ,
40                    ,
50                     ,
60                      ,
70                       ,
80                        ,
90                         ,
100                         ,
110                          ,
120                           ,
130                            ,
140                             ,
150                              ,
160                               ,
170                                ,
180                                 ,
190                                  ,
200                                   ,
210                                    ,
220                                     ,
230                                      ,
240                                       ,
250                                        ,
260                                         ,
270                                          ,
280                                           ,
290                                            ,
300
],
x2=[-28704.46446,
-26815.39047     ,
-25743.81857      ,
-25007.99621       ,
-24457.06325        ,
-24023.93843         ,
-23672.96011          ,
-23382.97215           ,
-23140.4679             ,
-22936.36096             ,
-22764.24835              ,
-22619.23836               ,
-22496.76857                ,
-22391.56817                 ,
-22298.25148                  ,
-22212.82802                   ,
-22132.86182                    ,
-22056.89781                     ,
-21984.02273                      ,
-21913.62829                       ,
-21845.2875                         ,
-21778.68753                         ,
-21713.59099                          ,
-21649.81258                           ,
-21587.2042                             ,
-21525.64512                             ,
-21465.03529                              ,
-21405.29061                               ,
-21346.33947                                ,
-21288.12032
];



ConstStr r10=ps1*m1*0.1/(rous1*ts1*rr),vs1=10*ts1*rr/ps1,tt1=t/ts1,pp1=x1/ps1,
r20=ps2*m2*0.1/(rous2*ts2*rr),vs2=10*ts2*rr/ps2,tt2=t/ts2,pp2=x1/ps2,
phy1=(y/rous1)/(y/rous1+(1-y)/rous2),phy2=1-phy1,
nn1=(y/m1)/(y/m1+(1-y)/m2),nn2=1-nn1,
ps=phy1^2*ps1+2*phy1*phy2*(1-delt)*(ps1*ps2)^0.5+phy2^2*ps2,
phy10=(y/(rous1*vs1))/(y/(rous1*vs1)+(1-y)/(rous2*vs2)),phy20=1-phy10,vs=phy10*vs1+phy20*vs2,r=(r10*nn1*vs1+r20*nn2*vs2)/vs,miu=vs1/vs2,
ts=t*((phy1/tt1+miu*phy2/tt2)/(phy1+miu*phy2)-phy1*phy2*(ps1+ps2-2*(1-delt)*(ps1*ps2)^0.5)*vs/rr/t),
tt=t/ts,pp=x1/ps,rous=rous1*rous2/(y*rous2+(1-y)*rous1),rou=roup/rous,r1=r10*vs1/vs,r2=r20*vs2/vs;


Function
rou^2=-pp-tt*(ln(1-rou)+(1-1/r)*rou),

y=1-rous2*(y/rous1+(1-y)/rous2)*(r20*vs2/(r20*vs2-r10*vs1))*((x2-r10*rr*t*(-rou/tt1+pp1/(rou*tt1)+(1/rou-1)*ln(1-rou)+1/r10*ln(rou)))/rr/t-ln(phy1)-r10*rou*phy2^2*(ps1+ps2-2*(1-delt)*(ps1*ps2)^0.5)/ps1/tt1);

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号 

GMT+8, 2019-8-23 22:32 , Processed in 0.073955 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表