| 查看: 870 | 回复: 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],[],[]) ![]() |
» 本帖@通知
» 猜你喜欢
博士读完未来一定会好吗
已经有17人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
读博
已经有3人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复
hollya
至尊木虫 (文坛精英)
葛城?{美
- 应助: 744 (博后)
- 金币: 44165.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固定系数,依次类推四个系数。我这个代码是肯定不行呀- -,想要知道这个能不能求帮忙修改,并且把这几个曲线绘制到一张图上,谢谢谢谢谢谢
回复此楼