matlab如何拟合得到5个自变量,一个因变量的函数,急求!高手请相助,分数奉上~
如题所诉,有23个散点,每个点的信息是六维(即5个自变量,一个因变量)。即Xi=[ai1ai2ai3ai4ai5yi];i=1:23每个自变量与因变量的曲线关系大概可以通...
如题所诉,有23个散点,每个点的信息是六维(即5个自变量,一个因变量)。即Xi=[ai1 ai2 ai3 ai4 ai5 yi] ; i=1:23每个自变量与因变量的曲线关系大概可以通过一定处理知道,但最好是可以直接通过整体拟合得到一个y关于自变量的5元函数,请问高手,matlab有办法做到这一步吗?(很久没提问了,不知道多少分才是算高分,但真想知道方法,觉得给的不够的可以说哈,求告知~~~)
展开
2个回答
展开全部
matlab 至少可以通过如下几个方法得到你的结果。
使用统计工具箱
1 多元线性拟合 regress函数可以直接实现,非常简单。此做法类似于对数据进行了线性最小二乘拟合,其实也就是接了超定方程。但是在实际问题中,多数都不是用线性关系可以描述的。
2 自行构建函数关系式,使用非线性拟合函数nlinfit,还有诸如fittype lsqcurvefit之类的函数,但是你得自己想函数表达式。
我通常采用的方式是使用人工神经网络工具箱进行处理。通过调整BP参数得到比较满意的结果。但是这种做法产生的是一个数学模型,而不是具体的函数表达式。
使用统计工具箱
1 多元线性拟合 regress函数可以直接实现,非常简单。此做法类似于对数据进行了线性最小二乘拟合,其实也就是接了超定方程。但是在实际问题中,多数都不是用线性关系可以描述的。
2 自行构建函数关系式,使用非线性拟合函数nlinfit,还有诸如fittype lsqcurvefit之类的函数,但是你得自己想函数表达式。
我通常采用的方式是使用人工神经网络工具箱进行处理。通过调整BP参数得到比较满意的结果。但是这种做法产生的是一个数学模型,而不是具体的函数表达式。
追问
最小二乘线性的方法可能不行,因为我大体知道每个单一变量和目标函数的关系不是线性我大体知道f1=y(x1),f2=y(x2),f3=y(x3,f4=y(x4),f5=y(x5),但不确定是否F=k*f1*f2*f3*f4*f5,我更想直接通过原始的23个点拟合出相应y关于x1,2,3,4,5的五元函数关系,请问高手这样用你上诉的方法能实现吗?是否可具体些,本身matlab接触较少,万谢~
展开全部
matlab可以做函数拟合,没问题。
如果能已知函数关系,只是待定参数的话,会很容易。
否则,就得自己猜一个函数关系,这样麻烦些;如果蒙不到正确的函数形式就很难有好效果了。
如果能已知函数关系,只是待定参数的话,会很容易。
否则,就得自己猜一个函数关系,这样麻烦些;如果蒙不到正确的函数形式就很难有好效果了。
追问
我大体知道f1=y(x1),f2=y(x2),f3=y(x3,f4=y(x4),f5=y(x5),但不确定是否F=k*f1*f2*f3*f4*f5,我更想直接通过原始的23个点拟合出相应y关于x1,2,3,4,5的五元函数关系,请问高手用matlab该如何实现?如果这样实现不了的话,按我现在已知的因素是否还有别的方法可就这个五元函数关系式,能推荐点具体的方法吗?本人matlab接触较少,万谢~
追答
y(x)是个已知的函数吗??
可以分步拟合,没问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询