用matlab拟合一组数据,要求得出函数表达式

2021-07-03 01:05:15 字数 6307 阅读 5524

1楼:匿名用户

用matlab拟合一组数据,得到函数的表达式我的数据是

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

至于具体怎么得到x与y的函数关系,在matlab上的具体操作,可能性太多,这组数据可以拟合出无数多种函数结果。

如果什么函数形式都不给出的话,下面以11次多项式举例来拟合你的数据:

1.用多项式拟合

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

p=polyfit(x,y,11)

xx=linspace(9,39,100)

yy=polyval(p,xx)

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('数据','拟合','location','northwest');

title(poly2str(p,'x'));

2.如果是正态分布

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);

p=nlinfit(x,y,fun,[250 32 10]);

xx=linspace(9,39,100);

yy=fun(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('数据','拟合','location','northwest');

matlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

2楼:匿名用户

你好!以下是拟合**和拟合结果:

clc;clearall

x=[1.0962.1933.2894.3855.4816.5777.6738.769...

9.86510.96112.05713.15314.24915.34516.441...

17.53718.63319.72920.82521.92123.01724.113...

25.20926.30527.40128.49729.59330.68931.785...

32.88133.97735.07336.16937.26538.361...

39.457];

y=[2.152.272.492.733.023.33.573.884.224.57...

4.885.25.485.755.976.176.276.326.27...

6.1765.775.55.234.94.584.273.953.62...

3.322.982.72.482.32.172.13];

p=polyfit(x,y,4);%四次拟合

plot(x,y,'r--')

holdon

y1=polyval(p,x);%得出拟合结果

plot(x,y1,'b-')

xlabel('x')

ylabel('y')

legend('拟合前','拟合后')

3楼:木生子识时务

至少给一个拟合的类型吧,是多项式拟合还是其他什么拟合?

用matlab拟合一组数据,要求得出函数表达式

4楼:匿名用户

^根据给定的数据bai,我们可以假定

du函数表达式为

y=b1+b2*x+b3*x^zhi2+b4*x^3+b5*x^4;

所以上述函dao数版可以用matlab的regress()多权元线性回归分析函数来拟合。实现过程如下:

a=[1.75,0.26;2.

25,0.32;2.5,0.

44;2.875,0.57;2.

686,0.50;2.563,0.

46];

x=a(:,1),y=a(:,2)

x=[ones(length(y),1),x,x.^2,x.^3,x.^4];

b=regress(y,x)

x1=linspace(1.5,3,50);

y1=b(1)+b(2)*x1+b(3)*x1.^2+b(4)*x1.^3+b(5)*x1.^4;

plot(x,y,'k*',x1,y1,'r-')

grid on

xlabel('x'),ylabel('y')

运行结果

5楼:昱婷漫步

从数据描bai

点图来看,它可以用多项式du来拟合zhi

**:clear all;

clc;

close all;

x=[1.75,2.25,2.5,2.875,2.686,2.563];

y=[0.26,0.32,0.44,0.57,0.50,0.46];

plot(x,y,'r*')

[p,s]=polyfit(x,y,5) %参数改为1就是线性拟dao合

y1=polyval(p,x)

hold on;

plot(x,y1,'b.')

五次版多项式拟合生成的权函数值与原数据基本重合:

五次多项式,从最高次项的系数到常数项,依次为p的值,所以:

y=-3.8276x^5+ 47.6583x^4 -235.8777x^3+579.6790x^2 -706.4245x+341.2326

6楼:匿名用户

程序如下:

x=[1.75,2.25,2.5,2.875,2.686,2.563];

y=[0.26,0.32,0.44,0.57,0.50,0.46];

plot(x,y,'g.','markersize',25);%%%有这个是先描点,看出大致是什么图,这里看到像二次曲线的回。答

holdon;

p3=polyfit(x,y,2);

%%%%%%下面这个是拟合后的p3公式,式子为什么是这个可以由上面拟合程序得出,放在一个图里面看效果

x2=0:0.5:4;

y2=0.1701*x2.^2-0.4965*x2+0.6027;

plot(x2,y2,'b');

7楼:匿名用户

数据bai不多哈

clc;clearall

x=[1.75,2.25,2.5,2.875,2.686,2.563];

y=[0.26,0.32,0.44,0.57,0.50,0.46];

p=polyfit(x,y,3);%四次

du拟合

zhiplot(x,y,'r--')

holdon

y1=polyval(p,x);%得出

dao拟合结

回果plot(x,y1,'b-')

xlabel('x')

ylabel('y')

legend('拟合前

答','拟合后')

8楼:科技数码答疑

拟合函数表达式是咋么的,是多项式还是指数,是1次函数还是二次函数??

关于用matlab拟合一组数据,得到函数的表达式

9楼:匿名用户

这个太难了,或者说是有太多的不确定性

因为连一个大概的函数形式都没有给出来

也就是说可能性太多,这组数据可以拟合出无数多种函数结果

如果什么函数形式都不给出的话,或者用多项式拟合吧

下面是尝试用11次多项式拟合你的数据

x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];

y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];

p=polyfit(x,y,11);

xx=linspace(9,39,100);

yy=polyval(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('数据','拟合','location','northwest');

title(poly2str(p,'x'));

如果是正态分布

x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];

y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];

fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);

p=nlinfit(x,y,fun,[250 32 10]);

xx=linspace(9,39,100);

yy=fun(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('数据','拟合','location','northwest');

其中得到的p是有3个数的向量

函数形式是

p(1)*exp(-(x-p(2)).^2./2/p(3)^2)

p(1)是幅度,p(2)是中心横坐标,p(3)是标准差

10楼:

如果没有模型的话只能画出图来看它像什么。。。要不就一个个模型去试验

用matlab拟合一组数据,函数的表达式是什么?

11楼:匿名用户

用matlab拟合一组数据,得到函数的表达式我的数据是

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

至于具体怎么得到x与y的函数关系,在matlab上的具体操作,可能性太多,这组数据可以拟合出无数多种函数结果。

如果什么函数形式都不给出的话,下面以11次多项式举例来拟合你的数据:

1.用多项式拟合

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

p=polyfit(x,y,11)

xx=linspace(9,39,100)

yy=polyval(p,xx)

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('数据','拟合','location','northwest');

title(poly2str(p,'x'));

2.如果是正态分布

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);

p=nlinfit(x,y,fun,[250 32 10]);

xx=linspace(9,39,100);

yy=fun(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('数据','拟合','location','northwest');

matlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

怎么根据函数图像写出函数表达式,根据所给函数图象写,出函数表达式

1楼 汇报1人 写出函数基本形式 如正比例函数函数y kx 一次函数y kx b 反比例函数y k x 二次函数y ax bx c 或y x x x x y x m k 等等等等 事实上我也只学到这几个 找出坐标上已知坐标的点 一个或几个,看函数种类啦 ,代入x y中,像解方程一样解出其余常数的值。...

已知函数图像怎么求出函数表达式,已知函数图像怎么求出函数表达式 60

1楼 匿名用户 我们从函数图像上可以知道x与y轴上都有一个点,在y轴上的点就表示原始一次函数表达式上b的值,然后再把x轴上作表代入原始一次函数结果就能求出来了。 2楼 天枰非官 对于一个函数,可以求出几个点上的点值并拟定一种函数形式。然后通过高斯牛顿迭代法即可求出函数的拟合 怎么根据函数图像写出函数...

用Matlab怎样写出一维数组(或向量)的全排列组合

1楼 匿名用户 我只说方法。 1 用perms 2 先用nchoosek写出组合,再对其每种组合用perms进行全排列即可。 如何利用matlab把多组向量排列组合。 25 2楼 匿名用户 生成全排列可以用perms函数,把各向量放在元胞数组中,然后按照全排列来组合即可 m i perms 1 3 ...