matlab曲线拟合

hold on

一般使用在这个拟合工具窗口的左边,选择变量,即分别选择x,y。工具箱函数比较枯燥

matlab曲线拟合(matlab曲线拟合函数)matlab曲线拟合(matlab曲线拟合函数)


matlab曲线拟合(matlab曲线拟合函数)


matlab曲线拟合(matlab曲线拟合函数)


使用GUI简单直观

>>y=A(1)exp(x/A(2))+A(3) cftool

进入曲线拟合工具箱

进行data

fitting

plot

exclude

等设置

PS:可以一次进行多种拟合方法,更具T统计量筛选出拟合曲线

怎样用matlab进行曲线拟合?

>>

给你个例子吧,分别用spap2和spaps两种B样条以及csaps三次样条曲线拟和余弦曲线。

% 功能: 三种样条函数拟合方法:csaps()、spap2()和spaps()

%% Author: HUANG Huajiang

% Copyright 2003 UNILAB Research Center,

% East China University of Science and Technology, Shanghai, PRC

% 生成离散数据(x,y),其中,x为四个周期,y为加入随机误的余弦波

x = linspace(0,4pi,41);

y = cos(x) + (rand(1,41)-.5).2;

pp = csaps(x,y,0.98); % By csaps()

knots = 9;

K = 4;

sp2 = spaps(x,y, 0.016 ); % By spaps()

% 分别绘制三种方法的拟合曲线

plot(x,y,'ok');hold on;fnplt(pp,'r');hold off % By csaps()

plot(x,y,'ok');hold on;fnplt(sp1,'b');hold off % By spap2()

plot(x,y,'ok');hold on;fnplt(sp2,'r');hold off % By spaps()

% 在同一坐标上绘制三条曲线以便比较

plot(x,y,'ok'); hold on, fnplt(pp,'k'),fnplt(sp1,'b'), fnplt(sp2,'r')

ylabel('y')

hold off

可以先以行向量的形式输入所得的x,y,即x=[ ];y=[ ];再用polyfit(x,y,n)命令便可将所测x,y拟和为函数,n为函数的阶数。得出结果的是按从x的n次方降幂排列的系数,由此便可得出y与x的关系函数。

以函数4,y=(x+1)的平方为例 (未知)。设测得5组数据,x=[-2,-1,0,1,2];y=[1,0,1,4,9];

polyfit(x,y,2);便可得到 ans=1.000 2.000 1.000

由此可知y=1x平方p = polyfit(x,y,3) %p为拟合后的多项式系数 + 2x + 1 ,

再根据这个函数关系,定义y=x平方+2x+1;x=(-2:0.1:2);plot(x,y);便可得到所测数据拟和为函数后的图象。

这个问题我今天刚刚解决,我是做一首数学模型题 在《计算方法》上有一致逼近法,需要解一个线性方程组叫做正规方程组,在MATLAB中你需要编程解决。对于其它多项式小二乘问题,可参考命令 polyfit。对于其他情形,可参考命令lsqnonneg,lsqlin,lsqnonlin或lsqcurvefit。

MATLAB中在一个图上怎样进行多条曲线的拟合?

x=0:pi/5:2pi;

y=sin(x);

%取y=sin(x)的几个数据点,画出来。

hold

on;

p=polyfit(x,y,5)

%把这些点拟合成5次多项式,p是多项式的系数。

p=

做数据曲线拟合,当然该有数据,本经验从以如下数据作为案例。-0.0055

0.0862

-0.3878

0.3

0.9018

0.0010

x1=0:pi/50:2pi;

%然后在拟合多项式上取很多点,把拟合线画出来。

plot(x1,y8,1在工作空间中存入变量的实验数据。具体如下:,'r');

用hold

on

把两条线显示在一个图中。

如何用matlab进行多元曲线拟合

先把点所对应的坐标表示出来,再用matlab函数进行多项式拟合

举例:

程序如下:

x=[1,

2,

3,

6,

7,

9,

10]

y=[1.2,

3,

4.7,

5.2,

6,

7.2]选择完后会自动完成拟合,并且给出拟合函数表达式。

注:

一次多项式拟合:

=polyfit(x,y,1)

问题四:曲线拟合一般有哪些方法? 20分 曲线拟定一般方法包括:三次多项式拟合:

p3

plot

原始数据、一次拟合曲线和三次拟合曲线

x2=1:0.1:10;

y1=polyval(p1,x2)

y3=polyvYi=b(1)exp(b(3)Xi)+b(2);al(p3,x2)

plot(

x,

y,

’’,

y1,

‘:’,

y3)

如果满意请采纳!

这个……应该把这个函数先两边取对数,然后就是线性拟合了,手上没有matlab,你搜索一下网上或者matlab的吧,变成线性形式应该就很方便了。

对了,在里面用英文搜索应该搜linear

fitting

以上。

想不起来函数的老狼

楼上的说法完全支持,只是没有用过nlinfit

matlab中怎么做圆曲线拟合

-2.2053

运行Matlab软件。

x2,

x=[数据x1,数据x2,...,数据xn];

y=[数据y1,数据y2,...,数据yn];

当数据较多时,可以从excel,txt等文件中导入。

把数据存入工作空间后,在命令窗口中输入cftool,回车运行。

选择拟合的曲线类型,一般是线性拟合,高0.0060斯曲线,平滑曲线等,根据需要选择。

点击菜单栏中的“file”,选择“print to figure"进行画图。

在图形窗口中,可以对图形显示模式进行修改,如添加标题,坐标名称等。

得到比较完整的图形曲线。点击”file"中的“se"进行保存。

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

matlab拟合曲线并输出公式是什么?

opts.Lower = [-Inf -Inf];

要是多项式拟合的就用p是拟合的结果

ploxinterp=[2 4 7 13 16 18 20 22 24];t(x,y,'-')

f=poly2sym(p)

f=3x^5+5x^4+x^2+12

要是用lsqcurvefit,就在用subs把结果带入函数就好了。在拟合工具箱里面选择需要拟合的目标函数形式,输出就是那个目标函数的待定参数。例如,如果选择和3次多项式ax^3+bx^2+cx+d,则输出a,b,c,d这4个参数。

扩展资料:

b>0时,Y随X增大而增大;b<0时,Y随X增大而减少。当以lnY和X绘制的散点图呈直线趋势时,可考虑采用指数函数来描述Y与X间的非线性关系,lna和b分别为截距和斜率。

a>1时,Y随X增大而增大,先快后慢;0

参考资料来源:

用matlab曲线拟合工具箱拟合数据后要进行预测,应该怎么做啊?哪位大神

5,

不是matlab安装的问题,这个问题我也遇到过,遍求解答无果之后,终于自己摸索出来了。是这样的,不要用gui中的data按钮来新建数据集,而要在matp1lab命令窗口中,输入命令:cftool(a,b),其中a,b就是你要设置的x、y坐标的向量。这样出来散点图,之后再在cftool工具箱的gui中点fitting按钮,选择曲线问题一:什么是曲线拟合,什么意思? :曲线拟合曲线拟合曲线拟合正文用连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系。更广泛地说,空间或高维空间中的相应问题亦属此范畴。在数值分析中,曲线拟合就是用解析表达式逼近离散数据,即离散数据的公式化。实践中,离散点组或数据往往是各种物理问题和统计问题有关量的多次观测值或实验值,它们是零散的,不仅不便于处理,而且通常不能确切和充分地体现出其固有的规律。这种缺陷正可由适当的解析表达式来弥补。数学表述设给定离散数据(1)式中xk为自变量x(标量或向量,即一元或多元变量)的取值;yk为因变量y(标量)的相应值。曲线拟合要解决的问题是寻求与(1)的背景规律相适应解析表达式(2)使它在某种意义下地逼近或拟合(1),?(x,b)称为拟合模型;为待定参数,当b)仅在?中线性地出现时,称模型为线性的,否则为非线性的。拟合

请问用matlab做出三维曲线拟合后再加什么函数才可以看到拟合的精度啊?

0.8155

A=xyz'

0.8869 3.4

A =

-58.3582

-0.0100

6.6402

17.3131

0.4895

-0.4729

>> [A,Aint,R,rint,stats]=regress(z',xy)

A =

-58.3582

-0.0100

6.6402

17.3131

0.4895

-0.4729

Aint =

-138.3888 21.6725

-0.0129 -0.0071

6.2873 6.9932

-1.6390 36.2652

0.3988 0.5801

-1.4622 0.5165

R =

-0.2469

-0.6749

-0.8110

-0.6554

0.4641

-0.2952

-0.11

-0.1013

0.2083

0.4973

0.7116

0.1816

-0.1666

0.1370

0.4834

0.5708

-0.2373

0.0258

0.0378

0.2315

-0.9903

-0.2312

-0.4393

0.7899

-0.3929

-0.5479

0.3740

-0.23

1.0431

-0.7952

0.1658

-0.4524

0.9013

0.0467

-0.3272

0.6699

-0.5884

2.3052

-0.1895

-0.1188

1.7942

-1.7641

1.2694

rint =

-1.5477 1.5597

-1.8418 1.3480

-2.2563 0.9066

-2.3843 0.7622

-2.1604 0.8495

-1.08 2.0201

-1.8967 1.3064

-1.7198 1.4816

-1.7008 1.4982

-1.31 1.7357

-1.0652 2.0598

-1.4235 1.7867

-1.7713 1.4382

-1.4000 1.6741

-0.7406 2.3715

-1.1251 2.09

-1.35-0.035607 1.8654

-1.8354 1.3818

-0.9643 2.1059

-1.8296 1.3550

-1.6015 1.6531

-1.5778 1.6533

-1.3866 1.8496

-2.0264 1.1006

-2.5424 0.5619

-1.8415 1.37

-2.0294 1.1509

-1.6381 1.5669

-0.7526 2.3325

-2.1387 1.0430

-1.2076 1.9556

-0.4683 2.5546

-2.3375 0.7472

-2.0416 1.1369

-0.6701 2.4727

-1.4838 1.5771

-1.8564 1.2021

-0.9018 2.2415

-2.1721 0.9953

-1.6739 1.2949

-1.5187 1.2811

0.4242 3.1643

-3.1717 -0.3565

-0.1642 2.7030

-3.3432 -1.0674

stats =

1.0e+003

0.0010 2.0299 0.0000 0.0007

STATS有四个参数

分别r2 就是表征拟合度 F统计量 概率p 和方的一个估计

一个x对应多个y,怎样用matlab曲线拟合?

1输入数据

选择完后会自动完成拟合,并且给出拟合函数表达式。这种情况下不应该拟合所有的数据.

sp1 = spap2(knots,K,x,y); % By spap2()

而是应该作误条形图.

一个例子如下:

图中方框是平均值.

接下来你可以对平均值做一个曲线拟合.

matlab曲线拟合函数

%HOUGEN Hougen-Watson model for reaction kinetics.

y=[6.02e+08 7.23e+08 1.03e+09 1.16e+09 1.24e+09 1.33e+09];

[xData, yData] = prepareCurveData( x, y );

% Set up fittype and options.

ft = fittype( 'poly1' );

opts = fitoptions( ft );

opts.Upper = [Inf Inf];

% Fit model to data.

[fitresult, gof] = fit( xData, yData, ft, opts );

% Plot fit with data.

figure( 'Name', 'linerFit' );

h = plot( fitresult, xData, yData );

legend( h, 'y vs. x', 'linerFit', 'Location', 'NorthEast' );

% Label axes

xlabel( 'x' );

ylabel( 'y' );

结果:

Linear model Poly1:

ans(x) = p1x +% b0为初% $Revision: 1.0 $ $Date: 2003/05/02 $值(要慎重选择,不同初值得到的结果可能不同) p2

Coefficients (with 95% confidence bounds):

p1 = 1.344e+07 (1.075e+07, 1.613e+07)

p2 = -2.563e+10 (-3.097e+10, -2.03e+10)

说明:我这里用的是小二乘的一阶拟合,如果是二阶可以将poly1改为poly2,以此类推poly3等

matlab中的多项式拟合命令是什么?

-2.4786 0.6540

x=[1 3 5 6 8 9 10 11 12 14 15 17 19 21 23 25];

0.2574

y=[10 20 42 60 73 79 80 78 73 64 56 71 51 42 41 40];

plot(x,y,'ro');

p=polyfit(x,y,4);%于是拟合出的曲线就是p(1)x^4+p(2)x^3+p(3)x^2+p(4)x+p(5),想拟合成其它次数的多项式只需将4改为相应的次数即可

f=poly2sym(p);

yinterp=subs(f,xinterp);

hold on;

plot(xinterp,yinterp,'o');

ezplot(f,[0,3将结果存到workspace0])

扩展资料:注意事项

函数命令为:

a=polyfit(x,y,m) % x,y为对应的自变量,m为需要拟合的次幂

y=polyval(a,x); %根据拟合的函数得出x对应的因变量的值

函数表达形式为:f(x)=a1x^m+...+amx+a_m+1

polyfit(x,y,n)其中:x, y为已知数据点向量, 分别表示横、纵坐标,n为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中.参数p为拟合多项式 y=a1x^n+...+anx+a,共n+1个系数。

示例:

%多项式拟合

x = (0: 0.1: 7)';

y = sin(x);

z=polyval(p,x);

plot(x,y,'r',x,z,'b')

其中p为拟合后的多项式系数,运行结果为:

p =0.0736 -0.7095 1.5 -0.0296