MATLAB实验MATLAB数值计算:二阶电路的时域分析
更新时间:2024-06-13 23:43:02 阅读量: 综合文库 文档下载
- matlab推荐度:
- 相关推荐
实验二 MATLAB数值计算:二阶电路的时域分析
一、实验目的
在物理学和工程技术上,很多问题都可以用一个或一组常微分方程来描述,因此要解决相应的实际问题往往需要首先求解对应的微分方程(组)。在大多数情况下这些微分方程(组)通常是非线性的或者是超越方程(比如范德堡方程,波导本征值方程等),很难解析地求解(精确解),因此往往需要使用计算机数值求解(近似解)。MATLAB作为一种强大的科学计算语言,其在数值计算和数据的可视化方面具有无以伦比的优势。在解决常微分方程(组)问题上,MATLAB就提供了多种可适用于不同场合(如刚性和非刚性问题)下的求解器(Solver),例如ode45,ode15s,ode23,ode23s等等。本次实验将以二阶线性电路-RLC电路和二阶非线性电路-范德堡电路的时域计算为例,了解和学习使用MATLAB作为计算工具来解算复杂的微分方程,以期达到如下几个目的:
1. 熟练使用dsolve函数解析求解常微分方程; 2. 熟练运用ode45求解器数值求解常微分方程;
3. 了解状态方程的概念,能使用MATLAB对二阶电路进行计算和分析;
二、实验预备知识
1.微分方程的概念
未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程(Ordinary differential equations,简称odes)。n阶常微分方程的一般形式(隐式)为:
F(t,y,y',y\,?,y(n))?0 (1)
其中t为自变量。若方程中未知函数及其各阶导数都是一次的,称为线性常微分方程,否则就是非线性微分方程,例如方程y''??(1?y2)y'?y?0 就是非线性的。
2.常微分方程的解及MATLAB指令
一阶常微分方程与高阶微分方程可以互化,已知一个n阶常微分方程(显式):
y(n)?f(t,y',y\,?,y(n?1)(n?1)) (2)
若令y1?y,y2?y',y3?y'',....,yn?y,可将上式化为n个一阶常微分方程组:
?y1'?f1(t,y1,y2,...yn)?'?y2?f2(t,y1,y2,...yn) ??? ??y'?f(t,y,y,...y)?nn12n(3)
(3)式称为状态方程,y1, y2, …,yn(即y, y?, y??, …, y(n-1) )称为状态变量,其中y1(即y)就是常微分方程(2)式的解。(3)式中右边的函数f1、f2、…、fn代表各个状态变量的一阶导
数的函数表达式,对于具体的方程它们有具体的形式,例如下列二阶非线性微分方程:
y''??(1?y)y'?y?0
2若令y1?y,y2?y',可将其改写成2个一阶微分方程组(状态方程)的形式:
?y1'?y2 ?2?y2'??(1?y1)y2?y1因此f1?y2; f2??(1?y12)y2?y1。 ? 解析解
只有少部分的线性常微分方程可以解析地求解(即可以算出精确的解表达式),例如一阶常系数常微分方程dydt?y?1可以通过直接积分解出,而多数微分方程尤其是非线性方程则很难得到解析解。
有解析解的方程虽然可以手算解出,但是MATLAB也提供了dslove指令来求方程的解析解,其使用格式:
S = dsolve (‘方程1’, ‘方程2’,…,’初始条件1’,’初始条件2’ …,’自变量’)
方程用字符串表示,自变量缺省值为t。1阶导数用D表示,2阶导数用D2表示,以此类推。S用于返回方程解析解的表达式。如果是求解方程组,则S为一个结构体数组,它的每个域存放方程组每一个解的表达式。 例1:求下列微分方程的解析解
y''?sin(2x)?y,y(0)?0,y'(0)?1
>> s=dsolve(’D2y=sin(2*x)-y’,’y(0)=0’,’Dy(0)=1’,’x’); >> simplify(s) %以最简形式显示s ans =
-1/3*sin(x)*(-5+2*cos(x)) % 方程的解(符号表达式)
? 数值解
对于没有解析解的方程主要依靠计算机进行数值求解(得到的是近似解),例如方程。y''??(1?y)y'?y?0 就须通过计算机数值求解(结果是一系列解的数值而非表达式)考虑n阶微分方程(2)式的数值求解,它等价于一阶常微分方程组(3)式。现将(3)式写成矩阵形式:
Y'(t)?F(t,Y(t)) (4)
2其中
?y1(t)??y?????y2(t)y'?=?? (5) 为n个分量的列向量(Column vector),也称状态向量 Y(t)???????????(n?1)?y(t)??n??y??F?????f1??f2? (6) n个分量的列向量,其每个元素分别为(3)式右边的函数表达式 ???fn?我们知道,微分方程要有唯一的确定解,必须给定初值条件。因此方程(4)式要有确定的解必须给定初值条件(t0为初始时刻):
?y(t0)??y1(t0)?????y'(t0)y2(t0)???? (7) Y0?Y(t0)?????????(n?1)???(t0)??yn(t0)??yMatlab提供了ode45指令(ode是常微分方程的英文缩写)来求解方程(4)的数值解(近似解)。基本使用格式:
[tout, Yout] =ode45 (odefun, tspan, Y0,options)
其参数说明如下:
① odefun 一般是用M文件编写的函数,odefun代表函数名,由用户自己定义。函数返回值为(4)式右边的F(t,Y)=(f1, f2 ,…, fn)T。故odefun函数的返回值应是列向量,其最简单的编写格式为:
function F = odefun (t, Y) 【 作用是计算并返回4式中的F(t, Y) 】 其中 t 时间变量,为标量,代表计算进程中的某时刻点
Y 代表状态变量的列向量(即5式) F 返回值F(t, Y),为列向量(见6式)
ode45求解指令在计算时将会不断地在各个时间点调用odefun函数,并自动给输入参数t和Y赋值。
② tspan 指定方程的求解区间[t0, tf],t0是初始时刻。
③ Y0 用户给定的初值条件,为n个分量的列向量,见(7)式。
④ options 可选项。一般情况下可缺省即可,若用户有特殊要求则须使用odeset指令设
置options选项,具体用法可使用help odeset命令查询,此处不做要求。
⑤ tout 列向量,输出求解过程中区间[t0, tf]上各个计算点的时刻,即
tout?(t0 t1 t2? tf)', [t0, tf]上计算点的数目是由Matlab自动生成。
⑥ Yout 输出矩阵,其排列格式如下:
?y1(t0)?y1(t1)Yout??????y1(tf)y2(t0)y2(t1)?y2(tf)????yn(t0)??y(t0)??yn(t1)?=?y(t1)??????yn(tf)??y(t)f?y'(t0)y'(t1)?y'(tf)????y(n?1)(t0)??(n?1)y(t1)?? (8)??y(n?1)(tf)??Yout的第1列代表的是状态变量y1在t0, t1, t2,?, tf(依次为tout的每个元素)各个时刻的值,由于y1=y,所以Yout的第一列就是待求方程的数值解,它显然是一系列离散的y(t)值:?y(ti),i?0,1,2,...f?;将Yout第一列提取出来并用plot(tout,Yout(:,1))指令即可绘制解y(t)的函数图像。Yout的第2列是y的一阶导数y'(?阶导数y''(?y3)的数值解…。
第y2)的数值解,
3列是y的二
三、实验内容
1. 二阶线性电路—RLC回路的零输入响应
当电路中含有二个动态元件(如电感、电容)时,建立的电路方程为二阶微分方程,这样的电路称为二阶电路,如果微分方程是线性的,则为线性电路,若为非线性方程,则是非线性电路,如范德堡电路。所谓零输入响应指的是电路中无外加的激励源,仅由动态元件初始储能所产生的响应。
考虑如图所示的RLC电路,假设电容原已充电,根据电路理论,此二阶电路的零输入响应可用如下二阶线性微分方程描述:
ducdt22?RducLdt?1LCuc?0 (9)
其中uc代表电容电压。给定初值条件:
?uct?0?1?duc?i(t)??Ct?0?dt??0t?0 (10)
元件参数L=0.5H, R=12.5?, C=0.02F。要得到t≥0时的零输入响应,就必须求解(9)式。 A. 解析解
方程(9)可以直接求解,因此有解析解。下面改用MATLAB中的dsolve指令来求方程(9)的解析解,程序如下:
S=dsolve('D2u=-R/L*Du-1/L/C*u','u(0)=1','Du(0)=0','t');
% S为字符型数组(字串),其值为方程9的解表达式 L=0.5;C=0.02;R=12.5; % 元件参数
t=0:0.01:1; % 定义区间[0,1]上的时间序列
y=eval(S); % eval串演算函数,计算字串S(即9式的解)在t时刻的值 plot(t,y) % 绘制电压波形,即uc(t)的零输入响应
B. 数值解
方程(9)虽然可以解析求解,但也可以使用ode45指令来近似计算。令y1= uc, y2= duc/dt,则方程9改写成如下状态方程:
?y1'?y2? (11) 1R?y1?y2?y2'??LCL?上式也可以写成(4)式的形式,因此状态向量
Y=(y1,y2)T, F =(f1,f2)T =(y2,﹣1/L/C*y1﹣R/L*y2)T (12) 第一步:通过M文件创建ode函数,函数名circuit_2order_odefun。 function F=circuit_2order_odefun(t,Y)
global L C R % 定义全局变量L、C、R,以实现参数在MATLAB的基本工作空%
间和函数的专用空间之间数据的传递
F=[Y(2);-1/L/C*Y(1)-R/L*Y(2)]; % 函数返回值F, 列向量,见(12)式 注意,函数创建完后,必须存盘,存储文件名和函数名应一致! 第二步:创建M脚本文件circuit_2order.m L=0.5; C=0.02; R=12.5; % 元件参数 Y0=[1;0]; % 列向量,初值条件 tspan=[0,1]; % 定义求解区间[0,1]
[tout,Yout]=ode45('circuit_2order_odefun',tspan,Y0); plot(tout,Yout(:,1)); % 绘电压波形,即uc(t)的零输入响应 2. 二阶非线性电路—范德堡(Van de Pol)电路
范德堡电路由一个线性电感、一个线性电容和一个非线性电阻构成,如图(a)所示。非线性电阻的伏安特性如图(b)所示,可很明显看出电阻是非线性的。
范德堡电路的特性可由一个二阶非线性微分方程描述(参见邱关源的《电路》第5版P463-P465):
diLdt22??(1?iL)2diLdt?iL?0 (13)
其中??CL。上式就是著名的范德堡方程。该方程很难解析求解,必须借助计算机数值
求解。令y1?iL,y2?diLdt,将范德堡方程改写成一阶微分方程组(状态方程)的形式: ?y'?y2 ?1 (14) 2?y2'??(1?y1)y2?y1上式也可以写成(4)式的形式。因此状态向量Y和F分别为
??y1?,?f1??y2 (15) Y???F??????2?y2??f2???(1?y1)y2?y1?假定参数? =0.1,求解区间[0, 100],以及初值条件
?y1(0)??0? Y0?????? (16)?y2(0)??1?请仿照实验内容1,利用ode45指令求解范德堡方程,并绘制电流iL的波形(即电流的零输入响应图)。
四、实验任务
1. 输入实验内容1中提供的程序上机练习,熟悉dslove指令以及ode45指令的使用方法,并尝试解答思考题1。
2. 在任务1的基础上,独立编制实验内容2的计算程序,并尝试解答思考题3。
五、思考题
1. 在实验内容1中,若使用ode45指令解方程9式,如何得到电流的零输入响应波形? 2. 在实验内容1中,试研究R=1?,2?,3?,…,10?时电压Uc(t)的响应波形,并把它们绘制在一张图上。
3. 从任务2的电流波形图 (如下图) 中,你能得到什么结论?如何绘制范德堡电路的uc ~ iL
函数图像(称为相图)? (提示:u?1diL?1i3?i?1y?1y3?y)
cLL211?dt3?3
附:实验任务2的参考图
其中??CL。上式就是著名的范德堡方程。该方程很难解析求解,必须借助计算机数值
求解。令y1?iL,y2?diLdt,将范德堡方程改写成一阶微分方程组(状态方程)的形式: ?y'?y2 ?1 (14) 2?y2'??(1?y1)y2?y1上式也可以写成(4)式的形式。因此状态向量Y和F分别为
??y1?,?f1??y2 (15) Y???F??????2?y2??f2???(1?y1)y2?y1?假定参数? =0.1,求解区间[0, 100],以及初值条件
?y1(0)??0? Y0?????? (16)?y2(0)??1?请仿照实验内容1,利用ode45指令求解范德堡方程,并绘制电流iL的波形(即电流的零输入响应图)。
四、实验任务
1. 输入实验内容1中提供的程序上机练习,熟悉dslove指令以及ode45指令的使用方法,并尝试解答思考题1。
2. 在任务1的基础上,独立编制实验内容2的计算程序,并尝试解答思考题3。
五、思考题
1. 在实验内容1中,若使用ode45指令解方程9式,如何得到电流的零输入响应波形? 2. 在实验内容1中,试研究R=1?,2?,3?,…,10?时电压Uc(t)的响应波形,并把它们绘制在一张图上。
3. 从任务2的电流波形图 (如下图) 中,你能得到什么结论?如何绘制范德堡电路的uc ~ iL
函数图像(称为相图)? (提示:u?1diL?1i3?i?1y?1y3?y)
cLL211?dt3?3
附:实验任务2的参考图
正在阅读:
MATLAB实验MATLAB数值计算:二阶电路的时域分析06-13
人民币汇率改革习题与答案11-12
公安个人工作计划03-28
SDJ 68-85 火力发电厂热力设备和管道保温材料技术条件与检验方法02-26
二类医疗器械注册的有关说明11-25
地面数字电视国家标准DTMB技术解读08-31
2019年中考语文模拟试卷及答案01-25
2016年苏少版五年级下册美术全册教案(2013版) - 图文03-31
2019超星尔雅美学原理完整满分答案10-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 二阶
- 时域
- MATLAB
- 数值
- 电路
- 实验
- 计算
- 分析
- 第四版三基训练护士分册 - 第十四章9
- 浅谈工程施工质量管理
- 多学科设计优化( MDO) 机电毕业设计(论文)
- 第三节 化学中常用的物理量1
- 人教高中英语必修2-Unit 2课时练习及解析(2)
- 2014XX公司受控文件清单(房地产相关法律法规目录) - 图文
- 思想政治教育学原理 考试资料
- 空竹教案(第一学期)
- 社会实践报告3000字论文
- 文案编辑月度工作总结
- 体育部优秀部门申报材料
- 中考数学一轮复习【几何篇】16.相似三角形(二)
- WCDMA接口规范 - 附录3
- 2019年中国灯具市场调研及发展趋势分析报告目录
- 学校各岗位廉政风险点及防控措施
- 初探民办高校立体化创业教育体系构建
- 高等代数二次型
- 留守儿童心理健康教育讲稿
- 香奈儿香水:这种味道你值得细细品味
- 人大新闻学院考研 外国新闻史完结篇