24小时热门版块排行榜    

查看: 737  |  回复: 10
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 feiliao8170 的 3 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

feiliao8170

木虫 (小有名气)

[交流] 【求助】Matlab数据拟合

数据如下:
x                y1           y2            y3              y4  
308        0.1           0.07          0.01          0.006
313        0.11         0.068        0.0095        0.0065
323        0.115        0.045        0.009        0.007
333        0.098        0.025        0.0089        0.0075
343        0.04         0.015        0.0092        0.0078
353        0.02          0.01          0.009          0.008
363        0.015        0.0095      0.0095        0.009
373        0.01         0.012          0.012          0.01

P3           123           1233         2837         4933

拟合方程为:
y=0.006+0.114*(2838*P3/(2838*P3+exp(-P1/(8.314472*x))/P2))
其中x自变量,y为因变量,P1,P2为待优化参数,对应四组Y数据P3为固定值;

对于单列数据,采用origin很容易就可以得到P1和P2的优化值,但是如何对四列数据进行优化得到唯一的P1和P2值?

希望高手指点,谢谢。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★ ★ ★
feiliao8170(金币+2,VIP+0):谢谢 10-13 19:53
nono2009(金币+2,VIP+0):谢谢热心帮助。欢迎常来交流。 10-21 13:26
将x,P3看作是自变量,[y1;y2;y3;y4]看作是的因变量,做非线性拟合嘛

但是好像拟合不好

%%      x    y1           y2           y3          y4
data=[308        0.10        0.07        0.01        0.006
    313        0.11        0.068        0.0095         0.0065
    323        0.115        0.045        0.009        0.007
    333        0.098        0.025        0.0089        0.0075
    343        0.04        0.015        0.0092        0.0078
    353        0.02        0.01        0.009        0.008
    363        0.015        0.0095        0.0095        0.009
    373        0.01        0.012        0.012        0.01];

xdata=data(:,1);
xdata=repmat(xdata,size(data,2)-1,1);
y1=data(:,2);y2=data(:,3);y3=data(:,4);y4=data(:,5);
y=[y1;y2;y3;y4];
P3 =ones(size(data,1),1)*[123        1233        2837        4933];
P3=P3(: );
fx=@(P,x)0.006+0.114*(2838*x(:,2)./(2838*x(:,2)+exp(-P(1)./(8.314472*x(:,1)))./P(2)));

XX=[xdata P3]
P=[10 20];
[P,r] = nlinfit(XX,y,fx,P);
9楼2009-10-12 23:00:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

hitzhang

木虫 (正式写手)

★ ★
wuguocheng(金币+1,VIP+0): 谢谢专家 10-11 23:23
feiliao8170(金币+1,VIP+0): 10-13 19:52
先由所有数据把P3定出来
2楼2009-10-11 16:44:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

urion

铁杆木虫 (职业作家)

★ ★
wuguocheng(金币+1,VIP+0): 谢谢参与交流 10-11 23:23
feiliao8170(金币+1,VIP+0): 10-13 19:52
正在学习中 试试polyfit函数
3楼2009-10-11 17:01:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nuaamax

金虫 (著名写手)

★ ★ ★
wuguocheng(金币+2,VIP+0): 谢谢参与交流 10-11 23:23
feiliao8170(金币+1,VIP+0): 10-13 19:53
Matlab好像理论上只能进行线性方程组的求解,实际上理论基础就是泰勒展开,所以进行的就是多项式拟合。
本问题可以采用1st opt软件,可以将你认为的任何表达式拟合出来,理论基础不清楚,但是拟合出来后可以校验。
欢迎访问:wss.xjtu.blog.163.com
4楼2009-10-11 20:00:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见