x=[263 335 391 431 470 500 545 568 649 720 770];
y=[885 817 749 716 681 658 621 591 548 511 598];
%多项式拟合
n=1;
A=polyfit(x,y,n); %n是给定的多项式的次数,拟合出来的结果A是系数向量
y1=polyval(A,x); %计算出拟合的y值
plot(x,y,'k',x,y1,'r-'); %画出数据对比图,黑点是原始数据,红线是拟合曲线
%指定函数拟合
f=fittype('ae^(bx)+c'); %引号里的是你的函数模型,默认是以x为自变量,其余为待定参数
fity=fit(x,y,f) %曲线拟合,会给出拟合结果
%再根据给出的结果计算出新的y值,画图神马的
1 不管是椭圆还是圆,首先用椭圆公式:
2 进行基于最小二乘法的系数拟合,得到系数:
3 再分别令a=b、b=a,即分别考察在三个已知系数下、下方差的大小与四个系数下均方差的大小。
选择均方差最小的一组,即为最终结果。如果是前两者之一,则为圆形,其半径为a或b,圆心为(x0, y0);若果是后者,则为椭圆,且其短轴长为2b,长轴长为2a,椭圆中心为(x0, y0)。
有了这思路matlab程序还不是收到擒来么。
首先你要把你的数据在工作窗口输入matlab。
然后嘞,你可以用plot命令,直接打出由你的数据画出来的点或者是图像。然后嘞,在plot打出来的图像上面有一排工具栏,其中一个的子选项里面有一个拟合工具箱(忘记名字啦~~应该是有fit之类的字眼)
第二种方法,在输入数据以后,你可以在命令窗口输入cftool,这个命令呢,它可以召唤出matlab的拟合工具箱。在工具箱里面选择你已经输入的数据,然后选择你要拟合的函数的类型,或者自己定义函数类型。然后就可以直接拟合了。
对了,cftool的工具箱比plot里面的可以拟合的函数种类会多很多。
你在matlab下的commend window里输入cftool,然后在x data下选择t在y data下选择y。接着在右边的下拉框里选择custom equation,在custom equation下面输入c0+c1exp(-x/a1)+c2exp(-x/a2),然后它就输出结果了(cftool的左下边会出来结果)。我算的结果是a1=003832;a2=1194;c0=2506;c1=-0928;c2=6035;R方是09653 (你还可以在fit option里选择算法,推荐LM算法)。希望采纳哦!
以上就是关于matlab曲线拟合怎么做全部的内容,包括:matlab曲线拟合怎么做、matlab 曲线拟合、如何利用matlab r2016a拟合曲线等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)