两个自变量非线性拟合的曲线拟合怎么实现

小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&求指教:关于多个自变量,一个因变量,非线性曲线拟合的问题
求指教:关于多个自变量,一个因变量,非线性曲线拟合的问题
各位大侠高手:
& && && & 小弟我最近遇到一个多元非线性曲线拟合的问题,请大侠高手们多多指教!问题是这样的:一个因变量,三个自变量,在未知其经验模型(公式)的情况下,我想通过拟合找出因变量和三个自变量之间的关系方程。通过1stopt这个软件能拟合两个自变量的,三个及以上自变量需要经验公式,现在我不知道该用什么软件才能实现这样的非线性拟合,怎么拟合,并得到相应公式?疑惑中……请大家多多指教!
谢谢指导~其实推这个公式的初衷就是想通过从数值上发现规律,因为定性去分析发现不好发现规律。这是一种尝试,很多地方事前考虑不了。。。
边界条件是可知的,只是对于拟合出来的图形,是曲线或曲面,完全想象不出来,所以其他性质都不太了解,本身想通过数据直接找到几个规律,选择简单点的模型进行外推。。。
这个思路不错,谢谢指导!我尝试先用一个自变量,一个因变量,另外两个当作常量来做,定出该自变量和因变量的关系后,再对该模型方程中的常量(此时可能是另外自变量的函数)两个进行研究。。。
我对你要拟合的具体边界条件不了解;我目前在做的是6维系统,直接分解为6个正交多项式的乘积;
谢谢指导,以下是我用到的数据。
X& & & & Y& & & & W& & & & Z
0& & & & 0.00 & & & & 2.00 & & & & 9.72
15& & & & 0.00 & & & & 2.00 & & & & 12.05
30& & & & 0.00 & & & & 2.00 & & & & 9.945
60& & & & 0.00 & & & & 2.00 & & & & 5.59
90& & & & 0.00 & & & & 2.00 & & & & 0.6
0& & & & 0.50 & & & & 2.00 & & & & 7.34
15& & & & 0.50 & & & & 2.00 & & & & 9.25
30& & & & 0.50 & & & & 2.00 & & & & 7.69
60& & & & 0.50 & & & & 2.00 & & & & 2.04
90& & & & 0.50 & & & & 2.00 & & & & 1.83
0& & & & 0.67 & & & & 2.00 & & & & 12.75
15& & & & 0.67 & & & & 2.00 & & & & 16.15
30& & & & 0.67 & & & & 2.00 & & & & 8.7
60& & & & 0.67 & & & & 2.00 & & & & 2.45
90& & & & 0.67 & & & & 2.00 & & & & 2.22
0& & & & 0.75 & & & & 2.00 & & & & 15.1
15& & & & 0.75 & & & & 2.00 & & & & 11.69
30& & & & 0.75 & & & & 2.00 & & & & 6.48
60& & & & 0.75 & & & & 2.00 & & & & 3.68
90& & & & 0.75 & & & & 2.00 & & & & 4.38
0& & & & 1.00 & & & & 2.00 & & & & 9.12
15& & & & 1.00 & & & & 2.00 & & & & 15.53
30& & & & 1.00 & & & & 2.00 & & & & 4.86
60& & & & 1.00 & & & & 2.00 & & & & 3.71
90& & & & 1.00 & & & & 2.00 & & & & 4.695
0& & & & 0.00 & & & & 4.00 & & & & 8.91
15& & & & 0.00 & & & & 4.00 & & & & 18.52
30& & & & 0.00 & & & & 4.00 & & & & 12.13
60& & & & 0.00 & & & & 4.00 & & & & 7.475
90& & & & 0.00 & & & & 4.00 & & & & 0.68
0& & & & 0.50 & & & & 4.00 & & & & 10.08
15& & & & 0.50 & & & & 4.00 & & & & 5.38
30& & & & 0.50 & & & & 4.00 & & & & 9.9
60& & & & 0.50 & & & & 4.00 & & & & 2.09
90& & & & 0.50 & & & & 4.00 & & & & 1.3
0& & & & 0.67 & & & & 4.00 & & & & 7.92
15& & & & 0.67 & & & & 4.00 & & & & 10.75
30& & & & 0.67 & & & & 4.00 & & & & 6.775
60& & & & 0.67 & & & & 4.00 & & & & 5.21
90& & & & 0.67 & & & & 4.00 & & & & 2
0& & & & 0.75 & & & & 4.00 & & & & 16.76
15& & & & 0.75 & & & & 4.00 & & & & 22.55
30& & & & 0.75 & & & & 4.00 & & & & 16.43
60& & & & 0.75 & & & & 4.00 & & & & 10.67
90& & & & 0.75 & & & & 4.00 & & & & 3.53
0& & & & 1.00 & & & & 4.00 & & & & 8.995
15& & & & 1.00 & & & & 4.00 & & & & 22.53
30& & & & 1.00 & & & & 4.00 & & & & 17.13
60& & & & 1.00 & & & & 4.00 & & & & 5.89
90& & & & 1.00 & & & & 4.00 & & & & 2.38
0& & & & 0.00 & & & & 6.00 & & & & 18.91
15& & & & 0.00 & & & & 6.00 & & & & 16.005
30& & & & 0.00 & & & & 6.00 & & & & 8.235
60& & & & 0.00 & & & & 6.00 & & & & 5.88
90& & & & 0.00 & & & & 6.00 & & & & 1.1
0& & & & 0.50 & & & & 6.00 & & & & 11.21
15& & & & 0.50 & & & & 6.00 & & & & 13.7
30& & & & 0.50 & & & & 6.00 & & & & 9.4
60& & & & 0.50 & & & & 6.00 & & & & 6.8
90& & & & 0.50 & & & & 6.00 & & & & 1.09
0& & & & 0.67 & & & & 6.00 & & & & 14.62
15& & & & 0.67 & & & & 6.00 & & & & 19.85
30& & & & 0.67 & & & & 6.00 & & & & 12.39
60& & & & 0.67 & & & & 6.00 & & & & 7.56
90& & & & 0.67 & & & & 6.00 & & & & 2.94
0& & & & 0.75 & & & & 6.00 & & & & 16.82
15& & & & 0.75 & & & & 6.00 & & & & 28.1
30& & & & 0.75 & & & & 6.00 & & & & 22.14
60& & & & 0.75 & & & & 6.00 & & & & 10.99
90& & & & 0.75 & & & & 6.00 & & & & 1.58
0& & & & 1.00 & & & & 6.00 & & & & 10.19
15& & & & 1.00 & & & & 6.00 & & & & 12.93
30& & & & 1.00 & & & & 6.00 & & & & 21.06
60& & & & 1.00 & & & & 6.00 & & & & 7.34
90& & & & 1.00 & & & & 6.00 & & & & 1.25
其中X在闭区间里,Y在闭区间里,W只有三个取值分别是2,4,6。试想拟合成Z=Z(X,Y,W)的函数的。不知可否实现呢,
你的取点比较稀疏,但是数据不是很平滑,尤其是在y=0.67-0.75附近似乎不连续。要猜测函数形式恐怕很难,因为用参数少的表达式拟合很难重现,而参数多的表达式又没有足够多的点来确证模型的可靠性,可以得到很多个完全不同的拟合。
最好能够多一些数据。z=2,4,6最为稀疏,可以考虑这三个分别做2变量拟合再观察参数的变化。
否则只好根据物理问题作出推测。
谢谢指导!这些数据由实验得到,由于实验条件有限,所以数据连续性不强。您的建议很有价值,我准备着手做一下试试!谢谢!:hand:
你好,我现在遇到的问题和您的很相似,我寻找的是Y与五个因素之间的关系,已经用控制变量法找到了Y与单因素之间的关系式了,但现在不知道怎么把这五个单因素的关系式拟合成一个f(x1,x2,x3,x4,x5)这样的关系式?请您指教,万分感谢!!!1
你好!我也遇到了类似的问题,一个因变量三个自变量,未知函数形式,怎么拟合出公式
请问是怎么解决的
学术必备与600万学术达人在线互动!
扫描下载送金币对两个变量进行回归分析.得到一组样本数据:.则下列说法中不正确的是A.由样本数据得到的回归方程必过样本中心 B.残差平方和越小的模型.拟合的效果越好 C.用相关指数来刻画回归效果.越小.说明模型的拟合——精英家教网——
暑假天气热?在家里学北京名师课程,
&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
题型:单选题
对两个变量进行回归分析,得到一组样本数据:,则下列说法中不正确的是(&&)A.由样本数据得到的回归方程必过样本中心 B.残差平方和越小的模型,拟合的效果越好 C.用相关指数来刻画回归效果,越小,说明模型的拟合效果越好 D.若变量之间的相关系数为,则变量之间具有线性相关关系
题型:单选题
下面4个散点图中,其中两个变量适合用线性回归模型拟合的是(&&&&)A.①② B.①③ C.②③ D.③④
题型:单选题
在两个变量与的回归模型中,分别选择了4个不同的模型,它们的相关指数如下,其中拟合效果最好的模型是&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(&&&)A.模型1的相关指数为 B.模型2的相关指数为学科网 C.模型3的相关指数为 D.模型4的相关指数为
题型:单选题
.某考察团对全国10大城市进行职工人均平均工资与居民人均消费进行统计调查, 与具有相关关系,回归方程 (单位:千元),若某城市居民消费水平为7.675,估计该城市消费额占人均工资收入的百分比为( )A.66%B.72.3%C.67.3%D.83%
题型:单选题
两个变量的回归模型中分别选择了4个不同模型,它们的相关指数如下,其中拟合效果最好的模型是( )A.模型1的相关指数为0.98; B.模型2的相关指数为0.80; C.模型3的相关指数为0.50; D.模型4的相关指数为0.25.
题型:单选题
下列结论正确的是( )①函数关系是一种确定性关系;②相关关系是一种非确定性关系;③回归分析是对具有函数关系的两个变量进行统计分析的一种方法;④回归分析是对具有相关关系的两个变量进行统计分析的一种常用方法.A.①②B.①②③C.①②④D.①②③④.
题型:单选题
已知与之间的一组数据: 0 1 2 3
1 3 5 7 则与的线性回归方程为必过点&&&&&&&&(&&)A.(2,2) B.(1,2) C.(1.5,0) D.(1.5,4)
题型:单选题
10名工人某天生产同一零件,生产的件数分别为15,17,14,10,15,17,17,16,14,12。设其平均数为,中位数为,众数为,则有(&&)A.B.C.D.
题型:单选题
某公司在甲、乙、丙三个城市分别有180个、150个、120个销售点,公司为了调查产品销售的情况,需从这450个销售点中抽取一个容量为90的样本,记这项调查为①; 某学校高二年级有25名足球运动员,要从中选出5名调查学习负担情况,记这项调查为②;则完成①②这两项调查宜采用的抽样方法依次是(  )A.系统抽样,分层抽样 B.简单随机抽样,分层抽样 C.分层抽样,简单随机抽样 D.分层抽样,系统抽样
题型:单选题
下图是2008年“皇华之春”晚会上,七位评委为某舞蹈打出的分数的茎叶统计图,去掉一个最高分和一个最低分后,所剩数据的平均数和方差分别为(&&)。A., B., C., D.,
精英家教网新版app上线啦!用app只需扫描书本条形码就能找到作业,家长给孩子检查作业更省心,同学们作业对答案更方便,扫描上方二维码立刻安装!
请输入姓名
请输入手机号如何证明一个拟合公式(回归方程)的两个参数(自/因变量)相关? - 知乎5被浏览527分享邀请回答03 条评论分享收藏感谢收起1286人阅读
pao相关(2)
&最小二乘法原理
函数插值是差值函数p(x)与被插函数f(x)在节点处函数值相同,即p( )=f( )&&(i=0,1,2,3……,n),而曲线拟合函数 不要求严格地通过所有数据点( ),也就是说拟合函数 在 处的偏差
&&&&&&&&&&&&&&&&&&&&&&&&=
不都严格地等于零。但是,为了使近似曲线能尽量反应所给数据点的变化趋势,要求| |按某种度量标准最小。
&&&&&&&&&&&&&&&&&&&&&=
为最小。这种要求误差平方和最小的拟合称为曲线拟合的最小二乘法。
(一)线性最小二乘拟合
根据线性最小二乘拟合理论,我们得知关于系数矩阵A的解法为A=R\Y。
例题&假设测出了一组,由下面的表格给出,且已知函数原型为
y(x)=c1+c2*e^(-3*x)+c3*cos(-2*x)*exp(-4*x)+c4*x^2
试用已知数据求出待定系数的值。
&&&&&&&在Matlab中输入以下程序
x=[0,0.2,0.4,0.7,0.9,0.92,0.99,1.2,1.4,1.48,1.5]';
y=[2.88;2.3;1.2;2.109;
&&2.9;2.;3.2052];
A=[ones(size(x)) exp(-3*x),cos(-2*x).*exp(-4*x) x.^2];
运行结果为
&&&&&&&&1.2200&&&&2.3397&&&-0.6797&&&&0.8700
&&&&下面画出由拟合得到的曲线及已知的数据散点图
x1=[0:0.01:1.5]';
A1=[ones(size(x1)) exp(-3*x1),cos(-2*x1).*exp(-4*x1) x1.^2];
plot(x1,y1,x,y,'o')
&&&&事实上,上面给出的数据就是由已知曲线
y(x)= 0.7*e^(-3*x)+ 2.3397*cos(-2*x)*exp(-4*x)+ 1.2200*x^2
产生的,由上图可见拟合效果较好。
多项式最小二乘拟合
在Matlab的线性最小二乘拟合中,用得较多的是多项式拟合,其命令是
A=polyfit(x,y,m)
其中 表示函数中的自变量矩阵, 表示因变量矩阵,是输出的系数矩阵,即多项式的系数。
多项式在自变量x处的函数值y可用以下命令计算:
y=polyval(A,x)
例题&对下面一组数据作二次多项式拟合,即要求出二次多项式 中的 ,使最小。
在Matlab中输入以下命令
y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
a=polyfit(x,y,2)
运行结果为
&&&-9.8108&&&20.1293&&&-0.0317
f=vpa(poly2sym(a),5)
%vpa(polyval2sym(),n)只适用于关于多项式函数的拟合。因为此函数对于自变量统一规定为“x”,将由polyfit()所得出的系数按自变量幂次升降放在相应的位置。
运行结果为
&&&-9.8108*x^2+20.129*x-.31671e-1
下面画出由拟合得到的曲线及已知的数据散点图
y1=polyval(a,x);
plot(x,y,'o',x,y1)
(二)非线性最小二乘拟合
(1)lsqcurvefit( )
lsqcurvefit( )是非线性最小二乘拟合函数,其本质上是求解
最优化问题。其使用格式为
x=lsqcurvefit(fun,x0,xdata,ydata)
其中,fun是要拟合的非线性函数,x0是初始参数,xdata,ydata是拟合点的数据,该函数最终返回系数矩阵。
例题&假设已知
并已知该函数满足原型为 ,其中 为待定系数。
在Matlab中输入以下命令
x=0:.1:10;
y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);
f=inline('a(1)*exp(-a(2)*x)+a(3)*exp(-a(4)*x).*sin(a(5)*x)','a','x');
%建立函数原型,则可以根据他来进行下面的求取系数的计算
[a,res]=lsqcurvefit(f,[1,1,1,1,1],x,y);
运行结果为
&&&&0.1197
&&&&0.2125
&&&&0.5404
&&&&0.1702
&&&&1.2300
所求得的系数与原式中的系数相近。
如果向进一步提高精度,则需修改最优化的选项,函数的调用格式也将随之改变。
在Matlab中输入以下命令
ff=ff.TolFun=1e-20;ff.TolX=1e-15;%修改精度,即是修改其限制条件
[a,res]=lsqcurvefit(f,[1,1,1,1,1],x,y,[],[],ff);%两个空矩阵表示系数向量的上下限
运行结果为
&&&&0.1200
&&&&0.2130
&&&&0.5400
&&&&0.1700
&&&&1.2300
x1=0:0.01:10;
y1=f(a,x1);
plot(x1,y1,x,y,'o')
(2)lsqnonlin( )
lsqnonlin( )函数是另一种求最小二乘拟合的函数,其本质上是求解最优化问题
最优化解。它的应用格式为
x=lsqnonlin(fun,x0)
其中,fun的定义与lsqnonlin( )函数中fun的定义有差别, x0仍为初始参数向量,将输出的系数结果放在变量 中。
说明lsqnonlin()函数的使用方法。
首先编写目标函数 (curve_fun.m)
function y=curve_fun(p)%非线性最小二乘拟合函数
x=[0.02 0.02 0.06 0.06 0.11 0.11 0.22 0.22 0.56 0.56 1.10 1.10];
y=[76 47 97 107 123 139 159 152 191 201 207 200];
y=p(1)*x./(p(2)+x)-y;
再用lsqnonlin()函数求解,输入
[p,resnorm,residual]=lsqnonlin(@curve_fun,[200,0.1])
运行结果为
&&212.6836&&&&0.0641
&&1.1954e+003
residual =
&&Columns 1 through 11 &
&&-25.4339&&&&3.5661&&&&5.8111&&&-4.1889&&&11.3617&&&-4.6383&&&&&&&&&&&&&&&&&&&&&&&&&&&5.6847&&12.6847&&&-0.1671&&-10.1671&&&-6.0313
&&Column 12
上面的两种方法都可以作非线性最小二乘曲线拟合
(3)非线性函数的线性化
在进行非线性拟合时,以往由于计算机和相关软件水平有限,常常先把非线性的曲线拟合线性化,然后再进行拟合。下面比较一下先线性化再进行拟合和直接进行非线性拟合的差异。
例题&已知数据
满足曲线 通过数据拟合求出参数和 。
方法一:先将非线性函数转化为线性函数
编写Matlab程序如下
t=[0.25 0.5 1 1.5 2 3 4 6 8];
c=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01];
&&&&&&y=log(c);
&&&&&&a=polyfit(t,y,1)
运行结果为
&&&-0.2347&&&&2.9943
&&&&&&k=-a(1)
&&&&&&v=d/exp(a(2))
&&&15.0219
由此也可以求出相关系数。
方法二:应用非线性拟合直接求解系数
建立m文件:
function f=curvefun3(x,tdata)
f=(x(1)\d)*exp(-x(2)*tdata)%x(1)=v;x(2)=k
tdata=[0.25 0.5 1 1.5 2 3 4 6 8];
cdata=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01];
x0=[10 0.5];
x=lsqcurvefit('curvefun3',x0,tdata,cdata)
运行结果为
&&&&&14.8212&&&&0.2420
&&&&&下面绘图
f=curvefun3(x,tdata);
plot(tdata,cdata,'o',tdata,f)
我们发现两种求法求出的系数很接近。
(三)线性拟合和非线性拟合区别与联系
在许多实际问题中,变量之间内在的关系并不想前面说的那样简单。呈线性关系,但有些非线性拟合曲线可以通过适当的变量替换转化为线性曲线,从而用线性拟合进行处理。对于一个实际的曲线拟合问题,一般先根据观测值在直角坐标平面上描出散点图,看一看散点的分布同哪类曲线图形接近,让后选用相接近的曲线拟合方程,再通过适当的变量替换转化为线性拟合问题,按线性拟合解出后再还原为原变量所表示的曲线拟合方程。
线性拟合方程
变换后线性拟合方程
测出一组实际数据 见下表 是对其进行函数拟合。
&&x=[1.4,1.8,1.1,2.5,2.3,3.6693];
&&y=[0.6,0.3,0.6,0.4,0.8,0.1546];
&&plot(x,y,x,y,'*')&
由上图可以看出是非线性曲线y=a &由表1.1第一行可知
分别对x,y进行对数变换
&&x1=log(x);y1=log(y);plot(x1,y1)
用线性函数拟合的方法可以求出现行参数,使得ln y=aln x+b,即y= ,求解系数a,b及 。
&& A=[x1',ones(size(x1'))];c=[A\y1']
&&&-1.2338
&&&-0.2631
&& exp(c(2))
&&&&0.7686
拟合函数为y(x)=0.768 703 388 199 24
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:41960次
排名:千里之外
原创:33篇
转载:27篇
(3)(2)(2)(4)(22)(1)(3)(10)(3)(2)(8)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 excel拟合两个自变量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信