查看: 108|回复: 11|关注: 0

[已答复] 一个自变量、两个因变量,如何拟合自定义函数

[复制链接]

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
发表于 3 天前 | 显示全部楼层 |阅读模式
一个自变量,两个因变量,两个函数,如何拟合?如下所示x=[0.159155 0.477465 0.795775 1.591549 4.774648 9.549297]
y1=[18.42445 19.27556 19.66805 20.12384 21.35861 21.54175]y2=[2.34646 2.40837 2.50286 2.65565 3.10685 3.17097]
y1=a+b*c*c*x*x/(1+c*c*x*x)
y2=b*c*x/(1+c*c*x*x)

如何拟合?各位大神
回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

4

主题

1517

帖子

190

最佳答案
  • 关注者: 93
发表于 3 天前 | 显示全部楼层
你这还是线性的求解,要做一下变形就比较清楚了
第二组的结果好像差一些
  1. x=[0.159155 0.477465 0.795775 1.591549 4.774648 9.549297]';
  2. y1=[18.42445 19.27556 19.66805 20.12384 21.35861 21.54175]';
  3. y2=[2.34646 2.40837 2.50286 2.65565 3.10685 3.17097]';
  4. %%
  5. % y1=a+b*c*c*x*x/(1+c*c*x*x)
  6. % cc=c*c;xx=x*x;
  7. % cc*xx*y1-a-a*cc*xx-b*cc*xx=-y1
  8. % cc*xx*y1-a-(a*cc+b*cc)*xx=-y1
  9. % [xx*y1 1 xx]*[cc -a -(a*cc+b*cc)]'=-y1;
  10. A1=[x.^2.*y1 ones(length(y1),1) x.^2];
  11. p1=pinv(A1)*(-y1);
  12. c=sqrt(p1(1));
  13. a=-p1(2);
  14. b=(-p1(3)-a*c^2)/c^2;
  15. yf1=a+b*c*c*x.*x./(1+c*c*x.*x);
  16. figure(1)
  17. plot(x,[y1 yf1]);
  18. legend('原数据','拟合数据')
  19. %%
  20. % y2=b*c*x/(1+c*c*x*x)
  21. % y2+cc*xx*y2=b*c*x
  22. % [xx*y2 -x]*[cc b*c]'=-y2;
  23. A2=[x.^2.*y2 -x];
  24. p2=pinv(A2)*(-y2);
  25. c=sqrt(p2(1));
  26. b=p2(2)/c;
  27. yf2=b*c.*x./(1+c*c*x.*x);
  28. figure(2)
  29. plot(x,[y2 yf2]);
  30. legend('原数据','拟合数据')
复制代码
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 3 天前 | 显示全部楼层
coolchen302 发表于 2020-9-17 11:09
你这还是线性的求解,要做一下变形就比较清楚了
第二组的结果好像差一些
...

谢谢老师,我定义的两个函数是有关联的,a、b、c参数应该是通用的,问一下怎么处理合适呢?
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

4

主题

1517

帖子

190

最佳答案
  • 关注者: 93
发表于 3 天前 | 显示全部楼层
zzh07 发表于 2020-9-17 11:23
谢谢老师,我定义的两个函数是有关联的,a、b、c参数应该是通用的,问一下怎么处理合适呢? ...

试了一下,好像联立起来有问题
你自己变形了推算一下吧
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

中级

1248 麦片

财富积分


5001500


0

主题

2834

帖子

265

最佳答案
  • 关注者: 174
发表于 3 天前 | 显示全部楼层
用1stOpt试试,很简单:
  1. Variable x,y1,y2;
  2. SharedModel;
  3. Function
  4. y1=a+b*c*c*x*x/(1+c*c*x*x);
  5. y2=b*c*x/(1+c*c*x*x);
  6. Data;
  7. x=[0.159155 0.477465 0.795775 1.591549 4.774648 9.549297];
  8. y1=[18.42445 19.27556 19.66805 20.12384 21.35861 21.54175];
  9. y2=[2.34646 2.40837 2.50286 2.65565 3.10685 3.17097];
复制代码


结果:
  1. Root of Mean Square Error (RMSE): 1.18552185221902
  2. Sum of Squared Residual: 16.8655447450658
  3. Correlation Coef. (R): 0.859246214634431
  4. R-Square: 0.738304057363598

  5. Parameter                  Best Estimate
  6. --------------------        -------------
  7. a        18.4743885951852
  8. b        5.23597627567557
  9. c        0.299304114641121
复制代码
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 3 天前 | 显示全部楼层
shihe 发表于 2020-9-17 14:04
用1stOpt试试,很简单:

谢谢哈,我用1stOpt试了试,怎么两个函数共用a、b、c参数,求解不了呢,单独计算可以,是不收敛吗?
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 3 天前 | 显示全部楼层
coolchen302 发表于 2020-9-17 12:21
试了一下,好像联立起来有问题
你自己变形了推算一下吧

好的,感谢哈,感觉y2函数有问题
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

中级

1248 麦片

财富积分


5001500


0

主题

2834

帖子

265

最佳答案
  • 关注者: 174
发表于 3 天前 | 显示全部楼层
估计是使用的版本不支持参数共享模式。
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 3 天前 | 显示全部楼层
本帖最后由 zzh07 于 2020-9-18 09:48 编辑
shihe 发表于 2020-9-17 19:43
估计是使用的版本不支持参数共享模式。

你好,方便的话帮我运行下这个,我的没反应呢,今天刚学的1stOpt,感谢哈:handshake

ConstStr d=E1/E0 ;
SharedModel;
Variable x,y(3);//y1,y2,y3;
Function y1=E0*(1+(d+1)*cos(a*pi/2)*((r*x)^a)+d*((r*x)^(2*a)))/(1+2*cos(a*pi/2)*((r*x)^a)+(r*x)^(2*a));
y2=E0*(d-1)*sin(a*pi/2)*((r*x)^a)/(1+2*cos(a*pi/2)*((r*x)^a)+(r*x)^(2*a));
y3=(d-1)*sin(a*pi/2)*((r*x)^a)/(1+(d+1)*cos(a*pi/2)*((r*x)^a)+d*((r*x)^(2*a)));
Data;
//x,y1,y2,y3
0.159154946        18.42445        2.34646        0.127355769
0.477464837        19.27556        2.40837        0.12494423
0.795774729        19.66805        2.50286        0.127255117
1.591549458        20.12384        2.65565        0.13196537
4.774648374        21.35861        3.10685        0.145461245
9.549296748        21.54175        3.17097        0.147201133
4.774648374        21.35861        3.10685        0.145461245
9.549296748        21.54175        3.17097        0.147201133
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

中级

1248 麦片

财富积分


5001500


0

主题

2834

帖子

265

最佳答案
  • 关注者: 174
发表于 前天 10:11 | 显示全部楼层
参考下,总感觉公式哪儿有点问题,自己好好检查下:
  1. Root of Mean Square Error (RMSE): 0.552968636193814
  2. Sum of Squared Residual: 7.33858350273712
  3. Correlation Coef. (R): 0.967603268749806
  4. R-Square: 0.936256085695309
  5. Adjusted R-Square: 0.851964171950494
  6. Determination Coef. (DC): -4.46808418046885
  7. F-Statistic: 8.6883418476569

  8. Parameter                  Best Estimate
  9. --------------------        -------------
  10. e0        13.9352477245558
  11. e1        15083489353.5665
  12. a        0.209330199775545
  13. r        9.84300027446168E-46

  14. ====== Output Results ======

  15. File: Data File-1
  16. No        Target y1        Calculated y1        Target y2        Calculated y2        Target y3        Calculated y3
  17. 1        18.42445        17.6182972078781        2.34646        1.25666199904499        0.127355769        0.0713270972908252
  18. 2        19.27556        18.5706074299262        2.40837        1.58159167277283        0.12494423        0.0851663941925846
  19. 3        19.66805        19.0937435606322        2.50286        1.76008650388092        0.127255117        0.092181320980444
  20. 4        20.12384        19.8992493538741        2.65565        2.03492628662184        0.13196537        0.102261459738212
  21. 5        21.35861        21.4413355389213        3.10685        2.56108840183982        0.145461245        0.119446309544982
  22. 6        21.54175        22.6134208541421        3.17097        2.96100566621095        0.147201133        0.130940191902394
  23. 7        21.35861        21.4413355389213        3.10685        2.56108840183982        0.145461245        0.119446309544982
  24. 8        21.54175        22.6134208541421        3.17097        2.96100566621095        0.147201133        0.130940191902394
复制代码
回复此楼 已获打赏: 0 积分

举报

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

本版积分规则

关闭

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

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