matlab多元非线性拟合(如何用matlab拟合多变量非线性模型)

本文目录
- 如何用matlab拟合多变量非线性模型
- 我想用matlab做一个多元非线性的拟合(五元函数最好是五元高次的)请问应该怎么做
- 关于matlab多元非线性问题 现有一个公式y=(0.0682+0.0007x1-0.0001x2)/(1-0.0017x2) 测得实验数据如下
- 求救,关于数学建模,MATLAB多元非线性拟合
如何用matlab拟合多变量非线性模型
怎么用matlab进行非线性的多元函数拟合 matlab拟合工具箱cftool %拟合数据曲线;线性最小二乘法是解决曲线拟合的最常用的方法, %1、多项式拟合函数;p=polyfit(x,y,n);求p拟合函数在xi处的近似值pi=polyval(p,xi); %2、利用常用矩阵的除法解决
我想用matlab做一个多元非线性的拟合(五元函数最好是五元高次的)请问应该怎么做
用regress回归出线性的,如果要二次的,可以构造x1*x1 x1*x2 x1*x3 x1*x4 x1*x5 x2*x2 x2*x3...等。这里只用线性的,原理一样。
clc;clear;
A=[...
2.78 0.01 0.3 6600 0.1 0.00029
2.78 0.04 0.4 10680 0.1 0.02660
2.78 0.07 0.5 14770 0.1 0.08115
2.78 0.1 0.6 18860 0.1 0.13330
11.12 0.01 0.3 10680 0.1 0.05015
11.12 0.04 0.4 6600 0.1 0.13879
11.12 0.07 0.5 18860 0.1 0.29497
11.12 0.1 0.6 14770 0.1 0.33964
19.46 0.01 0.4 14770 0.1 0.11775
19.46 0.04 0.3 18860 0.1 0.42771
19.46 0.07 0.6 6600 0.1 0.33514
19.46 0.1 0.5 10680 0.1 0.52136
27.8 0.01 0.4 18860 0.1 0.22835
27.8 0.04 0.3 14770 0.1 0.52837
27.8 0.07 0.6 10680 0.1 0.45481
27.8 0.1 0.5 6600 0.1 0.61144
2.78 0.01 0.6 6600 0.1 0.00014
2.78 0.04 0.5 10680 0.1 0.02114
2.78 0.07 0.4 14770 0.1 0.09826
2.78 0.1 0.3 18860 0.1 0.21994
11.12 0.01 0.6 10680 0.1 0.00956
11.12 0.04 0.5 6600 0.1 0.09640
11.12 0.07 0.4 18860 0.1 0.34450
11.12 0.1 0.3 14770 0.1 0.51667
19.46 0.01 0.5 14770 0.1 0.08200
19.46 0.04 0.6 18860 0.1 0.24091
27.8 0.1 0.4 6600 0.1 0.66920
2.78 0.01 0.3 6600 0.2 0.00429
2.78 0.04 0.4 10680 0.2 0.04748
2.78 0.07 0.5 14770 0.2 0.10282
2.78 0.1 0.6 18860 0.2 0.15147
11.12 0.01 0.3 10680 0.2 0.28456
11.12 0.04 0.4 6600 0.2 0.29335
11.12 0.07 0.5 18860 0.2 0.37645
11.12 0.1 0.6 14770 0.2 0.40228
19.46 0.01 0.4 14770 0.2 0.41776
19.46 0.04 0.3 18860 0.2 0.59989
19.46 0.07 0.6 6600 0.2 0.45472
19.46 0.1 0.5 10680 0.2 0.59795
27.8 0.01 0.4 18860 0.2 0.57988
27.8 0.04 0.3 14770 0.2 0.70777
27.8 0.07 0.6 10680 0.2 0.57033
27.8 0.1 0.5 6600 0.2 0.68705
2.78 0.01 0.6 6600 0.2 0.00075
2.78 0.04 0.5 10680 0.2 0.03504
2.78 0.07 0.4 14770 0.2 0.12749
2.78 0.1 0.3 18860 0.2 0.25714
11.12 0.01 0.6 10680 0.2 0.07142
11.12 0.04 0.5 6600 0.2 0.21884
11.12 0.07 0.4 18860 0.2 0.43447
11.12 0.1 0.3 14770 0.2 0.58866
19.46 0.01 0.5 14770 0.2 0.31837
19.46 0.04 0.6 18860 0.2 0.37728
19.46 0.07 0.3 6600 0.2 0.66415]
X=A(:,1:5),Y=A(:,6)
)
结果:
B =
0.0189
3.2436
-0.4617
0.0000
1.1081
-0.0937
关于matlab多元非线性问题 现有一个公式y=(0.0682+0.0007x1-0.0001x2)/(1-0.0017x2) 测得实验数据如下
问题分析
1、这个公式的拟合效果只能算是比较一般,很容易可以找到更好的公式(形式不变,只改系数)。
2、拟合效果(Goodness of fit)的检验比较复杂,据说有拟合度、相关系数、F统计量、剩余标准偏差等,具体定义和术语也不是很统一。简单情况下,可以用残差平方和进行比较。
参考代码
前面x1、x2、Y定义省略:
y=(0.0682+0.0007*x1-0.0001*x2)./(1-0.0017*x2);
f = @(c,x) (c(1)+c(2)*x(:,1)+c(3)*x(:,2))./(1+c(4)*x(:,2));
X = ;
c0 = ;
c = lsqcurvefit(f,c0,X,Y)
y2 = f(c,X);
plot(,’.-’)
legend(’原始数据’,’原拟合公式’,’改进拟合公式’,2)
sum((y-Y).^2)
sum((y2-Y).^2)
由图可以看到,新的系数拟合效果要好很多,计算的残差平方和如下:
ans =
1.2017
ans =
0.0540
显然,后一种的残差小很多。
求救,关于数学建模,MATLAB多元非线性拟合
根据数据,其多元非线性拟合函数为
y=a(1)*(x1-22)^2 + a(2)*(x2-113)^2 + a(3)
该拟合问题可以用nlinfit()命令函数来实现。实现代码:
x1=’;
x2=’;
y=’;
x=;
F=@(a,x)a(1)*(x(:,1)-22).^2 + a(2)*(x(:,2)-113).^2 + a(3);
a0=;
a=nlinfit(x,y,F,a0);
c=a(3);b=a(2);a=a(1);
运行结果, a(1)=-69.00654019;a(2)=249.7518892;a(3)=134.5976391

本文相关文章:
matlab指数函数拟合求参数(如何用MATLAB拟合指数方程)
2026年8月26日 03:45
excel数据拟合怎么做?MATLAB怎么用最小二乘法拟合数据曲线
2026年5月14日 08:15
matlab曲线拟合函数工具(如何使用matlab 2014a 做数据曲线拟合)
2026年4月26日 08:15
更多文章:
evaluation状态是好是坏(evaluation和review有什么区别)
2025年12月27日 22:30
idea写的代码eclipse能用吗(怎么把Intelij IDEA的工程变为Eclipse工程,希望有人解答)
2025年6月9日 15:00
insert命令注意哪些语法问题(sql语句中INSERT的使用问题)
2026年8月12日 10:30
fundamental音标(英语leap forward怎么翻译)
2025年11月21日 04:00
scum建房子(SCUM0.8版本悬空房建造攻略悬空房怎么建)
2026年7月11日 03:30
virtue中文(谁知道V打头的英文单词呀 要加中文意思越多越好 谢谢谢谢)
2025年12月17日 23:00
application是什么类型(Excel VBA中APPLICATION是什么意思)
2026年2月18日 21:30
疫情期间应急方案企业模板(公司疫情防控措施方案范文(精选5篇))
2026年1月3日 21:00
es6 阮一峰(来自一位react新手的react入门须知)
2025年8月26日 09:30
common翻译(common ,ordinary,general,usual,normal,natural区别)
2026年2月18日 14:30
discuz自适应模板下载(请问discuz论坛下载的模板安装问题)
2025年9月17日 01:45











