MATLAB《基础强化训练》武汉理工大学自动化07级.docx
《MATLAB《基础强化训练》武汉理工大学自动化07级.docx》由会员分享,可在线阅读,更多相关《MATLAB《基础强化训练》武汉理工大学自动化07级.docx(9页珍藏版)》请在冰点文库上搜索。
![MATLAB《基础强化训练》武汉理工大学自动化07级.docx](https://file1.bingdoc.com/fileroot1/2023-6/12/732456ba-cf71-459d-b25b-1c873b3b25d1/732456ba-cf71-459d-b25b-1c873b3b25d11.gif)
MATLAB《基础强化训练》武汉理工大学自动化07级
MATLAB-《基础强化训练》--武汉理工大学自动化07级
前言
MATLAB是美国MATHWORKS公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。
MATLAB是矩阵实验室(MatrixLaboratory)的简称。
它在数学类科技应用软件中在数值方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户的交互接口是基于windows模型化图形输入,使得用户可以把更多的精力投入到系统模型的构建,而非编程上。
目前MATHWORKS公司已经把SIMULINK发展成一个一系列产品。
本实验室基于MATLAB软件,运用其解决电路基础的一些简单知识,从而学会简单运用MATLAB软件,为以后更好的掌握这款软件打下基础。
图1--题目的电路图
2.设计分析
图一是由压控电流源等组成的简单电路,运用回路电流法,网孔法,节点法等一些经典的电路分析法即可解决此问题。
电路也可用simulink进行仿真实验,并通过波形,数据测量等从而检测计算及编程的结果。
(1)基本电路分析的基本方法是先建立数学模型,一般是电路方程组。
然后通过求解方程组,得到各支路电压和电流。
如图1所示:
设三个回路的电流分别为Im1,Im2,Im3。
并设压控电流源的电压为U3。
对图1应用回路电流法,可列出如下方程组:
R11Im1+R12Im2+R13Im3=Us11
R21m1+R22Im2+R23Im3=Us22
R31Im1+R32Im2+R33Im3=Us33
其中,R11=R1+R2,R22=R1+R3,R33=R2+R3,
R12=R21=-R1,R13=R31=-R2,R23=R32=-R3,
Us11=US,Us22=U1,Us33=-U3
而
(I1的电流由Im1和Im2决定的,而I1的电流方向与Im1相同,与Im2的电流方向相反,故为Im1减去Im2),
,
,
整理以上方程,并写成形如AX=BU的矩阵方程形式,可得:
由以上回路电流分析法的分析过程可得以下程序流程图。
图2—程序流程图
(2) 用simulink仿真以上电路,并观测波形,测量数据。
I1,U2的测量结果再和程序的结果相比较,若相同,则说明电路仿真和程序编写多是正确的;若不同,则说明电路的仿真与程序编写至少一个有问题,认真检查程序及电路的仿真,找出错误,认真分析,纠正错误,在比较结果。
使用simulink进行仿真一般分为两步:
用户首先需要在仿真模型编辑窗口中搭建好自己的模型,设置好具体模型参数和仿真参数;然后用户就可以开始仿真,simulink将根据用户搭建的模型,模型系统在用户设定条件下的具体行为。
对于建模,simulink提供了一个图形化的用户的界面(GUI),用户可以像用铅笔在纸上画图一样画模型图。
simulink的所有模型是分级的,因此可以通过自上而下或者自下而上来建立模型。
3.编程及仿真
3.1程序编写及模块分析
程序如下:
>>clear;
US=10;IS=15;R1=1;R2=2;R3=3; %为给定元件赋值
R11=R1+R2;R12=-R1;R21=-R1;R13=-R2;R31=-R2;R22=R1+R3;R23=-R3;R32=-R3;R33=R2+R3;%为下面系数矩阵A各元素赋值作准备,
A=[R11R1300;R21R23-10;R31R3301;0.25*R2 1-0.25*R2 0 0];%列出系数矩阵A
B=[1-R12;0-R22;0-R32;00];USS=[US;IS]; %列出系数矩阵B
X=A\B*USS; %由方程AX=BU解出X
I1=X
(1)-IS %显示要求的分量I1和U2
U2=2*(X
(1)-X
(2))
运行结果显示有
I1=
-10.0000
U2=
20
程序分析:
程序由2.1节的设计思路分析所得:
开始先给元件(与电路图相对应)赋值,因为MATLAB编程计算矩阵的,所以此赋值是必须的,其为下面的的系数矩阵赋值作准备。
由以上的元件赋值可得形如AX=BU矩阵方程形式的系数矩阵,这样使得A,B,U矩阵变得已知。
MATLAB提供了两种除法运算:
左除(\)和右除(/),一般情况下,X=A\B是方程A*X=B的解,而X=B/A是方程X*A=B的解。
在传统的MATLAB算法中,右除是先计算矩阵的逆再相乘,而左除则不需要计算矩阵直接进行除运算。
通常右除快一点,但左除可避免被除矩阵的奇异性所带来的麻烦。
由上所述,由公式X=A\B*USS可求得X。
以上所得X矩阵的元素有:
Im1,Im3,U1,U3。
这四个元素在矩阵X中的顺序也如此。
可见X
(1)=Im1,X
(2)=Im3,由第二节的分析知I1=Im1-IS,U2=R2*(Im1-Im3),而R2=2,可见程序的最后两行I1=X
(1)-IS,U2=2*(X
(1)-X
(2))和以上的分析一样。
程序运行后,得到I1,U2的值,并显示出来。
与题中要求所求的一样,程序编写正确,并正常运行,与预期一样。
3.2用simulink仿真电路
总体电路如下
图3--原电路图的仿真图
仿真电路图说明:
图3与实际的电路图对应,下面对以上进行简单说明:
I1measurement为测量电流I1的器件。
其输出电流I1;U2measurement1为R2两端电压即U2的测量器件,其输出U2;gain为实现增益部分,在电路中值设为1/4,因为U2/4为压控电流源,受U2控制,增益为1/4。
电路其余部分与实际电路差不多,值设置也一样。
图4――电路及显示完整图
图4电路说明:
图4与图3相比,增加了一些显示必须器件。
图三中的I1电流显示和U2电压显示部分由英文名为display的元件组成,相当于电流表及电压表,可以看出他们分别显示-10,20。
可见结果和MATLAB编程结果一样。
Scope的前面的模块为MUX模块,它实现了同时测量多个波形的功能。
I1与U2同时接入MUX模块,再由MUX模块输出到scope,即可显示所要求的波形,由scope输出波形。
Scope为电路波形输出模块,如图5所示波形输出。
上面为U2输出,下面为I1输出,可见输出波形的值显示与图三中所测得的U2,I1值一样。
图5――U2及I1的显示波形
由以上电路仿真可见,电路的编程求解及仿真所得结果一样。
都达到了预期的效果,可见编程及电路仿真没有问题。
MATLAB与simulink的结合运用是电路求解问题得以简化,使电路求解问题省时且精炼,精简。
4.设计体会与小结
MATLAB软件功能强大,本设计是运用MATLAB求解电路题目,这只是它的一个简单的应用,MATLAB还在多方面有应用,如数学和计算算术发展模型;模拟仿真和原型;数据分析,开发和可视化;科学和工程图形;应用发展包括图形用户界面设计等方面。
由于时间问题,不能一一举例,只有自己在以后的学习中慢慢学习,自己探索,更好的掌握这款软件。
MATLAB语言是一种简单,高效,功能极强的高级语言,且具有强大的矩阵运算能力和极高的编程效率,这一方面使得MATLAB程序可以被高度向量化,另一方面使得程序易读易写。
MATLAB已变得非常普及。
通过这几天对MATLAB的学习,对其有了一个大致的认识并能简单的应用,解决一些简单的线性代数及电路问题,当然在今后的学习中,还会加强自己对这款软件的学习,应为这款软件应用太广,且自己对C语言会,而且有线性代数的基础,个人认为掌握MATLAB这款软件不是问题。
快要进入大四,MATLAB这款软件在以后的专业课学习中的应用很广泛,掌握好MATLAB,为以后的专业课学习将有很大的帮助。
通过基本电路理论中的典型题目介绍了如何应用MATLAB语言编程的方法来对复杂电路进行分析和计算。
该方法不仅可以节约计算时间、方便地调试电路参数,而且还可以非常直观地观察和测量电路中的电压、电流和功率等物理量。
结论表明,MATLAB提供了高效简洁的编程方法,其强大而简易的绘图功能、矩阵和数组运算能力以及很强的扩充性,能充分满足基本电路分析、计算的需要,从而可以大大地提高计算精度和工作效率,在电路理论学科研究与工程实践中具有很好的应用价值
参考文献
[1]张志勇,等。
精通MATLAB6.5版。
北京北京航空航天大学出版社,2003
[2]蒲俊,等。
MATLAB6.0教学手册。
上海:
浦东电子出版社,2002
[3]刘志俭,等。
MATLAB应用程序接口用户指南。
北京:
科学出版社,2000
[4]吴新宇,周金泉,沈元隆。
信号与系统——时域与系统分析及MATLAB软件的应用。
北京:
电子工业出版社。
1999
[5]飞思科技产品研发中心。
MATLAB7辅助控制系统设计与仿真。
北京:
电子工业出版社,2005
[6]李国勇。
智能控制及其MATLAB实现。
北京:
电子工业出版社,2005
[7]陈洪亮,王蔼.基本电路理论.上海科学技术文献出版社.2002