matlab中怎样用幂函数拟合方程

有三个函数,通过excel和minitab作图观察感觉可以用幂函数拟合。求拟合方程。
y=a+b/x^c,最好能给出程序及回归模型。
---------------------------------------------
第一组为:
x=6.69:0.02:7.53;
y=[4.2,3.7,3.3,2.95,2.63,2.33,2.11,1.87,1.65,1.47,1.32,1.17,1.04,0.925,0.82,0.735,0.653,0.582,0.52,0.462,0.412,0.366,0.325,0.289,0.258,0.23,0.205,0.182,0.162,0.145,0.129,0.115,0.102,0.091,0.081,0.072,0.064,0.057,0.051,0.0455,0.0403,0.036,0.032];
plot(x,y,'+')
---------------------------------------------
第二组为:
x=6.69:0.02:7.53;
y=[10.2,9.08,8.15,7.3,6.5,5.82,5.19,4.64,4.15,3.72,3.33,2.97,2.65,2.37,2.12,1.9,1.7,1.52,1.36,1.21,1.08,0.97,0.865,0.775,0.69,0.62,0.553,0.493,0.442,0.395,0.353,0.315,0.283,0.253,0.225,0.201,0.18,0.161,0.144,0.129,0.115,0.103,0.092];
plot(x,y,'+')
---------------------------------------------
第三组为:
x=6.69:0.02:7.53;
y=[17.6,15.7,14.1,12.6,11.2,10.1,9.08,8.1,7.21,6.5,5.8,5.21,4.65,4.17,3.73,3.35,2.99,2.69,2.41,2.15,1.93,1.73,1.54,1.38,1.24,1.11,0.99,0.89,0.795,0.71,0.635,0.57,0.51,0.458,0.409,0.365,0.327,0.293,0.262,0.235,0.21,0.188,0.169];
plot(x,y,'+')
谢谢。

直接使用CFTOOL工具箱
命令行输入cftool即可,然后选择拟合类型
x=[6.69:0.02:7.53];
y=[4.2,3.7,3.3,2.95,2.63,2.33,2.11,1.87,1.65,1.47,1.32,1.17,1.04,0.925,0.82,0.735,0.653,0.582,0.52,0.462,0.412,0.366,0.325,0.289,0.258,0.23,0.205,0.182,0.162,0.145,0.129,0.115,0.102,0.091,0.081,0.072,0.064,0.057,0.051,0.0455,0.0403,0.036,0.032];
直接输入cftool进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,弹出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;
(3)点击“Fitting”按钮,弹出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,选择类型Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-17

是拟合三条还是一条?

 

感觉纯拟合的话用origin比较好

 

拟合了第一条,确实是幂函数

线性相关度达到5个9,基本上完全符合

本回答被提问者采纳
第2个回答  2013-03-25
以第一个为例:
1、在命令行输入数据:
x=6.69:0.02:7.53;
y=4.2,3.7,3.3,2.95,2.63,2.33,2.11,1.87,1.65,1.47,1.32,1.17,1.04,0.925,0.82,0.735,0.653,0.582,0.52,0.462,0.412,0.366,0.325,0.289,0.258,0.23,0.205,0.182,0.162,0.145,0.129,0.115,0.102,0.091,0.081,0.072,0.064,0.057,0.051,0.0455,0.0403,0.036,0.032];
2、启动曲线拟合工具箱
>>cftool
3、进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,弹出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;
(3)点击“Fitting”按钮,弹出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有:
Custom Equations:用户自定义的函数类型Power:幂逼近,有2种类型,a*x^b 、a*x^b + c在本例中选Power,即可得到拟合曲线。
第3个回答  2013-03-25
回归模型需要你去查询相关书籍,好像是数据处理之类的书籍吧。
首先建立一个简单的m文件,然后你可以将每组的抽取一个数组,计算出相应的a,b,c,这样你可以求得(7.53-6.69)/0.02个a,b,c的值,然后将其求一下平均值。或者通过其余一些方法进行稍微拟合一下。

matlab中怎样用幂函数拟合方程
(1)点击“Data”按钮,弹出“Data”窗口;(2)利用X data和Y data的下拉菜单读入数据x,y,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;(3)点击“Fitting”按钮,弹出“Fitting”窗口;(4)点击“New fit”按钮,可修改拟合项目名称“Fit...

matlab中怎样用幂函数拟合方程
n=4; %这里进行四次幂函数,一般用二次的,可以改成2 p=polyfit(x, y, n);xi=linspace(0, 100, 10000);z=polyval(p, xi);plot(x, y, ' +b ' , x, y,'r', xi, z, ' :g ' )

求助matlab大神,曲线拟合问题
这个拟合函数是一个幂函数,拟合结果为:f(x) = a*x^ba = 2.102e-015b = 27.35也就是:y=2.102e-015*x^27.35对于这个问题,对于cftool的使用,简单流程如下:第一,在matlab命令窗口输入:x=[2.755 3.035 3.184 3.212 3.236 3.293];y=[0 0.05 0.1 0.15 ...

求一个MATLAB程序:要求用MATLAB 幂函数拟合方程 Y=A(X-h)^M;求程序...
解决方法:1、给出拟合数据 x=[。。。];y=[。。。];2、自定义函数 func(a,x)func=@(a,x)a(1).*(x-a(2)).^a(3);3、用nlinfit()函数,去拟合系数A、h、M 4、用plot()函数,去绘制拟合数据的散点图和拟合函数的图形 运行结果及代码 ...

用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘...
>> figure; %打开新的绘图窗口 >> y1=f1(x); %用拟合得到的式子求y值,如果想要拟合曲线更光滑,可将x的值更细化 >> y2=f2(x);>> plot(x,y1,'-r*'); %绘3次拟合曲线图 >> for i=1:7 text(x(i),y1(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y1(i))...

幂函数用matlab怎么表示
1、首先双击matlab软件图标,打开matlab软件,可以看到matlab软件的界面。2、使用“0.1:0.1:5;”创建一维数组,表示从0.1到5,每隔0.1会取一个数字。这个一维数组用来作为一元一次函数的横坐标的数值。3、接着创建三个幂函数,分别是y1=x.^(1\/4); y2=x.^(1\/2); y3=x.^(3\/2)。4、...

怎么用matlab拟合函数图像?
在matlab中根据拟合图得到函数步骤如下:1、常用的模型有多项式模型、幂函数模型、指数函数模型等。2、设出函数,用命令“plot”绘出图像作为对比。3、准备好散点数据,用命令“plot”绘出散点作为对比。4、调用函数“fit”,参数包括散点数据和曲线拟合模型。5、按回车键即可完成曲线拟合,p1、p2、p3...

如何用MATLAB画出幂函数y= x^ a的图像?
一次函数 y=x,只需要画出两个点,即可连接成一条直线。二次函数 y=x²,可用标准的五点作图法完成。其他幂函数 y=x^a,用描点作图法需要多描一些点才能准确表现函数图像的变化细节。根据 a 的奇偶性确定函数图像所在的象限。以下图像是在 Maple 中应用绘图命令 plot 绘出的。plot([x, x...

求matlab高手帮忙编写一个函数拟合程序。估计可以得到一个幂函数或者...
【拟合方式一:指数拟合】General model Power2: f(x) = a*x^b+cCoefficients (with 95% confidence bounds): a = -44.95 (-570, 480.1) b = -0.02049 (-0.297, 0.2561) c = 40.3 (-490, 570.6)Goodness of fit: SSE: 0.1527 R-square: 0....

matlab的lsqcurvefit函数做幂函数拟合出错
对于幂函数拟合,你使用下面的程序就行了 x=[50 88 103 119 127 138 151 160 169 178 186 195 ];y=[0.002 0.058 0.115 0.231 0.346 0.577 0.866 1.155 1.443 1.732 2.021 2.31];X=log(x);Y=log(y)p=polyfit(X,Y,1)a=exp(p(2))b=p(1)plot(x,y,x,a*x.^b)...

相似回答