在用Matlab拟合时,可以用cftool工具,有多种拟合方法可以选择,但是其输出的系数只有显示默认的4位有效数字,当数据的敏感性比较强,微小变动会引起较大误差时,不适宜用其结果提供的参数,应该用Matlab自带的函数将系数算出,方法如下:
比如多项式拟合,若输入横坐标数据为x,纵坐标数据为y,使用的是8阶多项式拟合,由于8阶多项式受系数的影响较大,所以需要用Matlab自带的函数polyfit(x,y,n),输出拟合的系数值,当然,此时需要将Matlab显示有效位数改成LONG型,修改方法如下:
在主界面打开File->Preferences->Command Window,将数据的显示长度改成LONG或者更长即可。
当求得拟合后的函数系数后,就可以将对应函数值算出了。
还有一种方法,可以算出cftool上拟合曲线的各个x,y值,如下: 有一个fit()函数,fit(x,y,’poly8’),表示用8阶多项式拟合,这个fit会生成一个1*1的cfitx1=linspace(0,1,1000); y1=fitY(x) 变量,若写成fitY=fit(x,y,’poly8’)。则fitY可以输出所有x对应的拟合的y值。方法是
如此,得到的y1就是x1对应的拟合后的y1,并且与第一种通过算系数得到表达式的办法求得的拟合的Y值是一样的。这两条曲线是同一条。
第二篇:matlab心得
Matlab学习心得
①课程总结
在第一章中,讲的是一些matlab的入门技术,除了一些基本操作与介绍之外,还初步认识了简单指令的编制,认识了一些matlab的特殊符号,例如运算用到的加减乘除。(+—*/)对我来说还是比较容易上手的。
但在第二章开始,开始有点难度了,在第二章我接触到两种数据类型,一个是double,还有就是char,另外还介绍了赋值语句,数学计算,常用函数,输入输出语句和数据文件。其中让我最容易混淆的就是运算的优先等级,当所需要运算的公式较长时,常常因没有弄好运算优先级而把程序编错,这一章也接触了更多的特殊符号,在多次看书之后,还是顺利把老师所布置的作业完成了。
在第三章中,我接触到基本的matlab选择结构,还有控制这个结构的关系运算符和逻辑运算符。也就是if结构。这个结构对运算起到很大作用,跟elseif配合使用的话,就可以将很图方法。还有,我们学习如何控制画图的附加功能,例如线的宽度和符号的颜色。这些属性可由指定的“propertyname”和值Value决定,“propertyname”和值Value将出现在plot命令的数据后。
②心得体会
在这个学期的学习中,主要还是围绕1到3章学习,学了一些初步的矩阵运算以及画图方法。在书上的练习中也得到了实践,各种矩阵的运算也可以运用到现在所学的电路计算中。活学活用,的确为我们提供了不少的方便。但现今所学到的matlab技术还只是很初步,但是我已经了解到了matlab的实用性,所以还是会在今后继续学习这门课程的。
除此之外还学了利用axis命令的画从这个学期开始,我们学习了一门新课程,开始我对matlab这门课程不是很了解,只知道它是一种计算机程序,可以帮助我们运算处理一些数据,但并不知道这种程序与其他计算机编程程序有什么区别与特点。
通过学习matlab这门课程后,我知道,matlab是一种专业的计算机程序,主要用于工程科学的矩阵数学运算。但在之后的几年里,它又渐渐发展成为一种非常灵活的计算体系,可以解决更多技术上的问题。在解决工程技术问
题方面,matlab比其他任何计算机语言都简单高效,对于我们学电气信息工程专业的学生,这门课程给我们日后本专业的工作提供了很大的方便。