一、实验目的
实现一个可分析任意还有动态元件电路的暂态响应过程的程序。通过程序设计和开发,深刻理解暂态响应这一过程的物理意义,通过数学表达式描述电路结构和响应过程,最终通过程序设计语言实现一个具有良好可视化界面的分析软件
二、设计思路
分析此次实验可以看出,电路的暂态响应过程是实验所要展现的重点,电路的构建过程可由之前线性电路的编程得到。因此,我们简化了电路模型的输入,构建戴维宁和诺顿等效电路代替实际电路模型。在此基础上,通过KCL、KVL的约束条件,以及动态电路元件自身特性和初始(特定)状态,求解电路方程的解。最后根据需要将电路的响应动态展示出来。
三、关键步骤:
1、在一阶电路中,使用pause函数加for循环动态描述电路参数的响应过程
2、二阶电路中过程较为复杂,学习起来也较为困难。所以我将四个参数放在了同一张图里便于分析比较。同时,为了美观性,将动态改为了静态展示。
3、人机交互界面使用了MATLAB中自带的guide,通过menu实现了用户对电路模型的建立。通过while循环和多个标志参数实现子菜单的管理,从而实现了一套程序的多次重载。
四、亮点:
1、功能强,在题目要求的基础上,增加了一阶电路的全响应,以及二阶电路的零状态和零输入分析功能;
2、注重细节效果,一阶电路中多次实验,为了更好的展示效果,最终确定步数叠加100tao次;
3、通过函数减少了代码量,使结构更加简练便捷;
软件介绍:MATLAB——一个很常规但是功能强大的软件
在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
五、效果展示
主界面
子页
六、代码
下面展示一些 源码
。
syms Us U0 Req C Is I0 L high;
RoadFlag=1;
StateFlag=0;
init()
while RoadFlag==1
RoadType=menu('电路类型','RC','RL','RCL','恢复出厂设置','结束');
switch RoadType
case 1
StateFlag=1;
while StateFlag==1
StateFlag=menu ('选择输入类型','等效电压源','初始电容电压','等效电阻','电容','零输入响应','零状态响应','全响应','退出');
switch StateFlag
case 1;
Us=input('请输入Us的值:');
case 2
U0=input('请输入U0的值:');
case 3
Req=input('请输入Req的值:');
case 4
C=input('请输入C的值:');
case 5 %零输入响应
tao=Req*C;
x1=0;dx=10*tao;%确定起始点和增量
x2=x1+dx;%确定画图时的横坐标终止值x1
y1=0;dy=U0;%确定起始点和增量
y2=y1+dy+dy/5;%确定画图时的横坐标终