搜索
bottom↓
回复: 19

求帮助解拟合方程的系数

[复制链接]

出0入0汤圆

发表于 2016-3-18 21:32:19 | 显示全部楼层 |阅读模式
如图:求出指数w,r,u的近似值,使公式更接近于真实关系。谁会用MATLAB帮忙拟合一下吧。
  1. //数据对应的数组如下:
  2. {x2, x1, x3, y}
  3. {250, 26, 0.3901, 25.9}
  4. {250, 13, 0.405666666666667, 34}
  5. {500, 13, 0.4055, 36.06}
  6. {500, 1.76, 0.3112, 41.48}
  7. {250, 6, 0.4664, 42.33}
  8. {500, 6, 0.4668, 44.15}
  9. {2500, 6.14, 0.5, 45.23}
  10. {1500, 2, 0.5753, 46}
  11. {1000, 4, 0.5, 50.8}
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2016-3-18 21:55:43 | 显示全部楼层
肯定是转换成对数坐标系 再拟合  这个还是双对数坐标系

出0入0汤圆

发表于 2016-3-18 21:57:53 | 显示全部楼层
LABVIEW吧
瞬间搞定了!

出0入0汤圆

 楼主| 发表于 2016-3-18 22:40:00 | 显示全部楼层
阿豪博士 发表于 2016-3-18 21:57
LABVIEW吧
瞬间搞定了!

那就麻烦一下阁下吧!莫元还可以追加,只要能拟合出来。

出0入0汤圆

发表于 2016-3-19 14:03:14 | 显示全部楼层
你这个需要变换吗?
或者正规的叫法是什么拟合?

出0入0汤圆

发表于 2016-3-19 15:01:04 来自手机 | 显示全部楼层
先取对数,最小二乘就出来了

出0入0汤圆

发表于 2016-3-19 15:20:59 | 显示全部楼层
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 4.64341605041802
残差平方和(SSE): 194.051813555517
相关系数(R): 0.770308790016531
相关系数之平方(R^2): 0.593375631976732
决定系数(DC): 0.569953688548753
卡方系数(Chi-Square): 2.46302074002735
F统计(F-Statistic): 10.2149053290369

参数        最佳估算
----------        -------------
w                  7.28510718582051
r                  0.144427213931907
u                  -0.0593651218802381

====== 结果输出 =====

No        实测值y        计算值y
1        25.9        32.0192913
2        34        33.1405867
3        36.06        37.3000439
4        41.48        42.1507979
5        42.33        34.9195438
6        44.15        39.3052359
7        45.23        49.6140151
8        46        50.8617919
9        50.8        45.0871542

出0入0汤圆

 楼主| 发表于 2016-3-19 21:36:50 | 显示全部楼层
dxgdsx 发表于 2016-3-19 15:20
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE) ...


你这是用1stopt拟合的吧,能把你的代码给看看吗?我的代码一直提示Function字符串错误 。
  1. Title "Type your title here";
  2. //Parameters ;
  3. //Variable ;
  4. //Function ;
  5. Parameter w,r,u;
  6. Variable x1,x2,x3,y;
  7. Function y=ln(x1)^w/((ln(1+x2))^r*(x3^u));
  8. Data;
  9. x2   x1   x3                 y
  10. 250  26   0.3901             25.9
  11. 250  13   0.405666666666667  34
  12. 500  13   0.4055             36.06
  13. 500  1.76 0.3112             41.48
  14. 250  6    0.4664             42.33
  15. 500  6    0.4668             44.15
  16. 2500 6.14 0.5                45.23
  17. 1500 2    0.5753             46
  18. 1000 4    0.5                50.8
复制代码

出0入0汤圆

 楼主| 发表于 2016-3-19 22:00:33 | 显示全部楼层
gallop020142 发表于 2016-3-19 15:01
先取对数,最小二乘就出来了

都发了莫元,阁下能搞定的话,烦请帮个忙!请不要一句话的帮法。

出0入0汤圆

发表于 2016-3-18 21:32:20 | 显示全部楼层
本帖最后由 gallop020142 于 2016-3-20 06:59 编辑
xf331785508 发表于 2016-3-19 22:00
都发了莫元,阁下能搞定的话,烦请帮个忙!请不要一句话的帮法。


少年,我机器上matlab没激活,我只能帮你这么多了,不知道你分母上的指数到底是在里面还是外面,但基本思想是一样的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-3-21 17:13:10 | 显示全部楼层
建议楼主可以看看 数值计算方法  之类的书,以后碰到类似的可以轻松解决啦。

出0入0汤圆

 楼主| 发表于 2016-3-21 17:25:34 | 显示全部楼层
gallop020142 发表于 2016-3-21 17:13
建议楼主可以看看 数值计算方法  之类的书,以后碰到类似的可以轻松解决啦。 ...

matlab不太会。然后用了1stopt的拟合软件,但效果不太好。R相关性系数才0.3,dxgdsx给了结果,但没有给出代码,就不知道解决只法了。

出0入0汤圆

发表于 2016-3-21 18:15:38 | 显示全部楼层
xf331785508 发表于 2016-3-19 21:36
你这是用1stopt拟合的吧,能把你的代码给看看吗?我的代码一直提示Function字符串错误 。
...

代码请见附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-3-21 19:25:15 | 显示全部楼层
xf331785508 发表于 2016-3-21 17:25
matlab不太会。然后用了1stopt的拟合软件,但效果不太好。R相关性系数才0.3,dxgdsx给了结果,但没有给出 ...

你先告诉我:分子上的指数的位置我的理解是对的吗?我找个matlab的破解文件帮你试试

出0入0汤圆

发表于 2016-3-21 19:49:23 | 显示全部楼层
xf331785508 发表于 2016-3-21 17:25
matlab不太会。然后用了1stopt的拟合软件,但效果不太好。R相关性系数才0.3,dxgdsx给了结果,但没有给出 ...

我看你的代码  分子上的指数好像是(log x1)^w,所以我按照这个弄了一下,结果见图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-3-21 19:51:40 | 显示全部楼层
为了这100莫元,我渔也给了,鱼也给你做成菜了哈

出0入0汤圆

发表于 2016-3-22 06:41:06 | 显示全部楼层
y2 = ((log(x1)).^x(1)) ./ (((log(1+x2)).^x(2)) .* ((x3).^x(3))); %拟合后的值
y2 - y %误差
ans =
        5.6649
   -2.6307
    3.0734
    2.1518
  -11.9673
   -6.2871
   11.8918
    3.3384
   -5.3071

出0入0汤圆

发表于 2016-3-22 06:51:12 | 显示全部楼层
本帖最后由 gallop020142 于 2016-3-22 06:56 编辑

5.6649            6.1193
-2.6307    -0.8594
3.0734     1.2400
2.1518     0.6708
-11.9673   -7.4105
-6.2871    -4.8448
11.8918    4.3840
3.3384     4.8618
-5.3071    -5.7128

这第一列是我拟合的参数[-0.0214, -1.8752, 0.2889]'的实际误差,
第二列是 8楼拟合后的误差,看来取对数之后再最小二乘这个方法得到的结果不太好,
我觉得:非线性变换后求得的参数是变换后线性空间中的最优值,而不是原问题——非线性最优化问题的最优值,也就是说原问题——非线性最优化问题,不能够用线性最优化方法求解。
而8楼的结果好一些就是因为他是直接针对原来的非线性最优化问题进行求解

出0入0汤圆

 楼主| 发表于 2016-3-22 09:19:47 | 显示全部楼层
gallop020142 发表于 2016-3-21 19:51
为了这100莫元,我渔也给了,鱼也给你做成菜了哈

多谢多谢!

出0入0汤圆

发表于 2016-3-22 14:21:26 | 显示全部楼层

惭愧,我原来的想法是错的。。。
估计只能直接用非线性最优化方法求解了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-17 12:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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