| 查看: 2430 | 回复: 8 | |||
[交流]
【求助】急求关于matlab做非线性拟合的函数
|
|||
|
我这里有三十组X1、X2与Y值,想拟合出它们之间的二元非线性回归方程,不知道如何下手,望知道的童鞋指点。 X1=[367 357 348 338 333360 351 343 335 329 363 355 344 337 330 358 351 343 334 327 358 352 340 332 326 362 356 344 337 332] X2=[600 630 650 680 710 625 645 678 712 720 640 635 688 679 727 642 664 693 67 5 740 630 648 689 710 742 620 643 667 701 710] Y=[10.60 17.01 25.40 38.52 46.99 14.47 21.77 31.30 41.89 52.05 12.65 19.49 30. 28 40.32 51.33 16.11 22.22 32.02 44.25 57.64 15.68 21.09 34.85 47.01 59.45 13. 37 17.39 30.03 39.29 47.97] 如果用matlaB回归的话,希望可以转告程序! 不胜感激,多谢!我一共就32枚金币,但是系统提示送不了30枚,所以就送25枚了 急求! |
» 猜你喜欢
今年E04面上
已经有20人回复
网络举报学术不端成为了男女之间情杀的手段了,真荒唐。。。
已经有3人回复
大龄残疾硕士的一点执念
已经有20人回复
2026年面上项目中了,2A+B, 会评顺利通过
已经有12人回复
Suzuki偶联中硼酸酯原料掉下的硼酸酯是否可以自身偶联,生成B2Pin2杂质
已经有3人回复
刑法学论文投稿求助
已经有5人回复
Journal of Environmental Chemical Engineering
已经有3人回复
最后一年,祈求好运
已经有3人回复
风电环氧领域
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
在matlab中拟合曲面的表达式
已经有29人回复
matlab拟合拟均相动力学参数
已经有6人回复
需要用matlab拟合数据的外行人急需帮助
已经有10人回复
matlab非线性参数拟合问题
已经有7人回复
求助Matlab lsqcurve函数曲线拟合
已经有3人回复
【求助】使用MATLAB拟合出按照公式的系数
已经有19人回复
如何用MATLAB拟合指数函数
已经有3人回复
【原创】多项式和非多项式曲线拟合的MATLAB实现视频教程
已经有10人回复
【求助】如何使得matlab拟合的曲线强制经过一个点
已经有8人回复
» 抢金币啦!回帖就可以得到:
宝宝起名
+1/474
如何快速、批量挖掘高活性生物酶 挖酶、生物酶挖掘、挖酶教学、批量挖掘、高质量
+1/83
安徽大学材料学院招聘博士后(热电材料、热功能材料、超级电容器、气敏传感方向)
+1/45
中国医学科学院苏州系统医学研究所胡士斌课题组科研助理招聘
+1/45
澳门大学周胤宁课题组招收2027年8月入学博士生
+1/44
以色列理工-生物质塑料等催化或多相反应方向2-3名---全奖博士研究生和科研助理
+2/42
回首往事
+1/37
北京理工大学长三角研究院(嘉兴)先进材料与智能装备团队 招聘
+1/37
浙江大学衢州研究院肖成梁课题组招聘博士后及科研助理
+1/34
四川大学华西医院高瞻课题组诚聘博后、博士/硕士生及科研助理 (柔性医疗电子)
+1/32
中科院研究所招聘科研/实验助理一名
+1/31
美国圣路易斯大学招聘生物信息学博士后
+1/31
厦门大学张桥保教授团队招收2027年硕士/博士研究生以及博士后(材料、化学方向)
+1/31
研究所招聘科研/实验助理一名
+1/26
瑞典林雪平大学博士后招聘|PEC Water Splitting 方向
+1/7
北师大珠海校区黄晓鹏课题组招收化学与材料相关方向2027级推荐研究生
+1/7
华南理工大学国际校区博士后招聘(复合材料增材制造、柔性智能器件方向)
+1/4
吉布斯自用能变、平衡常数、活度/分压计算
+1/4
圣路易斯华盛顿大学管建均教授课题组招聘博士后(2名)
+1/3
北理工集成电路杰青团队 | 诚招科助理
+1/1
2楼2011-01-04 13:03:28
3楼2011-01-04 13:12:18
★ ★
lanlan0822(金币+5): 2011-01-05 09:01:31
xiegangmai(金币+2):辛苦了,谢谢应助! 2011-01-07 22:07:27
lanlan0822(金币+5): 2011-01-05 09:01:31
xiegangmai(金币+2):辛苦了,谢谢应助! 2011-01-07 22:07:27
|
楼主给你个例子,你自己琢磨琢磨吧。我觉得最好的学习方式就是按照一个例子自己摸索试验。 例程:方程为F=K*X+C*Y+Z*(1-exp(-B*y^2))-F0 F,X,Y,F0,都是已知的列向量,拟合参数K,C,Z,B 解:在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function F=zhidao_31(a,x) %其中K,C,Z,B分别用a(1),a(2),a(3),a(4)代替 %X,Y,F0分别用x(:,1),x(:,2),x(:,3)代替 F=a(1)*x(:,1)+a(2)*x(:,2)+a(3)*(1-exp(-a(4)*x(:,2).^2))-x(:,3); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 以下是测试:在Matlab下面输入: %先由已经的x,y,F0和已知的k,c,z,b来产生F,然后通过x,y,F0,F %验证一下:能否得到我们刚才所选用的参数k,c,z,b %下面以随机数为例 x=rand(100,1); y=rand(100,1); F0=rand(100,1); k=1; c=1.5; z=2.5; b=3.5; X=[x,y,F0]; F=zhidao_31([k,c,z,b],X); [A,res]=lsqcurvefit('zhidao_31',ones(1,4),X,F); A 得到的结果: A = 1.0033 1.4446 2.5520 3.4853 跟k,c,z,b的值大致一样。 ------------------------------------------ 例题中的问题: 设好x,y,F0,F后,在Matlab下输入: [A,res]=lsqcurvefit('zhidao_31',ones(1,4),[x,y,F0],F); %注意x,y大小写。 A 就可以了。 |
5楼2011-01-04 13:46:08
6楼2011-01-04 15:29:37
7楼2011-01-04 15:30:35
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖
|
y=p0+p1*x1+p2*x2;p1 p0 = 352.718330203856 p1 = -1.03742355830517 p2 = 0.0544705855433249 相关系数(R): 0.988109884761729 y=p0+p1*x1+p2*x2+p3*x1^2+p4*x2^2+p5*x1*x2; p0 = 5409.56927884948 p1 = -22.0861948342262 p2 = -4.06582793544753 p3 = 0.024111003125518 p4 = 0.00140539387129161 p5 = 0.0063262492366287 相关系数(R): 0.999477545777094 |
8楼2013-11-01 20:38:21
★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
1592203609: 金币+1, 谢谢回帖 2013-11-02 12:18:48
小木虫: 金币+0.5, 给个红包,谢谢回帖
1592203609: 金币+1, 谢谢回帖 2013-11-02 12:18:48
|
假设你预期的二元二次方程为 y = b1 + b2*X1 + b3*X2 + b4*X1*X2 + b5*X1^2 + b6*X2^2 程序如下 X1=[367 357 348 338 333360 351 343 335 329 363 355 344 337 330 358 351 343 334 327 358 352 340 332 326 362 356 344 337 332 357]; X2=[600 630 650 680 710 625 645 678 712 720 640 635 688 679 727 642 664 693 675 740 630 648 689 710 742 620 643 667 701 710]; Y=[10.60 17.01 25.40 38.52 46.99 14.47 21.77 31.30 41.89 52.05 12.65 19.49 30.28 40.32 51.33 16.11 22.22 32.02 44.25 57.64 15.68 21.09 34.85 47.01 59.45 13.37 17.39 30.03 39.29 47.97]; modelfun = @(b,x)b(1)+b(2)*x(1, +b(3)*x(2, +b(4)*x(1, .*x(2, +b(5)*x(1, .^2+b(6)*x(2, .^2;beta0 = [1 2 3 4 5 6]; mdl = nlinfit([X1;X2],Y,modelfun,beta0) 如果效果不好,可以考虑加权函数或启用robust. |
9楼2013-11-02 05:09:24
简单回复
zyxme4楼
2011-01-04 13:20
回复
robert2020(金币-2):为了他人的方便,请勿在求助帖中纯表无意义回复! 2011-01-11 10:34:40












回复此楼

+b(3)*x(2,