matlab 数据拟合的问题
现在有个函数F=I*(sqrt(A*cos(4*X1-Y1)+B))*cos(2*X2-Y2)+I*C*cos(2*X2-Y3)其中I,X1,X2是已知量,A,B,C,Y...
现在有个函数F=I*(sqrt(A*cos(4*X1-Y1)+B))*cos(2*X2-Y2)+I*C*cos(2*X2-Y3)
其中I,X1,X2是已知量,A,B,C,Y1,Y2,Y3是未知量,我手头上有I,X1,X2的很多组数据,要用什么方法用什么方法把这个公式拟合出来,然后再将A/B的值确定出来呢 展开
其中I,X1,X2是已知量,A,B,C,Y1,Y2,Y3是未知量,我手头上有I,X1,X2的很多组数据,要用什么方法用什么方法把这个公式拟合出来,然后再将A/B的值确定出来呢 展开
1个回答
展开全部
这个离散数据理论上是没办法求得解析式的,只能用各种常用函数去拟合,你应该先做出它的图形,看看大致什么样的函数分布比较贴进,然后用mean,std等函数求出其均值,平方差等,然后看看求得的拟合曲线中,哪个比较贴近。如果你能给出数据就好了,光这样说的话,还是有些笼统。
不过上面说的这种方法我一般没用,操作起来有点麻烦。我一般是用MATLAB里的cftool操作的。
————————————————————
输入cftool(在此之前已在命令窗口输入过X与Y的值)
在data里选择x和y的数据,然后点击create data set,然后close。
然后再按fitting,点击newfit,在type of fit里选custom equation(自己定义方程),点击new equation,general equation,自己输入方程,然后apply。下面有拟合出来的参数的值,以及拟合的曲线。
或者直接在type of fit里面选择各种方程。
不过上面说的这种方法我一般没用,操作起来有点麻烦。我一般是用MATLAB里的cftool操作的。
————————————————————
输入cftool(在此之前已在命令窗口输入过X与Y的值)
在data里选择x和y的数据,然后点击create data set,然后close。
然后再按fitting,点击newfit,在type of fit里选custom equation(自己定义方程),点击new equation,general equation,自己输入方程,然后apply。下面有拟合出来的参数的值,以及拟合的曲线。
或者直接在type of fit里面选择各种方程。
追问
我用你的方法把参数拟合出来了,但是误差很大,有没有更好的方法么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询