| 查看: 887 | 回复: 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],[],[]) |
» 本帖@通知
» 猜你喜欢
国自然申请面上模板最新2026版出了吗?
已经有11人回复
推荐一本书
已经有12人回复
基金申报
已经有4人回复
计算机、0854电子信息(085401-058412)调剂
已经有4人回复
溴的反应液脱色
已经有6人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
参与限项
已经有5人回复
有没有人能给点建议
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
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固定系数,依次类推四个系数。我这个代码是肯定不行呀- -,想要知道这个能不能求帮忙修改,并且把这几个曲线绘制到一张图上,谢谢谢谢谢谢
回复此楼