未知函数做曲线拟合
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/29 06:01:17
x1=[350350350350350350350350350500500500500500500500500500650650650650650650650650650];x2=[2223.53.5
两边取一下对数就变成线性拟合了,然后用最小二乘法就可以了
由于曲线比较诡异所以,这里采用三次插值的方法来做,这样可以是曲线比较平滑,三次插值是分段插值,使得曲线平滑,如果使用取对数后在进行最小二乘法来做的话那么得到的误差将会是十分大,我是用MATLAB的曲线
1、在命令行输入数据:2、启动曲线拟合工具箱》cftool3、进入曲线拟合工具箱界面“CurveFittingtool”(1)点击“Data”按钮,弹出“Data”窗口;(2)利用Xdata和Ydat
GeneralmodelPower2:f(x)=a*x^b+cCoefficients(with95%confidencebounds):a=5924(5551,6297)b=-1.231(-1.26
matlab里有个lsqcurvefit函数,给你段程序,自己照着改吧,应该不难的functionUntitled3clcxi=[0.019,0.023,0.027];%xdatayi=[430,38
首先你需要知道你的数据符合什么函数,或者知道大概的函数表达式,才能对数据进行拟合.这与用什么软件没有关系,Origin如此,Matlab也是如此.如果不知道函数表达式,无法对数据进行拟合.
我已经在另一个问题回了你了,两个分一起加吧.如果想了解更多,可以加我.
多元线性回归用regress命令;一元多项式回归用polyfit命令;多元二项式回归用rstool命令.
命令窗口输入x=[0,0.5,1,1.5,2,2.5,3,3.5];y=[1,2.4,3.1,5.0,7,11,17,24];cftool在新的图形界面中,点data,creatdata,x与y选择相
你把你的数据按行放到名为nihe.txt的记事本中,再考到工作目录下,运行下面的程序.T=textread('nihe.txt');plot(T(1,:),T(2,:),'+&
点数太少,你用3次多项式拟合,有四个系数要确定,你提供的数据之比系数个数多一组,所以拟合效果很差,这个没办法,可以采用的改进方法:1.增加数据点,估计10组以上的数据效果会比较好2.采用其他函数拟合
fun=inline('c(1)+c(2)./x','c','x');>>c=lsqcurvefit(fun,[10,20],x,y)c=1.0e+003*0.04648.4241即a=464,b=8
a=[0.01410.01540.01640.01550.01490.01420.01290.01150.01140.01110.01050.01040.01000.00910.00810.00760
x=[5.25.86.87.88.89.711.7713.941618202223.92627.9303234363840424445.847.85051.853.855.757.859.661.76
没有现成的办法,请预处理数据后再拟合比方说y=a*exp(b*x)那么预处理数据为lny=lna+b*x这样就变成线性拟合问题了啊!LZ这个注意转化问题啊!
clear>> x=[1:31];%输出x值>> y=[25755,28500,28197,27239,28924,28317,28367,28317,26
分别使用2、3、4阶多项式拟合,结果如图所示.需要说明的是,使用四阶多项式拟合,会有警告信息“Polynomialisbadlyconditioned”,原因是其实不需要使用那么高的阶次,3阶就足够了
确定参数的初始值是比较繁琐的工作,一般可以用随机函数rand()来初定初始值,再根据plot()的散点图的曲线趋势,再调整初始值,直到试验数据曲线与拟合函数曲线基本吻合,即R²≈1(相关系数
把curvefun修改了下,拟合很好.xdata=0:1:24;ydata=[1,1.01573,1.031006579,1.045842764,1.059417803,1.071707049,...