24小时热门版块排行榜    

查看: 344  |  回复: 2

yangang0310

银虫 (初入文坛)

[求助] MATLAB 数据拟合的问题 已有1人参与

有个问题困扰为好多天了,希望虫友 能解答。
现有一模型 : y=a*f*x.^t+b*(f*x).^2+e*(f*x).^1.5
其中,f ,x是自变量,y是因变量,且都有数据。a,b,e,t是未知参数。
MATLAB里有个 fminsearch函数好像能解决这类问题。可是,我是个MATLAB菜鸟,希望广大虫友不吝赐教啊。
另 附下数据:

数据分为三组:分别为f=50,100,150.

f=50;x=[0.2:0.1:1.9]  y=[0.0148        0.0296        0.0501        0.0747        0.1031        0.1352        0.1709        0.2115        0.2575        0.3088        0.3644        0.4267        0.4952        0.5698   0.6572         0.7755        1.0057        1.3361]

f=100; x=[0.2:0.1:1.9]  y=[0.0368         0.0799        0.1371        0.2074        0.2909        0.3866        0.4948        0.6177        0.7582  0.916        1.09        1.285 1.4992 1.7222   1.9709  2.263        2.7734        3.5511]
f=150; x=[0.2:0.1:1.9]  y=[0.072  0.1568  0.2689        0.4411        0.5684        0.7533        0.9618        1.2058        1.4794        1.8289        2.1415        2.5103   2.9037        3.326   3.784        4.3331   5.18890  6.4422]

谢谢大家了!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
1stOpt求解:
CODE:
VarConstant f=[50,100,150];
Variable x,y;
Function  y=a*f*x^t+b*(f*x)^2+e*(f*x)^1.5;
Data;
x=[0.2:0.1:1.9];
y=[0.0148,0.0296,0.0501,0.0747,0.1031,0.1352,0.1709,0.2115,0.2575,0.3088,0.3644,0.4267,0.4952,0.5698,0.6572,0.7755,1.0057,1.3361];
Data;
x=[0.2:0.1:1.9];
y=[0.0368,0.0799,0.1371,0.2074,0.2909,0.3866,0.4948,0.6177,0.7582,0.916,1.09,1.285,1.4992,1.7222,1.9709,2.263,2.7734,3.5511;
Data;
x=[0.2:0.1:1.9];
y=[0.072,0.1568,0.2689,0.4411,0.5684,0.7533,0.9618,1.2058,1.4794,1.8289,2.1415,2.5103,2.9037,3.326,3.784,4.3331,5.18890,6.4422];

均方差(RMSE):0.0449907733571378
残差平方和(SSE):0.10930516311276
相关系数(R): 0.9993394941954
相关系数之平方(R^2): 0.998679424658717
确定系数(DC): 0.997962342657576
F统计(F-Statistic): 3848.72254811153

参数                  最佳估算
--------------------        -------------
a        2.23611194227693E-5
t        9.77849410813785
b        2.80454370471318E-5
e        0.000491364528602323
2楼2014-08-18 11:37:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangang0310

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by dingd at 2014-08-18 11:37:54
1stOpt求解:

VarConstant f=;
Variable x,y;
Function  y=a*f*x^t+b*(f*x)^2+e*(f*x)^1.5;
Data;
x=;
y=;
Data;
x=;
y=[0.0368,0.0799,0.1371,0.2074,0.2909,0.3866,0.4948,0.6177,0.7582,0.916,1.09,1 ...

非常之感谢,但是t有个参考值,一般在1~3之间,用1stOpt求解,是不是初值选取的不对啊?
另外,MATLAB里用fminsearch函数求解,能否给点意见,谢谢了
3楼2014-08-18 15:20:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yangang0310 的主题更新
信息提示
请填处理意见