当前位置:首页 > 电力系统课程设计 - - - 潮流计算
电力系统基础课程设计说明书
第五章 Matlab概述
5.1 Matlab简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
5.2 Matlab的应用
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MALAB 产品族可以用来进行以下各种工作: ● 数值分析
● 数值和符号计算 ● 工程与科学绘图
● 控制系统的设计与仿真 ● 数字图像处理 技术 ● 数字信号处理 技术 ● 通讯系统设计与仿真 ● 财务与金融工程
MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单
13
电力系统基础课程设计说明书
独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。
5.3与常数的运算
常数与矩阵的运算即是同该矩阵的每一元素进行计算。但需注意进行数除时,常数通常只能做除量。
基本函数运算中,矩阵的函数运算是矩阵预算中最实用的部分,常用的主要有以下几个:
det(a) 求矩阵a的行列式 eig(a) 求矩阵a的特征值 inv(a)或a^(-1) 求矩阵a的逆矩阵 rank(a) 求矩阵a的秩
trace(a) 求矩阵a的迹(对角线元素之和)
我们进行工程计算时常常遇到矩阵对应元素之间的运算。这种运算不同于前面讲的数学运算,为有所区别,我们称之为数组运算。
5.4基本数学运算
数组的加、减与矩阵的加、减运算完全相同。而乘除法运算有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.\\。”前面讲过常数与矩阵的除法运算中常数只能做除数。在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。
另外,矩阵的数组运算中还有幂运算(运算符.^)、指数运算(exp)、对数运算(log)、和开方运算(sqrt)、等,有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。矩阵的幂运算与数组的幂运算有很大的区别。
5.5 逻辑关系运算
逻辑运算是MATLAB中数组运算所特有的一种运算形式,也是几乎所有的高级语言普遍适用的一种运算。
5.6 Matlab中的一些命令
1)一般MATLAB命令格式为
[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……)
14
电力系统基础课程设计说明书
输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用括号。 2)可用↑、↓键来重现已输入的数据或命令。用←、→键来移动光标进行修改。 3)所有MATLAB命令都用小写字母。大写字母和小写字母分别表示不同的变量。 4)常用数有特定的名字,如pi(=3.141596) 、Inf(=∞)、NaN则表示不定型求得的结果(如0/0)。
5)矩阵的输入要一行一行的进行,每行各元素用空格或(,)分开,每行用(;)分开。
6)MATLAB书写格式为A=[1 2 3 ;4 5 6 ;7 8 9] 在MATLAB中运行如下程序可得到A矩阵 a=[1 2 3;4 5 6;7 8 9] a = 1 2 3 4 5 6 7 8 9
7)需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。 运行下面两种格式可以看出他们的区别
a=[1 2 3;4 5 6;7 8 9] a=[1 2 3;4 5 6;7 8 9]; a = (不显示计算结果) 1 2 3 4 5 6
8)当输入语句过长需要换行时,应加上“…”后再回车,则可连续输入。 9)diary命令
使用该命令可以在窗口中以ASCII码形式记录所有的输入和输出。但这个命令不是存储数据,而是存储输入与屏幕上输出的内容。它可以记录下工作的过程。在每个工作过程之前使用该命令,工作结束后使用diary off 则能将整个工作过程记录下来。 格式diary(文件名)(扩展名) . .
diary off
一般来说扩展名可取,m这样就可在MATLAB\BIN\目录下存入该文件。 10)save 命令
15
电力系统基础课程设计说明书
该命令存储定义的变量或演算结果,也可以用来存储指定的变量。 命令格式为
save 文件名 . 扩展名 11)what 命令
该命令可以在当目录下显示MATLAB文件和MAT数据文件 12)dir 命令 显示当前目录下的所有文件. 13)clear命令
14)[d1,d2,d3,..]=size(a) 求矩阵的大小,对m*n二维矩阵,第一个为行数m,第二个为列数n。
如果输入 calear a b c ,则表示清除工作空间中指定变量a,b,c;如果仅仅输入calear命令,则清除整个工作空间。
与此同时,MATLAB具有强大的矩阵运算功能, 但由于我们在求节点导纳矩阵时用的不多, 因此这里我们只作简单介绍。
1) 在MATLAB中表示一个矢量要用方括号, 而列矢量的输入只需在行矢量输入格式基础上加转置符(?)即可。 如 x=[1 2 3;4 5 6] x =
1 2 3 4 5 6
而 x=[1 2 3;4 5 6]' (加转置符) x =
1 4 2 5 3 6 注意上面两式的区别。
2) 下面三条命令可以产生一个行矢量
a=linspace(x,y,n) a=logspace(x,y,n)
16
共分享92篇相关文档