二阶电路系统的拟合与估计.docx
- 文档编号:30172121
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:28
- 大小:533.15KB
二阶电路系统的拟合与估计.docx
《二阶电路系统的拟合与估计.docx》由会员分享,可在线阅读,更多相关《二阶电路系统的拟合与估计.docx(28页珍藏版)》请在冰豆网上搜索。
二阶电路系统的拟合与估计
二阶电路系统的拟合与估计
1技术指标
1)对选定二阶电路图进行仿真,得到仿真的输入、输出数据;
2)建立二阶系统函数,用模拟的方法求解其响应,并用matlab平台求出响应波形;
3)对数据进行拟合;
4)对拟合的结果进行误差分析;
2基本原理
2.1二阶电路的定义
二阶电路是指含有两个独立的动态元件的线性电路,通常用线性常系数二阶微分方程来描述(动态元件可为电容和电感)。
本系统中采用的二阶电路图如下
图1模拟二阶电路图
2.2二阶电路系统的拟合
2.2.1拟合方法
本电路系统采用最小二乘拟合的方法。
最小二乘拟合是一种数学上的近似和优化,利用已知的数据得出一条直线或者曲线,使之在坐标系上与已知数据之间的距离的平方和最小。
最小二乘拟合在工程中具有普遍应用,是数据分析的重要方法。
主要内容包括:
①参数估计②评价变量的相关程度③估计拟合变量以及直线方程参数的方差或标准差④若被测量的是斜率与截距之比,还应估计出比值的标准差。
最小二乘法拟合的模型主要有:
1)直线
2)多项式
,一般n=2,3,不宜过高
3)双曲线(一支)
4)指数曲线
2.2.2拟合参数
1)相关系数R,计算公式为
。
相关系数是衡量变量之间相关程度的指标,取值范围为(-1,+1)。
一般划分为3级:
a.正相关:
R>0,R=1时为完全正相关;
b.负相关:
R<0,R=-1时为完全负相关;
C.不相关:
R=0;
R的绝对值越接近1,相关越密切;越接近于0,相关越不密切。
当R=0时,说明X和Y两个变量之间无直线关系。
通常|R|大于0.8时,认为两个变量有很强的线性相关性。
完全正相关或负相关时,所有图点都在直线回归线上。
2)残差(剩余)平方和RSS,计算公式为
。
残差平方和反映了除y与x的回归关系影响之外的一切因素对y的总变异的作用,即在y的总变异中无法用回归关系解释的部分。
残差平方和越小,拟合效果越好。
3)标准差
,计算公式为
。
标准差是一组数据平均值分散程度的一种度量。
一个较大的标准差,代表大部分数值和其平均值之间差异较大;一个较小的标准差,代表这些数值较接近平均值。
2.2.3拟合工具
a.Matlab软件
1)线性曲线拟合:
polyfit函数,polyval函数
p=polyfit(x,y,m)
其中,x,y为已知数据点向量,分别表示横,纵坐标,m为拟合多项式的次数,结果返回m次拟合多项式系数,从高次到低次存放在向量p中。
y0=polyval(p,x0)
可求得多项式在x0处的值y0
2)非线性曲线拟合:
lsqcurvefit函数
x=lsqcurvefit(fun,x0,xdata,ydata)
[x,resnorm]=lsqcurvefit(fun,x0,xdata,ydata)
根据给定的数据xdata,ydata(对应点的横,纵坐标),按函数文件fun给定的函数,以x0为初值作最小二乘拟合,返回函数fun中的系数向量x和残差的平方和resnorm。
b.Origin软件
Origin是一种在教学、科研和工程技术等领域广泛使用的功能强大的数据分析和绘图软件。
用Origin做数据拟合,不用编程,只要输入测量数据,选择相应的拟合函数类型,简单操作即可获得结果并绘制出拟合曲线图。
其拟合方法有多种,见下图。
图2Origin拟合方法
3建立模型描述
3.1基于Multisim的二阶电路系统仿真
根据附件所给的电路图,在Multisim软件的模块库中选择相应的器件,调节其相关参数,使其符合系统要求,连接线路搭建二阶电路系统平台。
如下图所示
图3二阶电路系统Multisim仿真电路图
图4信号源设置参数图
设置好各器件的参数后,点击“仿真”,输出响应结果显示如下图。
从图中,我们可以看到输入数据与输出响应简单的对应关系:
信号源为10Hz正弦波,输出响应电压以较缓慢的速率逐渐递增。
图5示波器参数设置及结果显示
点击“保存”按钮后,时间、通道A和通道B电压值会保存在后缀名为.scp的文件中,见下图。
(.scp文件可用记事本打开)
图6Multisim仿真原始数据
3.2抽样选取拟合数据
由于数据量过大、零乱,不符合拟合要求,我从原始数据中均匀采样,抽取了14组数据,从最小值到最大值均匀分布,经过拟合能够很好地模拟输出响应曲线。
表1最小二乘拟合的原始数据
输入信号(V)
6.2E-05
1.312
2.8136
2.8795
3.1155
5.59
6.0878
输出响应(V)
4.5E-19
9.6E-07
9.7E-06
1.0E-05
1.3E-05
8.65E-05
1.16E-04
输入信号(V)
6.2501
7.8767
8.2863
9.9871
9.9963
9.9998
10
输出响应(V)
1.2E-04
3.02E-04
3.74E-04
0.00132
0.00137
0.00142
0.00145
对数据进行初步分析,在EXCEL中做出散点图,如下图所示。
图7输出响应数据散点图
由图可见,输出响应数据在0~10内均匀分布,大致的走向呈指数型或多项式曲线上升。
因此,我们可以粗略判定拟合的函数类型:
n阶多项式和指数函数。
3.3基于Matlab的数据拟合
3.3.1多项式拟合
多项式拟合是指在函数关系y=f(x)不知道的情况下,可以根据n对原始数据找出一个含有(k+1)个参数的k阶多项式来逼近。
一般对于同一组数据,用高一阶或低一阶的多项式拟合曲线,往往较难判别哪一个优劣。
一般总是先从低阶开始拟合,然后根据判别规则决定是否需要提高阶数进行拟合。
在Matlab代码中,以13次循环架构作为框架,首先利用Matlab提供的polyfit函数求出多项式各阶的系数,即要求的拟合多项式,再用polyval函数求出多项式在横坐标X(输入信号数据点)的预测值,并与原散点图进行对比,求出拟合参数:
相关系数、残差和标准差。
程序代码如下:
图8基于Matlab的多项式拟合主要程序
此外,还可以用polytool(x,y,1)函数实现Matlab数据拟合的人机交互界面,智能性好。
3.3.2指数曲线拟合
首先编写函数m文件,建立指数函数模型,如图9所示。
图9指数函数m文件
其次利用Matlab提供的非线性曲线拟合工具:
lsqcurvefit函数导入函数文件fun中指数函数模型,以0为初值进行最小二乘拟合,返回函数fun中的系数向量x和残差的平方和resnorm。
x=lsqcurvefit(fun,x0,xdata,ydata)
[x,resnorm]=lsqcurvefit(fun,x0,xdata,ydata)
主要实现代码如下:
图10基于Matlab的指数曲线拟合m文件
3.4基于Origin8.6软件的数据拟合
Origin8.6软件做数据拟合,只需输入测量数据,选择相应的拟合函数类型,简单操作即可获得结果并绘制出拟合曲线图。
主要分为三个步骤:
第1步:
运行Origin8.6软件,新建sheet,在sheet中输入抽样后的测量数据。
图11在Origin表格中输入数据
第2步:
在菜单栏Analysis/Fitting下选择拟合函数类型。
图12在Origin软件中选择拟合函数
第3步:
打开对话框,设置配置参数。
(这里以非线性曲线拟合为例,如图13)
图13Origin非线性曲线拟合设置参数
4仿真结果及分析
4.1基于Matlab的数据拟合仿真结果
4.1.1多项式拟合
说明:
由于篇幅所限,这里仅列出1~2,8,12~13阶多项式拟合图,4~10阶的多项式拟合曲线与它们几乎无差异,唯一区别的就是拟合参数,后续会给出拟合参数的表格。
图141阶多项式拟合
图152阶多项式拟合
图168阶多项式拟合
图1712阶多项式拟合
图1813阶多项式拟合
为便于观察分析,我将各阶数所对应的拟合参数列了一个表,并结合表中数据用EXCEL工具分别作出了残差平方和、标准差、相关系数和阶数的关系图,简洁明了,如下。
表2拟合参数和阶数的关系表
阶数
残差平方和
标准差
相关系数
1
1.57E-06
0.00033503
0.692052715
2
3.09E-07
0.00014846
0.939532131
3
5.58E-08
6.32E-05
0.98905607
4
1.25E-08
2.99E-05
0.997550139
5
8.33E-09
2.44E-05
0.998367896
6
7.62E-09
2.33E-05
0.99850718
7
7.02E-09
2.24E-05
0.998625024
8
5.83E-09
2.04E-05
0.998857431
9
1.23E-09
9.39E-06
0.999758124
10
1.17E-09
9.14E-06
0.999770795
11
1.16E-09
9.12E-06
0.999772005
12
1.15E-09
9.07E-06
0.999774285
13
3.28E-10
4.84E-06
0.999934941
图19残差平方和随阶数的变化关系
图20标准差随阶数的变化关系
图21相关系数随阶数的变化关系
4.1.2指数曲线拟合
图22指数曲线拟合图
4.1.3基于Matlab的人机交互界面
图23基于Matlab的人机交互界面
4.1.4拟合结果分析
1)先分析多项式拟合的最佳阶数。
由图20,图21和图22可以得知,随着阶数的增高,残差平方和和标准差逐渐减小,相关系数增大,这表明高的阶数换来了好的拟合效果和拟合过程中影响因素的降低。
但是一个拟合的多项式并不是阶数越高越好,因为一些高阶项往往对y影响很小,我们就要在拟合方程中删除他们,以其建立更为简单的多项式方程。
这个判别规则非常复杂。
但是如果利用Matlab问题就变得很简单,如k阶是最佳拟合,不需要进行更高阶拟合,当你输入阶数大于k时,计算机就会显示:
Polynomialisinbedconditioned.等等。
在本系统的多项式拟合中,9—13阶拟合时,matlab界面显示:
Warning:
Polynomialisbadlyconditioned.
AddpointswithdistinctXvalues,reducethedegreeofthepolynomial,ortrycenteringandscalingasdescribedinHELPPOLYFIT.
综上所述,本二阶电路系统多项式拟合的最佳阶数为:
8.
2)多项式拟合与指数曲线拟合对比
由图16和图22可以得知,8阶多项式拟合的优势在于残差平方和和标准差较小即极大地降低了系统的影响因素;指数函数拟合的优势在于相关系数为1,呈完全正相关,拟合效果较好。
二阶电路系统具体应选用哪种拟合方法,应根据实际情况而定。
若用户关心的是系统的干扰或影响因素,选用8阶多项式拟合;若用户关心的是拟合曲线与实际曲线的匹配程度,选用指数曲线拟合。
4.2基于Origin8.6的数据拟合仿真结果
Origin8.6的数据拟合有很多种方法,且无需编程,实现简单。
大多数方法我都试用过,先列举5种方法代表如下:
1)线性拟合
2)8阶多项式拟合
3)Allometric1(异速增长曲线拟合)(Succeeded(100))
4)EXPDEC
(1)(指数曲线)拟合结果(Succeeded(100))
5)Boltzmann函数拟合结果(Failed)
1)线性拟合结果
图24Origin线性拟合结果
2)8阶多项式拟合结果
图25Origin8阶多项式拟合结果
3)Allometric1曲线拟合结果(Succeeded(100))
图26OriginAllometric1曲线拟合结果
4)EXPDEC
(1)曲线拟合结果(Succeeded(100))
图27OriginEXPDEC
(1)曲线拟合结果
5)Boltzmann函数拟合结果(Failed)
图28OriginBoltzmann函数拟合结果(Failed)
拟合结果分析:
以上五种拟合方法中
a.可取的拟合效果较好的有:
②8阶多项式拟合
③Allometric1(异速增长曲线拟合)(Succeeded(100))
④EXPDEC
(1)(指数曲线)拟合结果(Succeeded(100))
b.基本上不采用的有:
①线性拟合⑤Boltzmann函数拟合结果(Failed)
5调试过程及结论
5.1Matlab程序模型调试
错误1:
图29错误1
解决办法:
经检查发现,前面有个变量名为SM,改为SGM就正常了。
错误2:
最初为每一阶多项式拟合编写了M文件,中间运用了不同的方法,并得到了正确的拟合波形。
但是从程序的使用者角度来看,13个m文件长且存在大量的冗余,实际实用极为不方便。
解决办法:
以FOR循环结构为架构,以一种拟合方法为核心,将所有的多项式拟合压缩到一个m文件中,同样得到了正确的输出结果,实用而高效率。
错误3:
图30错误2
解决办法:
从语义上判断是结构问题,掉了END,经检查发现,主框架FOR循环里差了END,在程序的末尾补上END,问题得到解决。
错误4:
图31错误3
解决办法:
点击“Error”发现是xlsread(‘x,xls’)这条语句处错误,用Matlab提供的FunctionBrowser查询xlsread函数,发现其要求打开的文件必须与程序在同一个字文件夹内,于是将x.xls这个文件拷贝过来,再运行,没有Error了。
6心得体会
本次课程设计是基于信号与系统的二阶电路拟合仿真,主要涉及到Matlab和Origin8.6软件在数据拟合方面的应用,让我们结合所学的课本理论知识(如数值分析,信号与系统),
在一步步亲身动手的过程中,加深了对二阶电路系统和其数学上拟合方法的理解和掌握。
在Matlab编程方面,让我学到了很多Matlab的各种很好的工具,如polytool,polyfit等专业拟合函数,同时我也明白了每一种问题都有许多种方法,了解这些方法并选取最简单适用的方法是我们必备的能力。
在软件的运用方面,也让我认识到了很多的不足之处,比如在软件的功能上有很多的不了解,也在编程上很不熟练。
这就告诉我以后要多去学习软件的使用方法,以在今后的学习工作中提供更多的方便。
对于Origin软件,作为专业的数据分析和制图软件,这是我第一次使用该软件,开始对其使用感觉很陌生,但是其不需编程,操作简单,容易上手,通过在网上查阅和图书馆借阅相关资料研究,很快地学会了该软件的基本使用方法,并成功的拟合出来了系统模型,作为信息类专业的学生,以后工作中肯定会涉及到相关内容,这也意味着今后学习中我要更加地去熟悉该软件的使用方法,及其更加广泛的功能。
两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
值得肯定的是,通过此次课设,我学到了很多新的知识,同时也得到了很多的教训,这都是很值得欣慰的事情,毕竟做课设也是一个学习的过程,通过学习,有所掌握是很重要的,由此来说,这次课设是成功的。
在此感谢帮助过我的同学,谢谢你们对我的帮助和支持。
由于个人能力有限,在设计过程中难免出现错误,恳请老师指教。
7参考文献
[1]张贤达现代信号处理(第二版).清华大学出版社,2002
[2]燕庆明信号与系统(第二版).高等教育出版社,2007
[3]李庆杨,王能超数值分析(第五版).清华大学出版社,2005
[4]彭延峰用Multisim分析二阶低通滤波器电路.湖南师范大学,2006
[5]陈光最小二乘曲线拟合及Matlab实现.海军工程大学,2005
8附录
8.1Matlab多项式拟合程序代码
clear,closeall;
x=xlsread('x.xls');
y=xlsread('y.xls');
forn=1:
13
m=n;m=num2str(m);
figure('Name',strcat(m,'阶多项式拟合'))
[p,S]=polyfit(x,y,n);%p为拟合多项式系数向量,S为p的结构信息
s=polyval(p,x);%求回归多项式在t处的预测值
plot(x,y,'k*',x,s,'r-');
yh=polyconf(p,x,S);%求预测值Y及预测值的显著性为0.95的置信区间Y±DELTA
RSS=sum((y-yh).^2);%求残差平方和RSS,标准差SGM,相关指数R
SGM=sqrt(RSS/(14));
R=sum((yh-mean(y)).^2)/sum((y-mean(y)).^2);
%fprintf(1,'平方和Q=%3.6f\n',Q);
w=num2str(RSS);
w=strcat('剩余平方和为:
',w);
text(2,14*10^-4,w);
w=num2str(SGM);
w=strcat('标准误差为:
',w);
text(2,13*10^-4,w);
w=num2str(R);
w=strcat('相关指数为:
',w);
text(2,12*10^-4,w);
title('\bf\fontsize{15}实验数据离散点图/拟合多项式曲线','color','b')
axis([-111-0.5e-31.6e-3]);xlabel('输入信号');ylabel('输出响应');
end
8.2Matlab指数曲线拟合程序代码
1)主程序
clear,closeall;
xdata=xlsread('x.xls');
ydata=xlsread('y.xls');
x0=[0,0];
[x,resnorm]=lsqcurvefit(@nihehanshu,x0,xdata,ydata)
%根据给定的数据xdata,ydata,按fun给定的函数,以x0为初值作最小二乘拟合,
%返回函数fun中的系数向量x和残差的平方和resnorm
f=x
(1)*exp(xdata)+x
(2);
RSS=sum((f-ydata).^2);
SGM=sqrt(RSS/(14));
R=sum((f-mean(ydata)).^2)/sum((f-mean(ydata)).^2);
figure('name','指数曲线拟合');
plot(xdata,ydata,'k*',xdata,f,'r-');
w=num2str(RSS);
w=strcat('残差平方和为:
',w);
text(2,14*10^-4,w);
w=num2str(SGM);
w=strcat('标准误差为:
',w);
text(2,13*10^-4,w);
w=num2str(R);
w=strcat('相关指数为:
',w);
text(2,12*10^-4,w);
title('\bf\fontsize{15}实验数据离散点图/拟合多项式曲线','color','b')
axis([-111-0.5e-31.6e-3]);xlabel('输入信号');ylabel('输出响应')
2)函数文件
functionf=nihehanshu(x,xdata)
f=x
(1)*exp(xdata)+x
(2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电路 系统 拟合 估计