如何用excel做线性拟合

范文1:excel线性拟合【以文搜文】

用excel做线性拟合

在数据分析中,对于成对成组数据的拟合是经常遇到的,涉及到的任务有线性描述,趋势预测和残差分析等等。很多专业读者遇见此类问题时往往寻求专业软件,比如在化工中经常用到的Origin和数学中常见的MATLAB等等。它们虽很专业,但其实使用Excel就完全够用了。我们已经知道在Excel自带的数据库中已有线性拟合工具,但是它还稍显单薄,今天我们来尝试使用较为专业的拟合工具来对此类数据进行处理。

注:本功能需要使用Excel扩展功能,如果您的Excel尚未安装数据分析,请依次选择“工具”-“加载宏”,在安装光盘支持下加载“分析数据库”。加载成功后,可以在“工具”下拉菜单中看到“数据分析”选项

实例 某溶液浓度正比对应于色谱仪器中的峰面积,现欲建立不同浓度下对应峰面积的标准曲线以供测试未知样品的实际浓度。已知8组对应数据,建立标准曲线,并且对此曲线进行评价,给出残差等分析数据。

这是一个很典型的线性拟合问题,手工计算就是采用最小二乘法求出拟合直线的待定参数,同时可以得出R的值,也就是相关系数的大小。在Excel中,可以采用先绘图再添加趋势线的方法完成前两步的要求。

选择成对的数据列,将它们使用“X、Y散点图”制成散点图。

在数据点上单击右键,选择“添加趋势线”-“线性”,并在选项标签中要求给出公式和相关系数等,可以得到拟合的直线。

由图中可知,拟合的直线是y=15620x+6606.1,R2的值为0.9994。

因为R2 >0.99,所以这是一个线性特征非常明显的实验模型,即说明拟合直线能够以大于99.99%地解释、涵盖了实测数据,具有很好的一般性,可以作为标准工作曲线用于其他未知浓度溶液的测量

范文2:何用Excel日报表【以文搜文】

    给领导、老板报日报表,估计很多同学都做过。一天一张单独的表,打印出来送到老板办公室。

    

    今天我们关注的是日报表的累计数公式,如上图的F列中,每天的累计数可以自动算出来。大部分同学应该都是这么做的:设置公式=本日发生数+上一日累计数

    

    公式没毛病,但问题在,如果日报表结构很复杂,如果一个个设置起来有些麻烦,兰色教你一招,用替换一次完成:

    用空白模板复制一份,修改工作表名后把引用的工作表名替换即可

    

    但这样做也会有个很严重的问题:如果某日的报表修改时删除了累计列数据,所有表的累计数都会出错。

    

    这不够简便,那不好,有没有更好的办法?有,只需要一个公式=D6+INDIRECT(DAY($D$3)-1&"日!E" & ROW(D6))公式简介:用day函数提取天数-1后,生成要引用的工作表名称,然后用INdirect函数从该表中提取上一日的累计数。加row是为了生成序号方便复制公式。

    

    用法很简单:复制表后,只需要修改D3日期即可自动生成累计数公式,公式不需要做任何改动。

    

    如果需要把所有日报表的本日数合并起来,也只需要一个公式=INDIRECT(D$3&"!d"&ROW(A6))

    

    很多原来无法做到的动态跨表引用,都因Indirect函数而实现了。

    0 0 收藏 分享

范文3:何用Excel固定资产台账【以文搜文】

如何用Excel做固定资产台账

步骤/方法

1. 1、先在工作簿中建立两个工作表,分别命名

“台帐”、“浏览”。

在“台帐”中按图所示输入第一行的标题,和下面的数据,可以根据本单位需要对数据内容进行修改。 在

“浏览”工作表中按图设置表格。粗体字与“台帐”中的标题行相对应,注意各项目的位置。

1. 2、添加控件

调出“窗体

”工具栏(按“视图-工具栏-窗体”

),选中“微调项”控件,在屏幕任意位置画一个微调按钮。

用鼠标右击这个微调按钮,在出现的快捷菜单中选“设置控件格式”,然后按下图设置,确定

即可。

1. 3、添加公式

在“浏览”工作表中按下图加入公式。

这里用到一个EXCEL函数,它的定义是:以指定的引用为参照系,通过给定偏移量得到新的引用。 可以在excel自带的帮助文件中,查找这个OFFSET函数的详细用法。

各单元格公式如下:

B2 =OFFSET(台帐!$B$1,浏览!$F$1,0)

B3 =OFFSET(台帐!$B$1,浏览!$F$1,3)

B4 =OFFSET(台帐!$B$1,浏览!$F$1,6)

B5 =OFFSET(台帐!$B$1,浏览!$F$1,9)

B6 =OFFSET(台帐!$B$1,浏览!$F$1,12)

D2 =OFFSET(台帐!$B$1,浏览!$F$1,1)

D3 =OFFSET(台帐!$B$1,浏览!$F$1,4)

D4 =OFFSET(台帐!$B$1,浏览!$F$1,7)

D5 =OFFSET(台帐!$B$1,浏览!$F$1,10)

D6 =OFFSET(台帐!$B$1,浏览!$F$1,13)

F2 =OFFSET(台帐!$B$1,浏览!$F$1,2)

F3 =OFFSET(台帐!$B$1,浏览!$F$1,5) F4 =OFFSET(台帐!$B$1,浏览!$F$1,8)

F5 =OFFSET(台帐!$B$1,浏览!$F$1,11)

1. 4、使用

按动“浏览”工作表中的微调按钮,就可以向上或向下翻页,显示不同的固定资产卡片。

这个固定资产台帐还可以稍加变化,作为其他模板使用,比如:通信录、电子书、员工档案等。

范文4:何用excel已知曲线的切线【以文搜文】

如何用excel做已知曲线的切线

1、用excel作出曲线图:

在excel工作表中输入一组x值,一组与之对应的y值,选中所有数据,如右图所示(A1-A8为x值,B1-B8为y值)。

然后依次单击【插入】,【图表】,【XY散点图】,子图表类型选【平滑线散点图】,

【下一步】,【下一步】,填好图标标题、x轴与y轴的物理量及单位,【下一步】,【完成】。

为了使图表打印出来更清晰,右击不需要的内容,点清除。做出来的图表效果如下:

2、确定曲线方程:

若曲线方程已知,则直接列出,如上图曲线方程已知,为y=2x+1。若曲线方程未知,则右击曲线,点添加趋势线,趋势预测/回归分析类型选择【多项式】,阶数选【2】。点【选项】,点显示公式前的

方框使公式显示于图表中,如下图:

2

3、求算切线方程:

例如求曲线上(1,3)这个点的切线,记为切线1,首先(1,3)这个点是切点,即该点既在曲线上又在切线1上,而切线1的斜率可以通过对曲线方程求导而求得,k1=y′=2×2x=4x=4×1=4,然后通过点斜式即可求得切线1的方程:y=4x-1。按同样的方法亦可求出切线2、切线3、……切线n的方程。

4、绘制切线:

点击excel工作表中的C1格,点插入函数,函数类型选择COUNT,【确定】。

删除左图等号后面的

内容,输切线公式,但要把切线公式中的x换成A1,以方便excel帮助我们完成计算。

点【确定】,将鼠标移至C1格右下角至光标变成黑色十字,点击同时将鼠标拉至C8格右下角(如下图所示)。

注:(1,3)、(2,7)、(3,11)(4,15)……(8,31)都是切线1上

的点。

右击曲线图空白处,点【数据源】,点系列,添加一个系列,点x

值最右边的按钮(按钮1),将excel工作表中A1-A8的数据选中,点击按钮3返回数据源界面;再点y值最右边的按钮(按钮2),将excel工作表中C1-C8的数据选中,点击按钮4返回数据源界面,点【确定】,切线就出来了。

为了打印出来效果更好,可以右击切线,点数据系列格式,在“线性”一栏,颜色选择深一点的颜色,在数据标记一栏选择无,然后点【确定】。

曲线上其他切线的做法同上。

范文5:何用Excel一个智能考勤表【以文搜文】

    很多时候我们会用到Excel做考勤工作,但是如何可以让这样的一个表格变得比较智能一点呢?比如,日期和星期可以随月份自动变化,可以自动进行统计。我们来看演示。

    

    首先我们用这样的一个公式让星期随日期变化。

    公式=IF(WEEKDAY(DATE($Q$9,$T$9,D11),2)=7,'日',WEEKDAY(DATE($Q$9,$T$9,D11),2))

    注意设置单元格格式为特殊中文小写数字。

    

    然后我们设置条件格式,以便让本月的最大日期符合实际。

    公式=(AD$11-TEXT((DATE($Q$9,$T$9+1,1)-1),'d')*1)>0

    设置字体颜色为白色。

    

    对考勤区域设置有效性,打造可选的下拉菜单。

    

    对统计区设置公式进行统计。

    公式=COUNTIF($D12:$AH13,AJ$11)

    

    如果觉得文章不错,请转发给你的朋友!

范文6:【办公实用】何用EXCEL会议座次图【以文搜文】

    

    对于机关和企业的办公厅(室)来说,组织会议是经常性工作。在参加人数较多的会议中,座次图的编排是一个关键环节。传统方法排座次,是画一张空白会场图,然后按参会人员名单逐一填入。编排完成后,常常出现原定要来的人突然来不了,或者临时决定再增加几个人的情况。由于座次图手工编排,人员又是从中间分别向左右两边安排的,所以即便只调整一个人,也往往需要推倒重来,耗时费力,让人不胜其烦。

    下面要介绍的这个方法,能够将繁琐的手工排座次转化为自动生成,就连手忙脚乱的会前临时调整,也可以拖拽鼠标轻松搞定。而且,值得一提的是,这套方法是用微软OFFICE自带的EXCEL软件来完成的,不需要单独安装甚至购买软件。

    

    一、系统原理

    

    该方法的原理,可以概括成“位置—编号—人名”。即对参会人员和会场里的每个座位都进行编号,将相同编号的人名与座位建立一对一的对应联系,使人名能够自动填写到相同编号对应的会场座位中,也使座次图的调整转化为对数字编号的调整,运用EXCEL软件处理数字的强大功能,大大提升调整的速度和准确度。

    二、主要步骤

    下面,我们以虚拟《水浒传》中梁山108位好汉开大会的例子来介绍座次图的制作。

    准备工作:打开一个EXCEL文件,将左下角三个选项卡分别重命名为“人员名单”“数字布局图”和“座次图”(如下图)。然后开始以下三个步骤:

    

    第一步:在“人员名单”选项卡中,收录所有参会人员名单,按照既定规则(一般是职务高低)从前往后依次编号(见下图,此图省略部分名单),“编号”要在“A列”,“姓名”在“B列”。这里,将梁山好汉以石碣碑为依据排序。一般情况下编号为纯数字,遇有发言、领奖等特殊情况时,可将这些人单独变编号,如“发1、发2”。

    

    ★请注意:

    如姓名为两个字,在两个字中间加一个空格,而不是两个空格(如“宋江”)。

    第二步:在“数字布局图”选项卡中,画出会场座位摆放图,体现有几排、每排几人、有无过道等具体情况。之后依据一定的规则对这些座位进行编号。如,本例中,共6排,每排18个人,中间有一个过道,两边各9人。按照一般规律,第一排过道右一为1号,左一为2号,然后向左右和后排依次展开,全部编号分布在从B4到T9的长方形区域内,如图:

    

    ★请注意:

    “数字布局图”与“人员名单”两个表中“编号”的格式要相同,内容要能一一对应,这是本系统的核心设置。

    第三步:在“座次图”选项卡中,将“数字布局图”内容完全复制过来,去掉其中的编号。在原来的编号区域(B4到T9)使用VLOOKUP函数定义公式。

    首先,在左上角的B4单元格内输入如下内容:

    = VLOOKUP(数字布局图!B4,人员名单!$A:$B,2,0)

    然后按回车键,这个单元格内会自动出现两个字——“徐 宁”。B4到T9范围内其他单元格不必另外定义函数公式,只要点击B4单元格,将鼠标悬停在这个单元格右下角,会出现一个很小的“+”符号,按住鼠标左键不放,向右拖拽,便完成了第一排的函数公式定义,鼠标仍然不松手,再向下拖拽,便完成了所有6排的函数公式定义。

    最后,进行必要的格式调整,可看到下面图中的内容,这就是我们所需要的座次图。

    

    “必要的格式调整”包括:1.将所有单元格文字竖行排列(右键,设置单元格格式—对齐—方向—纵向);2.将原先过道位置(K4:K9)的内容清空,表格边框变为无色,填充颜色变为无色;3.对B4到T9区域内的字体大小进行调整,如果四个字的人名,可以缩小字号以确保完全显示。

    ★请注意:

    1.在定义公式时,“$A:$B”中的“$”表示绝对引用,不能不写。

    2.函数定义可以用函数编辑器逐个找参数(如下图),避免手工输入出错。

    

    Lookup_value:待查找值

    Table_array:被查找数据表格范围

    Col_index_num:向右查找的列数

    Range_lookup:查找类型,一般为0

    三、系统的优越性

    这种“位置—编号—人名”的办法看似绕了一个大圈,让使用传统办法的人感到很不习惯,但只要试用一次就会发现本文所介绍的方法有很多便利:

    1.输入人名工作量减少。除了在制作“人员名单”时需输入一次人名之外,之后无论如何修改、调整,都不需要再次输入人名,不仅效率大大提升,且不容易出错。

    2.审核把关更容易。由于参会“人员名单”和“数字布局图”等清晰、形象,为审核把关提供了方便。

    3.后期修改调整更迅速。一旦出现座次摆放原则方面的调整,可以更改“数字布局图”的数字编号规则,更改后“座次图”等模块中的人名会自动调整;一旦出现临时增减人的情况,只要在“人员名单”中增减,然后刷新一次数字编号就能随之自动更新了。

    4.一次制作后期使用更容易。一般来说,机关或企业召开大会的参会人员范围相对稳定,制定和长期维护一个干部名册,准确录入各有关部门的干部姓名,按照名单(如内部电话本)进行排序,当有干部人事调整时及时更新,这样当会议通知下发后,会务人员在接受各部门上报参会人员时就可以在干部名册上直接做标记,不容易错漏。制作“人员名单”时在干部名册基础上直接修改即可。此外,一个机关或企业能够开会的场地有限,在每个场地开会后将相关电子文件保存好,下次使用这个场地时,编排座次图的工作量又可以大大减少。

    运用相同的函数原理,EXCEL还可以自动生成与座次图相配套的签到索引表、合影站位图、就餐图,批量且按顺序自动生成桌签和出席证,并且随参会人员名单的变化而自动调整。简言之,运用本文介绍的方法,只要明确了参会人员名单的人名和顺序,会议所需多数表、证、卡都可以自动生成和自动调整,让会务准备工作变得从容。

    (文章摘自《秘书工作》杂志2014年第1期)

    

范文7:线性拟合和二次拟合函数【以文搜文】

6.2 线性拟合和二次拟合函数

线性拟合

给定一组数据,做拟合直线,均方误差为

(6.2)

是二元函数,的极小值要满足

整理得到拟合曲线满足的方程:

(6.3)

称式(6.3)为拟合曲线的法方程。用消元法或克莱姆法则解出方程:

a=

=

例6.1 下表为P. Sale及R. Dybdall在某处作的鱼类抽样调查,表中为鱼的数量,为鱼的种类。请用线性函数拟合鱼的数量和种类的函数关系。

解:设拟合直线

,并计算得下表: 将数据代入法方程组(6.3)中,得到:

解方程得:= 8.2084,= 0.1795

拟合直线为: 二次拟合函数

= 8.2084 + 0.1795

给定数据序列,用二次多项式函数拟合这组数据。

设,作出拟合函数与数据序列的均方误差:

(6.4)

由多元函数的极值原理,的极小值满足

整理得二次多项式函数拟合的法方程:

(6.5)

解此方程得到在均方误差最小意义下的拟合函数的法方程,法方程的系数矩阵是对称的。当拟保多项式阶

。方程组(6.5)称为多项式拟合

时,法方程的系数矩阵是病

态的,在计算中要用双精度或一些特殊算法以保护解的准确性。

例6.2 给定一组数据,如下表。用二次多项式函数拟合的这组数据。

解:设

,由计算得下表:

将数据代入式(6.5),相应的法方程为:

解方程得:=0.66667,=-1.39286,=-0.13095

∴= 0.66667-1.39286-0.13095

拟合曲线的均方误差: 结果见图6.3。

=3.09524

6.3 拟合曲线与数据序

范文8:Matlab线性拟合&非线性拟合【以文搜文】

Matlab 线性拟合 & 非线性拟合

分类: Computer Vision MATLAB 2012-06-22 21:24 46022人阅读 评论(5) 收藏 举报 matlabplotrandomc图像处理

目录(?)[+]

使用Matlab进行拟合是图像处理中线条变换的一个重点内容,本文将详解Matlab中的直线拟合和曲线

拟合用法。

关键函数:

fittype

Fit type for curve and surface fitting

Syntax

ffun = fittype(libname)

ffun = fittype(expr)

ffun = fittype({expr1,...,exprn})

ffun = fittype(expr, Name, Value,...)

ffun= fittype({expr1,...,exprn}, Name, Value,...)

/***********************************线性拟合***********************************/

线性拟合公式:

coeff1 * term1 + coeff2 * term2 + coeff3 * term3 + ...

其中,coefficient是系数,term都是x的一次项。

线性拟合Example:

Example1: y=kx+b;

法1:

[csharp] view plaincopyprint?

1. x=[1,1.5,2,2.5,3];y=[0.9,1.7,2.2,2.6,3];

2. p=polyfit(x,y,1);

3. x1=linspace(min(x),max(x));

4. y1=polyval(p,x1);

5. plot(x,y,'*',x1,y1);

结果:p = 1.0200 0.0400

y=1.0200 *x+ 0.0400

法2:

[csharp] view plaincopyprint?

1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. p=fittype('poly1')

3. f=fit(x,y,p)

4. plot(f,x,y);

运行结果:

[csharp] view plaincopyprint?

1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. p=fittype('poly1')

3. f=fit(x,y,p)

4. plot(f,x,y);

5.

6. p =

7.

8. Linear model Poly1:

9. p(p1,p2,x) = p1*x + p2

10.

11. f =

12.

13. Linear model Poly1:

14. f(x) = p1*x + p2

15. Coefficients (with 95% confidence bounds): 16. p1 = 1.02 (0.7192, 1.321) 17.

p2 = 0.04 (-0.5981, 0.6781)

Example2:y=a*x + b*sin(x) + c

法1:

[csharp] view plaincopyprint?

1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. EXPR = {'x','sin(x)','1'};

3. p=fittype(EXPR)

4. f=fit(x,y,p)

5. plot(f,x,y); 运行结果:

[csharp] view plaincopyprint? 1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. EXPR = {'x','sin(x)','1'};

3. p=fittype(EXPR)

4. f=fit(x,y,p)

5. plot(f,x,y);

6.

7. p =

8.

9. Linear model:

10. p(a,b,c,x) = a*x + b*sin(x) + c

11.

12. f =

13.

14. Linear model:

15. f(x) = a*x + b*sin(x) + c

16. Coefficients (with 95% confidence bounds):

17. a = 1.249 (0.9856, 1.512)

18. b = 0.6357 (0.03185, 1.24)

19. c = -0.8611 (-1.773, 0.05094)

法2:

[csharp] view plaincopyprint?

1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. p=fittype('a*x+b*sin(x)+c','independent','x')

3. f=fit(x,y,p)

4. plot(f,x,y);

运行结果:

[csharp] view plaincopyprint?

1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. p=fittype('a*x+b*sin(x)+c','independent','x')

3. f=fit(x,y,p)

4. plot(f,x,y);

5.

6. p =

7.

8. General model:

9. p(a,b,c,x) = a*x+b*sin(x)+c

10. Warning: Start point not provided, choosing random start

11. point.

12. > In fit>iCreateWarningFunction/nThrowWarning at 738

13. In fit>iFit at 320

14. In fit at 109

15.

16. f =

17.

18. General model:

19. f(x) = a*x+b*sin(x)+c

20. Coefficients (with 95% confidence bounds):

21. a = 1.249 (0.9856, 1.512)

22. b = 0.6357 (0.03185, 1.24)

23. c = -0.8611 (-1.773, 0.05094)

/***********************************非线性拟合***********************************/ Example:y=a*x^2+b*x+c

法1:

[cpp] view plaincopyprint?

1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. p=fittype('a*x.^2+b*x+c','independent','x')

3. f=fit(x,y,p)

4. plot(f,x,y);

运行结果:

[csharp] view plaincopyprint?

1. p =

2.

3. General model:

4. p(a,b,c,x) = a*x.^2+b*x+c

5. Warning: Start point not provided, choosing random start

6. point.

7. > In fit>iCreateWarningFunction/nThrowWarning at 738

8. In fit>iFit at 320

9.

In fit at 109

10.

11. f =

12.

13. General model:

14. f(x) = a*x.^2+b*x+c

15. Coefficients (with 95% confidence bounds):

16. a = -0.2571 (-0.5681, 0.05386)

17. b = 2.049 (0.791, 3.306)

18. c = -0.86 (-2.016, 0.2964)

法2:

[csharp] view plaincopyprint?

1. x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

2. %use c=0;

3. c=0;

4. p1=fittype(@(a,b,x) a*x.^2+b*x+c)

5. f1=fit(x,y,p1)

6. %use c=1;

7. c=1;

8. p2=fittype(@(a,b,x) a*x.^2+b*x+c)

9. f2=fit(x,y,p2)

10. %predict c

11. p3=fittype(@(a,b,c,x) a*x.^2+b*x+c)

12. f3=fit(x,y,p3)

13.

14. %show results

15. scatter(x,y);%scatter point

16. c1=plot(f1,'b:*');%blue

17. hold on

18. plot(f2,'g:+');%green

19. hold on

20. plot(f3,'m:*');%purple

21. hold off

? ? 特征提取方法 SIFT,PCA-SIFT,GLOH,SURF 浙大计算机研究生复试上机考试-2009年

范文9:Matlab 线性拟合 & 非线性拟合【以文搜文】

    使用Matlab进行拟合是图像处理中线条变换的一个重点内容,本文将详解Matlab中的直线拟合和曲线拟合用法。

    关键函数:

    fittype

    Fit type for curve and surface fitting

    Syntax

    ffun = fittype(libname)

    ffun = fittype(expr)

    ffun = fittype({expr1,...,exprn})

    ffun = fittype(expr, Name, Value,...)

    ffun= fittype({expr1,...,exprn}, Name, Value,...)

    /***********************************线性拟合***********************************/

    线性拟合公式:

    coeff1 * term1 coeff2 * term2 coeff3 * term3 ...其中,coefficient是系数,term都是x的一次项。

    线性拟合Example:

    Example1: y=kx b;

    法1:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1,1.5,2,2.5,3];y=[0.9,1.7,2.2,2.6,3];

    p=polyfit(x,y,1);

    x1=linspace(min(x),max(x));

    y1=polyval(p,x1);

    plot(x,y,'*',x1,y1);

    结果:p = 1.0200 0.0400

    即y=1.0200 *x 0.0400

    

    法2:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    p=fittype('poly1')

    f=fit(x,y,p)

    plot(f,x,y);

    运行结果:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    p=fittype('poly1')

    f=fit(x,y,p)

    plot(f,x,y);

    p =

    Linear model Poly1:

    p(p1,p2,x) = p1*x p2

    f =

    Linear model Poly1:

    f(x) = p1*x p2

    Coefficients (with 95% confidence bounds):

    p1 = 1.02 (0.7192, 1.321)

    p2 = 0.04 (-0.5981, 0.6781)

    

    Example2:y=a*x b*sin(x) c

    法1:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    EXPR = {'x','sin(x)','1'};

    p=fittype(EXPR)

    f=fit(x,y,p)

    plot(f,x,y);

    运行结果:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    EXPR = {'x','sin(x)','1'};

    p=fittype(EXPR)

    f=fit(x,y,p)

    plot(f,x,y);

    p =

    Linear model:

    p(a,b,c,x) = a*x b*sin(x) c

    f =

    Linear model:

    f(x) = a*x b*sin(x) c

    Coefficients (with 95% confidence bounds):

    a = 1.249 (0.9856, 1.512)

    b = 0.6357 (0.03185, 1.24)

    c = -0.8611 (-1.773, 0.05094)

    法2:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    p=fittype('a*x b*sin(x) c','independent','x')

    f=fit(x,y,p)

    plot(f,x,y);

    运行结果:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    p=fittype('a*x b*sin(x) c','independent','x')

    f=fit(x,y,p)

    plot(f,x,y);

    p =

    General model:

    p(a,b,c,x) = a*x b*sin(x) c

    Warning: Start point not provided, choosing random start

    point.

    > In fit>iCreateWarningFunction/nThrowWarning at 738

    In fit>iFit at 320

    In fit at 109

    f =

    General model:

    f(x) = a*x b*sin(x) c

    Coefficients (with 95% confidence bounds):

    a = 1.249 (0.9856, 1.512)

    b = 0.6357 (0.03185, 1.24)

    c = -0.8611 (-1.773, 0.05094)

    

    /***********************************非线性拟合***********************************/

    Example:y=a*x^2 b*x c

    法1:

    [cpp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    p=fittype('a*x.^2 b*x c','independent','x')

    f=fit(x,y,p)

    plot(f,x,y);

    运行结果:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    p =

    General model:

    p(a,b,c,x) = a*x.^2 b*x c

    Warning: Start point not provided, choosing random start

    point.

    > In fit>iCreateWarningFunction/nThrowWarning at 738

    In fit>iFit at 320

    In fit at 109

    f =

    General model:

    f(x) = a*x.^2 b*x c

    Coefficients (with 95% confidence bounds):

    a = -0.2571 (-0.5681, 0.05386)

    b = 2.049 (0.791, 3.306)

    c = -0.86 (-2.016, 0.2964)

    

    法2:

    [csharp] view plaincopy

    

Matlab 线性拟合 & 非线性拟合

    x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

    %use c=0;

    c=0;

    p1=fittype(@(a,b,x) a*x.^2 b*x c)

    f1=fit(x,y,p1)

    %use c=1;

    c=1;

    p2=fittype(@(a,b,x) a*x.^2 b*x c)

    f2=fit(x,y,p2)

    %predict c

    p3=fittype(@(a,b,c,x) a*x.^2 b*x c)

    f3=fit(x,y,p3)

    %show results

    scatter(x,y);%scatter point

    c1=plot(f1,'b:*');%blue

    hold on

    plot(f2,'g: ');%green

    hold on

    plot(f3,'m:*');%purple

    hold off

    

范文10:何用EXCEL解方程组【以文搜文】

如何用EXCEL解方程组Finance 2007-06-28 01:21:43 阅读355 评论2 字号:大中小 订阅 .

方程组在工程技术、经济等领域有着广泛的应用。许多实际问题可以归结为一个线性方程组的解,因此线性方程组的解法已成为广大工程技术人员、经济工作者必须掌握的知识。在线性代数领域,Excel可以通过插入函数来直接求行列式的值,逆矩阵和矩阵的乘积。但Excel并没有直接求解线性方程组的功能,本人发现Excel的规划求解可用来解线性方程组,现把这种方法介绍给大家。

  例如要解线性方程组

  x1+x2+2x3+3x4=1

  3x1-x2-x3-2x4=-4

  2x1+3x2-x3-x4=-6

  x1+2x2+3x3-x4=-4

  可按如下的步骤来解这个方程组:

  1.打开Excel。

  2.由于在本方程组中未知数有4个,所以预留4个可变单元格的位置A1?A4。

  3.将活动单元格移至B1处,从键盘键入:=A1+A2+2*A3+3*A4:然后回车(此时B1显示0)。即在B1处输入方程组中第一个方程等号左边的表达式。

  4.在B2处从键盘键入:=3*A1-A2-A3-2*A4;然后回车(此时B2显示0)。即在B2处输入方程组中第二个方程等号左边的表达式。

  5.在B3处从键盘键入:=2*A1+3*A2-A3-A4;然后回车(此时B3显示0)。即在B3处输入方程组中第三个方程等号左边的表达式。

  6.在B4处从键盘键入:=A1+2*A2+3*A3-A4;然后回车(此时B4显示0)。即在B4处输入方程组中第四个方程等号左边的表达式。

  7.点击工具?规划求解,出现规划求解参数对话框。

  8.对话框中第一栏为:设置目标单元格,在相应的框中填入$B$1。

  9.对话框中第二栏为:等于;后有三个选项,依次为最大值,最小值,值为。根据题意B1表示方程组中第一个方程等号左边的表达式,它的值应为1,因此点击值为前的圆圈,输入1。

  10.对话框中第三栏为:可变单元格;我们预留的可变单元格为A1?A4,所以在可变单元格框内键入 A 1: A 4。

  11.对话框中最后一栏为:约束;首先点击添加按钮,屏幕出现添加约束对话框。

  12.在添加约束对话框的单元格引用位置键入:B2;在中间的下拉式菜单中选取=;在约束值处键入:-4;然后按添加按钮,屏幕出现空白的添加约束对话框。

  13.在添加约束对话框的单元格引用位置键入:B3;在中间的下拉式菜单中选取=;在约束值处键入:-6;然后按添加按钮,屏幕出现空白的添加约束对话框。

  14.在添加约束对话框的单元格引用位置键入:B4;在中间的下拉式菜单中选取=;在约束? 键入:-4;然后按确定键,返回规划求解参数对话框。特别注意在最后一个约束条件键入后,按确定键(而不是像前面一样按添

加键)。

  15.按求解键,出现求解结果对话框。此时在A1-A4的位置依次为:-1,-1,0,1;这就是说,原方程组的解为:X1=-1,X2=-1,X3=0,X4=1。这样我们就求出了方程组的解。