24小时热门版块排行榜    

查看: 1842  |  回复: 2

joyhnust

木虫 (著名写手)

[求助] 根据已知方程和一系列数据如何拟合出方程中的三个参数 已有1人参与

方程如下:Z = a/X + bY + c
如何拟合出方程中的a, b, c三个参数。希望懂的大牛不吝赐教,把代码写出来。谢谢!

发自小木虫IOS客户端
回复此楼
生活就像骑单车,只有不断前进,才能保持平衡!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yz457694

铁杆木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
做个非线性回归就行了,matlab文档里面有例子,我把例子简化了(省去了背景),参考如下:
示例模型见图(待回归的方程)
x1,x2和x3已知,并且β1,β2,...,β5是未知参数。
函数文件:
CODE:
function y= myfun(beta,x)
b1 = beta(1);
b2 = beta(2);
b3 = beta(3);
b4 = beta(4);
b5 = beta(5);

x1 = x(:,1);
x2 = x(:,2);
x3 = x(:,3);

y = (b1*x2 - x3/b5)./(1+b2*x1+b3*x2+b4*x3); %模型方程

函数nlinfit用于找到非线性模型的最小二乘参数估计。 它使用高斯 - 牛顿算法对Levenberg-Marquardt修改进行全局收敛。
需要数据:自变量(这里就是x1,x2,x3),待拟合的函数值(对应y),待估计参数的初值
主程序:
CODE:
%待拟合的自变量
x0=[
   470   300    10
   285    80    10
   470   300   120
   470    80   120
   470    80    10
   100   190    10
   100    80    65
   470   190    65
   100   300    54
   100   300   120
   100    80   120
   285   300    10
   285   190   120];
%待拟合的函数值
y0=[
8.55
3.79
4.82
0.02
2.75
14.39
2.54
4.35
13
8.5
0.05
11.32
3.13];
%参数初值
beta0=[1 0.05 0.02 0.1 2]';
%调用
beta = nlinfit(x0,y0,@myfun,beta0);
%相关系数
x1=x0(:,1);
x2=x0(:,2);
x3=x0(:,3);
y=(beta(1)*x2 - x3/beta(5))./(1+beta(2)*x1+beta(3)*x2+beta(4)*x3);%估计值
R=corrcoef(y0,y)

结果:R =
    1.0000    0.9995
    0.9995    1.0000
看斜对角线就行了,即R=0.9995,效果很不错了。
一般这类问题的难点就在参数初值的选取,结合问题背景大致估几个,试几次就能收敛
根据已知方程和一系列数据如何拟合出方程中的三个参数
hougen_watson.gif

2楼2017-01-07 15:35:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yz457694

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
joyhnust: 金币+30, ★★★很有帮助, 很有帮助,只是我对这些代码表示的意思不是很明白,你有QQ可以加下线下交流一下吗?我的QQ:3538676675 2017-01-07 17:17:10
joyhnust: 金币+70, ★★★★★最佳答案, 非常感谢! 2017-01-07 18:34:00
文件见附件,可以自己试试,你的问题应该就可以解决了。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : main.m
  • 2017-01-07 15:36:42, 611 bytes
  • 附件 2 : myfun.m
  • 2017-01-07 15:36:42, 201 bytes
3楼2017-01-07 15:38:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 joyhnust 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:22 by oEVWOejN9taj
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 5/250 2026-08-08 17:02 by oEVWOejN9taj
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 16:47 by oEVWOejN9taj
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:27 by oEVWOejN9taj
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:02 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 WQyTGMbfH7Cx 2026-08-07 4/200 2026-08-08 15:02 by oEVWOejN9taj
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见