⑴ 如何用MATLAB将10个点拟合出一条曲线求详细步骤、解题思路!万分感谢
首先将你的数据放在工作空间,然后在命令窗口键入cftool 可打开曲线拟合工具箱,纯图形界面操作,很简单的,你按照提示点几下鼠标就行了。
⑵ matlab中的csape怎么使用
function pp = csape(x,y,conds,valconds)
%pp=csape(x,y,'变界类型','边界值'),生成各种边界条件的三次样条插值. 其中,(x,y)为数据向量
%边界类型可为:'complete',给定边界一阶导数.
% 'not-a-knot',非扭结条件,不用给边界值.
% 'periodic',周期性边界条件,不用给边界值.
% 'second',给定边界二阶导数.
% 'variational',自然样条(边界二阶导数为0)
% .
%例 考虑数据
% x | 1 2 4 5
% ---|-------------
% y | 1 3 4 2
%边界条件S''(1)=2.5,S''(5)=-3,
% x=[1 2 4 5];y=[1 3 4 2];
% pp=csape(x,y,'second',[2.5,-3]);pp.coefs
% xi=1:0.1:5;yi=ppval(pp,xi);
% plot(x,y,'o',xi,yi);
pp0 = csape(x,[1,zeros(1,length(y)),0],[1,0]);
pp = csape( x, [1 sin(x) 0], [1 2] ) %左边的点一阶导数为1,右边的点二阶导数为0
splinetool是一个图形化的插值工具
lagrange插值,由于lagrange插值可能不收敛,所以工程中很少有人用这种插值。matlab中没有专门的lagrange插值函数。但我们可以自己编一个,如下:
%lagrange插值子函数
function y=lagrange(x0,y0,x)
n=length(x0); m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
⑶ 如何用matlab数据拟合函数
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。x0dx0ax0dx0a假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0。x0dx0ax0dx0a1、在命令行输入数据:x0dx0a》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475];x0dx0a》y=[5 10 15 20 25 30 35 40 45 50];x0dx0ax0dx0a2、启动曲线拟合工具箱x0dx0a》cftoolx0dx0ax0dx0a3、进入曲线拟合工具箱界面“Curve Fitting tool”x0dx0a(1)点击“Data”按钮,弹出“Data”窗口;x0dx0a(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;x0dx0a(3)点击“Fitting”按钮,弹出“Fitting”窗口;x0dx0a(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有:x0dx0aCustom Equations:用户自定义的函数类型x0dx0aExponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)x0dx0aFourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)x0dx0aGaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)x0dx0aInterpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preservingx0dx0aPolynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~x0dx0aPower:幂逼近,有2种类型,a*x^b 、a*x^b + cx0dx0aRational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子还包括constant型x0dx0aSmoothing Spline:平滑逼近(翻译的不大恰当,不好意思)x0dx0aSum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)x0dx0aWeibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
⑷ 如何使用matlab中的工具箱
使用matlab中的工具箱方法:
MATLAB自带工具箱
查看方式:
我们首先详细介绍一下MATLAB自带工具箱的使用。
在我们不熟悉一些调用工具箱的命令的时候,我们可以按照如下图所示:
在MATLAB主窗口中,点击左下角start--toolboxes,就会罗列出你的MATLAB已经安装的所有工具箱,可以根据你的需要选择你将要使用的工具箱。我们可以看到有拟合工具箱、金融工具箱、最优化工具箱等等。
调用(打开)方式:
下面我们介绍一下如何打开一个工具箱。
我们以调用拟合工具箱为例,进行详细的示例。
调用方式一:
按照如下图所示的步骤:
点击主窗口左下角start--toolboxes--curve fitting--curve fitting tool 单击,就可以打开拟合工具箱.
调用方式二:
在上一步中,我们在start--toolboxes--curve fitting--curve fitting tool ,到这里的时候,会看到在其后面有一个简写 cftool 如下图,这就是我们的拟合工具箱调用命令函数。在MATLAB主窗口中输入cftool ,回车,同样可以打开拟合工具箱。
工具箱的使用:
拟合工具箱打开之后,如下,我们就可以进行多种曲线拟合了。
关于MATLAB拟合工具箱等,一些工具箱的详细用法,由于篇幅的有限,在我的其他经验中都会陆续给出,有兴趣的可以查看。
非自带工具箱
非自带工具箱,需另外下载,然后按照一定的步骤导入,导入后一般不能像上面工具箱一样,通过界面操作,一般都通过函数使用。由于工具箱的导入有几个小的细节需要注意,所以在我的其他经验中,关于如何导入工具箱,我也进行了详细的介绍。
⑸ 用matlab曲线拟合工具箱拟合数据后要进行预测,应该怎么做啊哪位大神
不是matlab安装的问题,这个问题我也遇到过,遍求解答无果之后,终于自己摸索出来了。是这样的,不要用gui中的data按钮来新建数据集,而要在matlab命令窗口中,输入命令:cftool(a,b),其中a,b就是你要设置的x、y坐标的向量。这样出来散点图,之后再在cftool工具箱的gui中点fitting按钮,选择曲线拟合
⑹ 如何用matlab数据拟合函数
1、首先启动matlab,选择编辑器,再新建一个命令文件。
⑺ 【数学建模算法】(番外6)Matlab曲线拟合工具箱cftool
以一个例子作为这篇文章的开始:
利用Matlab中的cftool寻找适当的模型对这个数据进行拟合。
发现曲线形状更像一个二次曲线或者一个指数曲线,所以决定使用二次曲线或指数曲线分别拟合选择效果好的一种。
接下来就要用到工具箱了
在命令行输入cftool
之后就会出现cftool的主界面
下面对界面进行逐一介绍:
可以看到cftool工具箱支持最多3维数据的拟合,而且还可以为数据增加权重。
在你打开工具箱之后,它会自动读取工作区的数据,你需要将其分别赋给X,Y,Z data。
左边部分:
最上面:函数类型
Polynomial:多项式
Degree:多项式阶数。
Robust:鲁棒性要求:
Off——无要求
LAR——(least absolute resial)最小绝对残差
Bisquare——赋权最小残差,给离曲线近的给予较大的权重,远的给予较小的权重。
Custom Equation:用户自定方程
下面是用户自行编写的函数形式。
指数型Exponential
举例说明到此结束,剩下的类型请读者自行探索。
在这部分中会给出函数的模型和计算出的参数值。
给出按参数拟合出的函数图像。
二次多项式:
指数型:
从二者的结果比较可以明显看出,多项式的拟合效果更好。