| 查看: 1061 | 回复: 1 | ||
[求助]
求助。matlab共享参数类的自定义公式拟合修改问题 已有1人参与
|
是共享参数类的自定义公式模拟,目的是求5个系数,y1-x1对应q0固定系数,y2-x2对应q1固定系数,依次类推四个系数。我这个代码是肯定不行呀- -,想要知道这个能不能求帮忙修改,并且把这几个曲线绘制到一张图上,谢谢谢谢谢谢![]() clear clc data = [36.287 34.765 38.875 37.683 33.580 27.010 34.720 35.470 42.726 37.060 38.475 42.038 31.388 30.550 33.480 37.460 44.688 38.646 40.391 43.510 30.339 24.934 25.711 29.321 43.517 39.432 41.318 42.936 29.632 26.228 27.102 28.644 44.222 38.646 42.530 41.718 28.211 24.991 27.792 29.638 43.771 40.398 42.454 44.425 27.862 25.291 26.591 27.814] q0=0; q1=0.2; q2=0.35; q3=0.5; x1 = data(:,1); x2 = data(:,2); x3 = data(:,3); x4 = data(:,4); y1 = data(:,5); y2 = data(:,6); y3 = data(:,7); y4 = data(:,8); f = @(a,b,c,d,e)[a.*x1./(b*q0^3+c*q0^2+d*q0+e); a.*x2./(b*q1^3+c*q1^2+d*q1+e); a.*x3./(b*q2^3+c*q2^2+d*q2+e); a.*x4./(b*q3^3+c*q3^2+d*q3+e)] [X,RESNORM,RESIDUAL,EXITFLAG,OUTPUT,LAMBDA] = lsqcurvefit(f, [1 1 1 1 1 ], [x1;x2;x3;x4],[y1;y2;y3;y4],[0 0 0 0 0 0],[],[]) |
» 本帖@通知
» 猜你喜欢
什么时候能放榜呀?
已经有3人回复
一个有机合成实验室都需要哪些设备?
已经有8人回复
UV压敏胶开发
已经有5人回复
面上提前没消息,有中的吗
已经有16人回复
面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇!
已经有25人回复
2026年国自然面上资助率
已经有22人回复
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有12人回复
这种情况还有戏吗
已经有12人回复
微信指数没变化,科研之友没阅读
已经有19人回复
准备明年的基金了
已经有7人回复
hollya
至尊木虫 (文坛精英)
葛城?{美
- 应助: 744 (博后)
- 金币: 44166.3
- 散金: 1143
- 红花: 127
- 沙发: 780
- 帖子: 24910
- 在线: 835小时
- 虫号: 458790
- 注册: 2007-11-13
- 性别: MM
- 专业: 计算机软件
【答案】应助回帖
|
楼主,你这个函数好像就是个线性方程,f(x)=kx, 这样拟合结果可能不太好啊。而且就算有5个参数需要似合,5个也不是相互独立的。 你看看下面的这个:其中 k1=b/a,k2=c/a,k3=d/a,k4=e/a data = [36.287 34.765 38.875 37.683 33.580 27.010 34.720 35.470 42.726 37.060 38.475 42.038 31.388 30.550 33.480 37.460 44.688 38.646 40.391 43.510 30.339 24.934 25.711 29.321 43.517 39.432 41.318 42.936 29.632 26.228 27.102 28.644 44.222 38.646 42.530 41.718 28.211 24.991 27.792 29.638 43.771 40.398 42.454 44.425 27.862 25.291 26.591 27.814] q0=0; q1=0.2; q2=0.35; q3=0.5; q=[q0,q1,q2,q3] Q=[q.^3;q.^2;q;ones(1,4)] xdata=data(:,1:4) ydata=data(:,5:8) f = @(k,x) x./repmat([k(1),k(2),k(3),k(4)]*Q,6,1) k0=[1 1 1 1] k = lsqcurvefit(f,k0,xdata,ydata) f_fit=f(k,xdata) plot(xdata(:,1),ydata(:,1),'o',xdata(:,1),f_fit(:,1),... xdata(:,2),ydata(:,2),'*',xdata(:,2),f_fit(:,2),... xdata(:,3),ydata(:,3),'+',xdata(:,3),f_fit(:,3),... xdata(:,4),ydata(:,4),'x',xdata(:,4),f_fit(:,4)) |

2楼2019-02-02 02:45:25










是共享参数类的自定义公式模拟,目的是求5个系数,y1-x1对应q0固定系数,y2-x2对应q1固定系数,依次类推四个系数。我这个代码是肯定不行呀- -,想要知道这个能不能求帮忙修改,并且把这几个曲线绘制到一张图上,谢谢谢谢谢谢
回复此楼