Matlab curve fitting tool的用法
(2010-09-06 10:54:03)
转载
标签:
杂谈
在Matlab 6.5以上的境况下,在左下方有一个"Start"按钮,好像Windows的最先菜单,点开它,在目次"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",显露数据拟合东西界面,根基上全体的数据拟合和回归认识都可以在这边进行。
底下给你粗略先容一下它的使用方法。
首先在Matlab的夂箢行输入两个向量,一个向量是你要的x坐目标各个数据,其它一个是你要的y坐标的各个数据。
输入今后假如叫x向量与y向量,可以在workspace内里瞥见这两个向量,要保障这两个向量的元素数类似,借使纷歧致的话是不行在工具箱里面进行拟合的。
比方在命令行里输入下列数据: x=(0:0.02:0.98)';
y=sin(4*pi*x+rand(size(x))); 此时x-y之间的函数相似的为正弦干系,频率为2,但是生活一个偏差项。
可以通过作图看出它们的大致分布: plot(x,y,'*','markersize',2); 掀开曲线拟合共工具界面,点击最左边的"Data..."按钮,出现一个Data对话框,在Data Sets 页面里,在X Data选项入选取x向量,Y Data选项中抉择y向量,如果两个向量的元素数相通,那么Create data set按钮就激活了,此时点击它,天生一个数据组,映现鄙人方Data Sets列表框中。
紧闭Data对话框。
此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。
点击Fitting...按钮,出现Fitting对话框,Fitting对话框分为两部门,上头为Fit Editor,下面为Table of Fits,有时刻窗口界面对比小,Fit Editor部分会被收起来,只消把Table of Fits上方的横条往下拉就可以看见Fit Editor。
在Fit Editor 里面点击New Fit按钮,此时其下方的各个选框被激活,在Data Set选框中选中方才创办的x-y数据组,然后在Type of fit选框中选取拟合或回归规范,各个类型的拟合或回归呼应的分别是: Custom Equations 用户自界说函数 Expotential e指数函数 Fourier 傅立叶函数,含有三角函数 Gaussian 正态分布函数,高斯函数 Interpolant 插值函数,含有线性函数,搬动均匀等类型的拟合 Polynomial 多项式函数 Power 幂函数 Rational 有理函数(不太了了,没有若何用过) Smooth Spline ??(润滑插值大概光滑拟合,不太清楚) Sum of sin functions正弦函数类 Weibull 威布尔函数(没用过)欠好兴趣,没有学过数理统计,以是许多器具都是用了才清楚,翻译也就不太正确。
不外在Type of fit
选框下方有一个列表框,基本上各个函数类里的函数都写成领会式列在下方以供选择,所以找符合的函数仍旧比较简单的。
在这个Type of fit选框中选择好合适的类型,并选好合适的函数形式。
因而点击Apply按钮,就开始进行拟合或者回归了。
此时在Curve Fitting Tool 窗口上就会出现一个拟合的曲线。
这即是所要的效率。
在上面的例子中,选择sum of sin functions中的第一个函数形式,点击Apply按钮,就可以看见拟合取得的正弦曲线。
在Fitting对话框中的Results文本框中显示有这回拟合的首要统计音信,主要有 General
model of sin1: ....... (函数形式) Coefficients (with 95% conffidence range) (95%致信区间内的拟合常数) a1=... ( ... ...) (等号后头是平均值,括号里是范畴) .... Godness of fit: (统计结果) SSE: ... (方差) R-squared: ... (决计系数,不知道做什么的) Adjusted R-squared: ... (改良后的决定系数,如何校正的不得而知) RMSE: ... (模范差)上面的例子中颠末拟合得到的函数最终为 y=0.9354*sin(12.36x+6.886) 频率为1.98加减0.03,和向来创立的频率为2符合,相对误差为1.5%。
这曲直线拟合工具箱的一个最简单的使用方法,上面尚有很多效力,写是写不完的,本身参照这个基本的思绪,翻着英汉辞书,看着资助,然后一个按钮一个按钮的试吧。
另外要说的是,如果想把这个拟合的图像导出的话,在Curve Fitting Tool窗口的File菜单下选Print to Figure,此时弹出一个新的图像窗口,里面是你要导出的图像,在这个figure窗口的File菜单里再选Export,选择好合适的形式,寻常是jpeg,选择好途径,点击OK就可以了。
出来的图像可以在Word 等编纂环境中使用,就未几说了。
要窜改图像的性子,如数据点的巨细、颜料等等的,只需求在东西上点右键,就差不多可以找到了。
” 上面所说的X,Y向量就是样本点。
下面是转载的网址,期望有用途
/viewthread.php?tid=28854&extra=&page=1 ilovematlab是个不错的论坛,我也是刚察觉,不过帮助很大,基本的题目在那城市有谜底。
,谢谢了,我仍旧知道啦,通过图取样本点,X=[......],Y=[......] polyfit(X,Y,3)可以得到拟合函数进而得到概率分布函数 ,可以用newrb()或其他函数!不久前我做过一个尝试,是y=√x的拟合,可以稍稍修改下即可以下为我的源代码,希望有所帮助 %已知y=x^(-1/2),x分别取1:9 通过磨练拟合,猜想x=10和11时的y值 clear all; P=1:1:9; T=P.^(1/2); P2=1:1:11; T2=P2.^(1/2); % 神经元数逐渐加添,最多就是训练样本个数 goal = 1e-10; % 训练误差的平方和(默以为0) spread = 10; % 此值越大,需要的神经元就越少(默许为1) MN =
size(P,2); % 最大神经元数(默认为训练样本个数) DF = 1; % 显示隔断(默认为25)
t1=clock; % 计时开始 net = newrb(P,T,goal,spread,MN,DF);%training
datat=etime(clock,t1) %算计安排汇集所用的时候 %----------------
plot(P2,T2,'ro'); %red 'o'号显露确凿值 hold on Y=sim(net,P2); %mse =
mean((T2-Y).^2) %均方误差 plot(P2,Y); plot(P2,Y,'b*'); %blue '*'号表示真实值
x=10:1:11 y=sim(net,x) hold off。