Matlab小结及其在电路中的应用举例

Matlab 小结及其在电路中的应用和举例
摘要:本文以《MATLAB 7.X 程序设计》为本,对 Matlab 的基础知识进行了概 括性总结。并结合电子科学与技术专业的知识,说明了 Matlab 在电路中的应用,最 后举例说明了 Matlab 在电路中的应用。 关键词:Matlab;课本小结;电路应用

Matlab Summary and its application in the circuit and examples
Abstract:This paper bases on "MATLAB 7.X program design " and generally summarizes the basics of Matlab. It combines with professional knowledge of Electronic

Science and Technology and describes the application of Matlab in the circuit, and finally illustrates the application of Matlab in the circuit. Key words:Matlab; Textbooks summary; Circuit applications

引言
Matlab 语言是一种很重要的程序设计性语言,Matlab 软件中提供了很多功能很 强的编程语言。作为电工学专业,应该学习一些 Matlab 中基础的编程语言和基本的 编程函数。而一些电路中的计算比较复杂,人工计算费时费力,而运用 Matlab 软件 中的简单程序或函数,可以很快很准确的计算出结果。

1 Matlab 课本小结
1.1 Matlab 概述 本章简单介绍了 Matlab 的发展历程和特点,描述了 Matlab 软件系统的安装及其 工作环境,重点介绍了几个 Matlab 窗口。这一章的知识属于学习 Matlab 之前的准备 知识。 1.2 Matlab 运算基础 本章介绍了 Matlab 最基础的几种运算。首先要了解各种数据对象、数据类型、 变量的定义方法及变量的赋值和管理。对于数值数组,要掌握数值数组的建立、元素 的标识、子数组、数组的赋值及多维数组。要了解稀疏数组的建立及矩阵和数组的算 术运算、乘方运算。关于字符串,要明白其定义、连接和替换及字符串的比较函数和 转换函数。对于元胞数组,简单了解它的建立、转换函数、它的使用。同样的,对于

1

构架数组, 只需了解其建立、 域的增加和删除、 构架数组元素的引用、 域值操作函数、 构架数组的嵌套。 1.3 Matlab 程序设计 本章主要介绍一些基于 Matlab 的简单程序设计。Matlab 中除了可以进行矩阵和 数组的算术和乘幂运算外,还可以进行关系运算和逻辑运算。对于关系运算,首先要 了解关系运算符和运算法则,然后重点掌握关系运算的应用;对于逻辑运算,首先也 要了解逻辑运算符和运算法则,然后简单了解一下逻辑函数,重点掌握逻辑运算中的 运算优先级。M 文件是指用 Matlab 语言编写的程序,重点要掌握 M 文件的建立和编 写。分支语句包括三种结构:if 结构,switch-case 结构,try-catch 结构。其中 if 结构 是实现分支结构程序的最常用的一种结构。循环语句包括 while 循环和 for 循环,这 两种循环在简单编程中都很常用,用来实现一些简单的目的。函数文件是一种特殊类 型的运行在自己独立的工作空间的 M 文件,通过输入形参表接收数据,通过输出形 参表返回结果到调用文件。重点需要掌握函数文件的建立与应用。关于 Matlab 文件 处理,只需简单了解数据文件的分类,文件的打开和关闭,二进制 I/O 函数及其格式 化,文件位置和状态函数。 1.4 数值运算 本章介绍一些数值计算的基础知识。数值计算具有以下特点:计算前必须定义变 量并赋值; 计算有误差; 计算速度较快; 除定义了算术运算、 关系运算和逻辑运算外, 还提供了很多运算函数。数据分析函数包括统计分析函数、协方差和相关系数函数及 傅里叶变换函数。关于矩阵操作,主要有四方面:矩阵的结构变换;矩阵分析;矩阵 的特征值分析;矩阵的分解。通过这些操作,可以解线性方程组,这在电路中有一些 应用。多项式函数也是一种应用性很强的函数,通过对这一节的学习,需要掌握多项 式的表示、多项式的算术运算、多项式的导数函数、多项式的求根函数、多项式估值 和部分分式函数。关于插值和拟合,只需了解一下数值插值和数据拟合即可。最后需 要掌握数值微分和积分函数。 1.5 符号计算 本章介绍一些符号运算的知识。符号运算的特点:符号表达式计算前必须定义符 号变量;符号计算是精确计算;符号计算计算速度较慢;符号计算的运算符和基本数 学函数与数值计算中的几乎完全相同。首先要学会创建符号常量和符号变量。对符号 表达式的基本操作包括:符号表达式的基本运算、符号数值精度控制、符号对象转换
2

为数值对象、自由变量的确定、变量置换及反函数和复合函数。符号多项式函数介绍 了合并同类项的符号函数,因式分解函数,分子、分母提取函数,化简函数和展开函 数。符号微积分具体详细的介绍了符号极限、符号积分和符号微分。积分变换简单介 绍了一下符号卷积,傅里叶变换及其反变换,拉普拉斯变换及其反变换,Z 变换及其 反变换。解方程这一节介绍了符号代数方程的求解和符号微分方程的求解。最后简单 了解一下可视化数学分析界面。 1.6 Matlab 绘图 Matlab 提供了强大的图像绘制功能,本章介绍了 Matlab 的绘图。二维绘图的内 容包括直角坐标系的二维图形,绘制图形的辅助操作,plotyy 函数,极坐标系绘图, 对数坐标绘图和隐函数绘图。特殊二维图形的绘制包括直方图、饼图、离散杆状图、 阶梯状图、射线图、误差条形图、彗星图、圆形图的绘制。三维绘图叙述了三维曲线 和三维曲面的绘制,三维图形的色彩处理,图像的读写和动画处理,特殊三维图形的 绘制。句柄图形介绍了句柄图形体系,图形对象的建立,对象句柄的获取方法,对象 属性的获取和设置。

2 Matlab 在电路中的应用
2.1 Matlab 在电路计算中的应用 Matlab 最基本的功能是进行矩阵运算。 电路理论中的基尔霍夫定律、 支路电流法、 网孔电流法以及节点电压法列写的方程组都可以以矩阵形式表示。对于简单电路来 说,手算可以解决这些方程组的求解问题,但对于复杂电路来说,一个方程组可能会 有很多的方程,此时 Matlab 凸显出其优势,利用 Matlab 语言编写程序可以很快很准 确的计算出结果。求解动态电路响应的问题是一个难点,状态变量分析法是提供了解 决这一难题的一种很好的方法, 其分析结果是一组一阶微分方程组, Matlab 提供了微 分方程组的数据值解。RLC 二阶电路的分析结果是一组二阶微分方程组,计算比较 复杂,利用 Matlab 编程可以很快准确计算出结果。 2.2 Matlab 在电路绘图方面的应用 在电路分析及电工学中,经常要涉及到RLC的串并联电路,当在电路中施加正弦 交流电流(压)的情况下,电阻元件R、电感元件L、电容元件C中的电流电压的波形关 系可以利用Matlab 程序很快的以波形图展现出来。这些波形图有利于我们对RLC二 阶电路的分析。

3 Matlab在电路中的应用举例
3

Matlab在电路分析计算中有很多的应用,下面举例说明Matlab基于基尔霍夫定律 的应用和Matlab在网孔电流法中的应用。 例1:求图1中电路的电压 U 和 I 。 (1)建模 列3个回路电压方程:
? ? 6 ( I ? I1 ) ? 9 I1 ? U ? 0 ? ? 6 ( I ? I1 ) ? 2 I1 ? 1 0 ? U ? 4 (3 ? I ) ? 2 I ? 1 1

整理方程组,将其变换成矩阵形式:
??6 ? 6 ? ? 0 ? 1 5 ? ?1? I ? ? 0 ? ?? ? ? ? ? 4 0 I1 ? 1 0 ?? ? ? ? 2 1? ? U ? ? ? 1? 2 ?? ? ? ?

(2)Matlab程序求解 clear,close all,clc A=[-6 15 -1;6 -4 0;0 2 1]; B=[0;10;-12]; X=A\B; U=X(3); I=X(1); disp(‘电压U(V):’), disp(U) disp(‘电流I(A):’),disp(I) (3)程序运行结果 电压U(V): 电流I(A): -11.6923 1.56241
U
x

例2:求图2电路中的电压 (1)建模

设各网孔电流如图,列网孔电流方程:
I1 ? 1 ? ? 2 (I 2 ? 1? ) 6 2( I 4 ? ) ? 2? x u I ? u ? ? I 3 ? 2u x ? ? I 4 ? 6 (I 4 ? I 2 ) u ? ? ? ( ? I 2 ? I 4 ? 1 ,u x ? 1 I 4补 充 方 程 ) ?

整理方程组得:

4

I1 ? 1 ? ? 8 I 2 ? 6 I 4 ? 2u x ? u ? 4 ? ? I 3 ? 2u x ? 0 ? ? ?6 I2 ? 7 I4 ? u ? 0 ? ? I 2 ? I 4 ? 1, ? I 4 ? u x ? 0 ( 补 充 方 程 ) ?

将方程组变换成矩阵形式:
?1 ? 0 ? ?0 ? ?0 ?0 ? ?0 0 8 0 ?6 1 0 0 0 1 0 0 0 0 ?6 0 7 ?1 ?1 0 1 0 ?1 0 0 0 ? ? 2 ? ?2 ? ? 0 ? 0 ? ? 1 ? ? I1 ? ?1 ? ? ? ? ? I 4 ? 2? ? ? ? I3 ? ?0 ? ? ? ? ? ? ? I4 ? ?0 ? ?u ? ?1 ? ? ? ? ? ?u x ? ?0 ? ? ?

(2)Matlab程序求解 clear,close all,clc A=[1 0 0 0 0 0;0 8 0 -6 1 2;0 0 1 0 0 -2;0 -6 0 7 -1 0;0 1 0 -1 0 0;0 0 0 -1 0 1]; B=[1;4;0;0;1;0]; X=A\B; Ux=X(6); disp(‘电压Ux(V):’), disp(Ux) (3)程序运行结果: 电压Ux(V): 0.4000

结束语
通过对Matlab基础知识的简单总结,我们基本了解了Matlab的编程语言和函 数。通过一些简单的应用举例,我们对Matlab在电路中的应用有了初步的认识。

参考文献
[1] 邱关源,罗先觉.电路[M].北京:高等教育出版社,2009:60~64.

5

[2] 王建卫, 曲中水. MATLAB 7.X程序设计[M]. 北京: 中国水利水电出版社, 2009: 15~198. [3] 胡翔俊.电路分析[M].北京:高等教育出版社,2001:34~50. [4] 蒲俊,吉家锋,伊良忠.MATLAB 6.0数学手册[M].上海:浦东电子出版社, 2002:56~70.

6


相关文档

MATLAB防治技术及其在电子电路中的应用
MATLAB在二阶动态电路中的应用
MATLAB在电路瞬态分析中的应用
MATLAB及其在电路分析中的应用
Matlab符号运算在电路分析中的应用
实验8 MATLAB 在动态电路中的应用
Matlab语言在电路暂态分析中的应用
MATLAB在直流电路-戴维南定理中的分析及应用
MATLAB 在电路分析中的简单应用
实验八 MATLAB在电路中的应用
电脑版