| 查看: 2076 | 回复: 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枚了 急求! |
» 猜你喜欢
职称评审没过,求安慰
已经有49人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
三无产品还有机会吗
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
在matlab中拟合曲面的表达式
已经有29人回复
matlab拟合拟均相动力学参数
已经有6人回复
需要用matlab拟合数据的外行人急需帮助
已经有10人回复
matlab非线性参数拟合问题
已经有7人回复
求助Matlab lsqcurve函数曲线拟合
已经有3人回复
【求助】使用MATLAB拟合出按照公式的系数
已经有19人回复
如何用MATLAB拟合指数函数
已经有3人回复
【原创】多项式和非多项式曲线拟合的MATLAB实现视频教程
已经有10人回复
【求助】如何使得matlab拟合的曲线强制经过一个点
已经有8人回复
» 抢金币啦!回帖就可以得到:
郑州大学招收2026年外科学博士研究生
+1/462
DIY科研工具交流
+1/212
Analytical Science Advances(Wiley出版社)长期征稿中...
+1/89
天津大学化学系吴立朋课题组申请考核制博士招生/博后招聘
+1/84
澳門大學 土木工程碩士和建造项目管理碩士招聘
+1/80
功能陶瓷材料和无机粉体合成博士后招聘启事
+1/80
博士后招聘
+1/28
上海交通大学机械与动力工程学院周宝文博士后招聘(化学、材料与能源动力等方向)
+1/25
人到中年,还能干啥
+1/22
肿瘤免疫课题组招聘 博后
+1/14
北理工柔性电子国家杰青团队招博士后及科研助理
+1/10
长春工业大学 机电工程学院 韩玲 招收申请审核制2026年秋季入学博士生
+1/10
海南师范大学招收化学博士(光电功能材料课题组招收博士研究生)
+1/8
中南大学化学化工学院高性能聚合物团队2026年诚聘博士后或青年教师
+1/8
招收2026级博士
+1/8
海南师范大学招收化学博士(光电功能材料课题组招收博士研究生)
+1/6
SCI,计算机相关可以写
+1/6
中国地质大学(武汉)戴志高课题组诚招2026级硕博研究生
+1/5
如何确定博后期间的研究方向?
+1/4
浙江大学杨林课题组招聘药物化学与有机合成方向博士后
+1/3
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,