| 查看: 912 | 回复: 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],[],[]) |
» 本帖@通知
» 猜你喜欢
“人文社科而论,许多学术研究还没有达到民国时期的水平”
已经有4人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有11人回复
什么是人一生最重要的?
已经有4人回复
版面费该交吗
已经有3人回复
今年春晚有几个节目很不错,点赞!
已经有12人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有12人回复
基金正文30页指的是报告正文还是整个申请书
已经有5人回复
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固定系数,依次类推四个系数。我这个代码是肯定不行呀- -,想要知道这个能不能求帮忙修改,并且把这几个曲线绘制到一张图上,谢谢谢谢谢谢
回复此楼