查看: 341|回复: 3|关注: 0

[已答复] 小白请教将2个自变量和1个因变量拟合成(带三角函数)方程的代码

[复制链接]

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
发表于 2019-3-14 15:18:08 | 显示全部楼层 |阅读模式
本帖最后由 何宇1994 于 2019-3-14 15:33 编辑

          x2       0               pi/6          pi/3          pi/2
      y
x1
0.344        0.344        0.338        0.245        0.225
0.42         0.42           0.407        0.305        0.282
0.488        0.488        0.436        0.384        0.358
0.56          0.56         0.495        0.425        0.365
0.57           0.57        0.525        0.501        0.399
1.324        1.324        1.255        1.186        0.977
0.676        0.676        0.664        0.664        0.547
0.567        0.567        0.449        0.417        0.36
0.462        0.462        0.314        0.31          0.317
0.325        0.325        0.258        0.254        0.248
0.367        0.367        0.358        0.346        0.256
0.502        0.502        0.425        0.434        0.33
0.647        0.647        0.529        0.543        0.456
0.712        0.712        0.655        0.618        0.543
0.793        0.793        0.68          0.657        0.582

其中自变量x1为第一列15个数据,自变量x2为第一行4个角度数据,因变量y为中间的60个数据。
拟合一个y=f(x1,x2)的函数,因为x2表示角度,所以尽量使用三角函数表示。
比如先用这个关系尝试拟合:y=x1*a*sin(b*x2)+c,得出a,b,c的值。
查了很多童鞋类似的问题和回复,小白我都没套进去我的问题。
请求大佬帮我写一个完整的能运行的代码,可能的话请放上注释,便于之后修改,万分感谢!
数据表格原图已上传

数据表格

数据表格

论坛优秀回答者

中级

932 麦片

财富积分


5001500


0

主题

2357

帖子

202

最佳答案
  • 关注者: 134
发表于 2019-3-14 16:10:08 | 显示全部楼层
这个公式简单,效果也不错:
y = ((p1-x2)^3)/(1+p2/x1)

均方差(RMSE): 0.0370986368989972
残差平方和(SSR): 0.0825785315858182
相关系数(R): 0.988527928812175
相关系数之平方(R^2): 0.977187466041689
修正R平方(Adj. R^2): 0.975965366008208
确定系数(DC): 0.974031050704934
卡方系数(Chi-Square): 0.0883863766078219
F统计(F-Statistic): 1961.28785472426

参数        最佳估算
----------        -------------
p1        16.1837766188228
p2        4226.86422319731
c137.jpg

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2019-3-14 16:29:12 | 显示全部楼层
shihe 发表于 2019-3-14 16:10
这个公式简单,效果也不错:
y = ((p1-x2)^3)/(1+p2/x1)

感谢您的回复,之前看了好多帖子作者都是采纳的您的建议,能得到您的答复我很惊喜。
但问题是,我的实验数据是与角度有关的,如果不用三角函数拟合则很难解释原因。
能否麻烦您把这段拟合的MATLAB完整代码Po给我,我也想学学。让您费心了!

论坛优秀回答者

中级

932 麦片

财富积分


5001500


0

主题

2357

帖子

202

最佳答案
  • 关注者: 134
发表于 2019-3-14 22:36:47 | 显示全部楼层
非要三角函数,试试下面的:
1:
y = cos((x2+1)^p1)+p2+p3*x1;

均方差(RMSE): 0.0392994271560795
残差平方和(SSR): 0.0926666984877598
相关系数(R): 0.985321578338274
相关系数之平方(R^2): 0.970858612739028
修正R平方(Adj. R^2): 0.969297466992904
确定系数(DC): 0.970858566407554
卡方系数(Chi-Square): 0.0955699887148347
F统计(F-Statistic): 949.903878629162

参数        最佳估算
----------        -------------
p1        0.175984526750403
p2        -0.489579935045107
p3        0.919122342439227

2:
y = cos((x2*x1+1)^p1)+p2+p3*x1+p5*sin((x2*x1+1)^p4);

均方差(RMSE): 0.0279872860716812
残差平方和(SSR): 0.0469972908994874
相关系数(R): 0.99258277162158
相关系数之平方(R^2): 0.985220558519979
修正R平方(Adj. R^2): 0.984428802726406
确定系数(DC): 0.985220489624402
卡方系数(Chi-Square): 0.0494962920927059
F统计(F-Statistic): 916.11581038518

参数        最佳估算
----------        -------------
p1        0.210073160210758
p2        -0.57835883523007
p3        1.02126311807063
p5        0.0384878974810039
p4        19.8248517921707
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

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