MATLAB/Simulink 电力系统建模与仿真

Slides:



Advertisements
Similar presentations
3.4 空间直线的方程.
Advertisements

§1 二阶与三阶行列式 ★二元线性方程组与二阶行列式 ★三阶行列式
数学软件 Matlab —— Matlab 快速入门.
MATLAB小结、 经典迭代法、CG.
数学软件 Matlab —— Matlab 基础.
1012 MATLAB 教學 彭奕翔 2013/02/27.
第一章 行列式 第五节 Cramer定理 设含有n 个未知量的n个方程构成的线性方程组为 (Ⅰ) 由未知数的系数组成的n阶行列式
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
数学建模与MATLAB 第五讲:循环结构(1) 2017/9/12.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第二章 矩阵(matrix) 第8次课.
线性代数机算与应用 李仁先 2018/11/24.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
MATLAB数学实验 第一章 MATLAB入门.
管理信息结构SMI.
University of Electronic Science and Technology, China
走进编程 程序的顺序结构(二).
Matlab基础介绍 Matlab 简介 Matlab 的安装与启动 Matlab 编程基础 Matlab 在数字信号处理课程中的应用.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
  MATLAB操作基础 《信息隐藏实验教程》教学幻灯片 一.
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
数学软件 Matlab —— 矩阵运算.
数学模型实验课(三) 插值与三维图形.
第二章 Java语言基础.
数学软件 Matlab —— 矩阵运算.
第一章 函数与极限.
用数学软件解决高等代数问题 主讲 张力宏、张洪刚
第4章 PHP流程控制语句.
C语言程序设计 主讲教师:陆幼利.
实数与向量的积.
CH2、 MATLAB语言基础 第一节 使用MATLAB的窗口环境 一、MATLAB语言的显著特点
线性代数 第二章 矩阵 §1 矩阵的定义 定义:m×n个数排成的数表 3) 零矩阵: 4) n阶方阵:An=[aij]n×n
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
姚金宇 MIT SCHEME 使用说明 姚金宇
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
iSIGHT 基本培训 使用 Excel的栅栏问题
§8.3 不变因子 一、行列式因子 二、不变因子.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
线性代数 第十一讲 分块矩阵.
建模常见问题MATLAB求解  .
2.2矩阵的代数运算.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
§2 方阵的特征值与特征向量.
回归分析实验课程 (实验三) 多项式回归和定性变量的处理.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
定义5 把矩阵 A 的行换成同序数的列得到的矩阵,
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
实验二 MATLAB绘制图形.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 :20-16:50(90分钟)
§4.5 最大公因式的矩阵求法( Ⅱ ).
顺序结构程序设计 ——关于“字符串”和数值.
1.4 M文件与程序设计 文件的操作 命令文件 M函数文件 程序设计语句.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

MATLAB/Simulink 电力系统建模与仿真 主讲教师:王 珺 办公室:电气学院C301

电力系统常用仿真软件简介 现代电力系统是集发电、输电、配电和用电为一体的复杂非线性网络系统。对其物理本质的研究涉及到短至1μs到长至1h的动态过程。 为了保证实际运行的电力系统的安全稳定性,不便采用在线物理试验的方法对电力系统的动态行为进行研究。目前主要利用电力系统仿真软件离线计算的方法对电力系统及装置的动态行为进行仿真研究。 根据需要研究的动态过程的作用时间长短,电力系统暂态过程分为机电暂态过程和电磁暂态过程两大类。 根据仿真研究的对象,分为输电网和配电网仿真。 根据对元件描述的精细程度,分为集总元件仿真和分布参数电磁场仿真。

电力系统常用仿真软件简介 机电暂态仿真工具:PSS/E 、 PSASP 、BPA 、Simpow、Eurostag、PowerWorld Simulator、POWERTECH DSA、CYME、NEPLAN、ETMSP 电磁暂态仿真工具:EMTP/ATP、PSCAD/EMTDC 、EmtpE 混合仿真工具:MATLAB/SimPowerSystems、DIgSILENT、NETOMAC 电磁场仿真工具:ANSOFT、ANSYS、CDEGS 电力电子仿真工具: PLECS、PSIM 配电网仿真工具:ETAP 、PSS/ADEPT、EDSA/DesignBase、 PSS/SINCAL 不同软件仿真的适用范围并无严格定义,通常情况下同样的问题可以选用多种不同的软件进行分析研究, 但选取适合的软件工具能够减少不必要的工作量。 红色标注了使用频率高的软件。

MATLAB简介 数值计算和符号计算功能:矩阵运算、多项式和有理分式运算、优化处理等。 Matlab语言:Matlab除了命令行的交互式操作以外,还可以以程序方式工作。 图形功能:利用Matlab的图形命令可以绘制二维、三维乃至四维图形,并可进行图形和坐标的标识、色彩精细控制等等。 应用工具箱:数百个内部函数、功能性工具箱和学科性工具箱。 功能性工具箱主要用来扩充其符号计算功能,学科性工具箱专业性比较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用户可以直接利用这些工具箱进行相关领域的科学研究。

MATLAB简介 MATLAB的安装

MATLAB简介 MATLAB的运行 菜单 工具栏 工作空间窗口 当前目录窗口 命令提示符 命令窗口 历史命令窗口 开始按钮

MATLAB简介 File菜单,其功能如下: New 建立新文件 Open M-File 打开M-文件 Save Workspace As 将工作区存为 Run M-File 运行 M-文件 Print 打印 Exit Matlab 退出 Matlab Edit菜单:主要用于复制、粘贴等操作,与一般的w}na}}s程序类似,在此不做详细介绍。 Debug菜单:用于设置程序的调试。 Desktop菜单:用于设置主窗口中需要打开的窗口。 Windows菜单:列出当前所有打开窗口。 Help菜单:用于选择打开不同的帮助窗日。

MATLAB简介 命令窗口是进行各种Matlab操作的最主要窗口,可键入各种送给Matlab运作的指令、函数、表达式,并显示除图形外的所有运算结果。 三个常用命令: clc :清除指令窗中显示内容(clear console) exit 或 quit:退出Matlab clear:清除Matlab工作空间中保存的所有变量 历史命令窗口 当前工作目录窗口 工作空间管理窗口

MATLAB计算基础 变量是任何程序设计语言的基本元素之一。 Matlab 并不要求对所使用的变量进行事先声明,也不需要指定变量类型,Matlab 会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。 在赋值过程中,如果变量已经存在,Matlab 会用新值代替旧值,并以新的变量类型代替旧的变量类型。 赋值符: = Matlab中变量的命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过31个字符; (4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号.

MATLAB计算基础 MATLAB中预定义变量 ans: 分配最新计算表达式的值,这个表达式并没有给定一个名字 eps:返回机器精度 realmax:返回计算机能处理的最大浮点数 realmin:返回计算机能处理的最小的非零浮点数 pi :3.14159265 inf :定义为1/0 。当出现被零除时,matlab就返回inf,并不中断执行而继续计算 NaN :定义为“Not a Number”,这个非数值要么是0/0类型,要么是inf/inf i或j:虚数单位

MATLAB计算基础 算术运算符号 关系运算符号 关系运算符 说明 = = 等于 ~= 不等于 < 小于 > 大于 <= + 加法运算,适用于两个数或两个同阶矩阵相加. - 减法运算 * 乘法运算 / 除法运算 ^ 乘幂运算 \ 反斜杠表示左除 关系运算符 说明 = = 等于 ~= 不等于 <  小于 >  大于 <= 小于等于 >= 大于等于

MATLAB计算基础 数学运算函数 Matlab由包括许多标准函数,每个函数都完成某一特定功能的代码组成。 Matlab也允许用户编写自己所需的函数,其扩展名为.m,其中必须以关键字function开头。

MATLAB计算基础 Matlab语言最基本的赋值语句结构为: 变量名列表=表达式 % 后面所有文字为注释; 多个语句可在同一行,用逗号或分号分开。 表达式太长可以用续行符号… 例:>>x=20 >>y=6^2*(4+6) >>u=x+y; 行向量的创建 例:>> a = [1 2 3 4 5 6 9 8 7] a = 1 2 3 4 5 6 9 8 7

MATLAB计算基础 希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可 >> t = [0:2:20] t = 2 4 6 8 10 12 14 16 18 20 列向量的创建 例:>>b= [4; 3; 2; 1] b = 4 3 2 1 向量的点乘 例:>>c=[5 6 7 8]; d= [9 10 11 12]; e=c.*d e = 45 60 77 96

MATLAB计算基础 矩阵的创建 输入矩阵时每一行元素有分号或者回车键分隔。 1 2 3 4 5 6 7 8 9 10 11 12 提取矩阵的部分元素: 冒号运算符(:) A(:) A的所有元素 A(:,:) 二维矩阵A的所有元素 A(:,k) A的第 k 列, A(k,:) A的第 k 行 A(k:m) A的第 k 到第 m 个元素 A(:,k:m) A的第 k 到第 m 列组成的子矩阵

MATLAB矩阵操作 例:>>A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 >>A(5,:)=[5,4,3] 0 0 0 5 4 3

MATLAB矩阵操作 矩阵的转置与共轭转置 ’ 共轭转置 .’ 转置,矩阵元素不取共轭(点与单引号之间不能有空格!) ’ 共轭转置 .’ 转置,矩阵元素不取共轭(点与单引号之间不能有空格!) 例:>> A=[1 2;2i 3i]; >> B=A' >> C=A.' 查看矩阵的大小:size size(A) 列出矩阵 A 的行数和列数 size(A,1) 返回矩阵 A 的行数 size(A,2) 返回矩阵 A 的列数 例:>> A=[1 2 3; 4 5 6] >> size(A) >> size(A,1) >> size(A,2) length(x) 返回向量 X 的长度 length(A) 等价于 max(size(A))

MATLAB矩阵操作 矩阵的加减:对应分量进行运算 要求参与加减运算的矩阵具有 相同的维数 >> C=A+B; D=A-B; 矩阵的普通乘法 要求参与运算的矩阵满足线性代数中矩阵相乘的原则 例:>> A=[1 2 3; 4 5 6]; B=[2 1; 3 4]; >> C=A*B 矩阵的除法:/(右除)、\ (左除) 若 A 可逆方阵,则 B/A <==> A 的逆右乘 B <==> B*inv(A) A\B <==> A 的逆左乘 B <==> inv(A)*B

MATLAB矩阵操作 矩阵除法可以理解为 X=A\B <==> A*X=B(当 A 和 B 行数相等时即可进行左除) X=B/A <==> X*A=B(当 A 和 B 列数相等时即可进行右除) 当A为方阵,其结果与inv(A)*B基本一致; 当A不为方阵,除法将分三种情况自动检测:若为超定方程组(既无解)除法将给出最小二乘意义上的近似解,即使向量AX-B的长度最小;若为不定方程组(即无穷多解),除法将给出一个具有最多零元素的特解(不是通解);若为唯一解,除法将给出这个解。

MATLAB矩阵操作 常见矩阵生成函数 zeros(m,n) 生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n) ones(m,n) 生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n) eye(m,n) 生成一个主对角线全为 1 的 m 行 n 列矩阵, m=n 时可简写为 eye(n),即为 n 维单位矩阵 diag(X) 若 X 是矩阵,则 diag(X) 为 X 的主对角线向量 若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵 tril(A) 提取一个矩阵的下三角部分 triu(A) 提取一个矩阵的上三角部分 rand(m,n) 产生 0~1 间均匀分布的随机矩阵 m=n 时简写为 rand(n) randn(m,n) 产生均值为0,方差为1的标准正态分布随机矩阵 m=n 时简写为 randn(n)

MATLAB矩阵操作 常见矩阵生成函数 det(A) 求方阵A的行列式 inv (A) 求方阵A的逆 eig(A) 求特征值、特征向量 trace(A) 求方阵A的迹 rank(A) 求矩阵A的秩 norm(A) 求矩阵A的2范数

MATLAB程序设计基础 顺序语句:依次顺序执行的各条语句,不需要任何特殊的流程控制 例:t=0:0.1:4*pi; %定义变量t y=sin(t); %计算t的正弦 plot(t,y); %绘制y的图形 条件语句:程序判定所给条件是否满足,根据判定的结果(真或假)来执行不同的操作。 if,else,elseif语句 (1)if 逻辑表达式 执行语句 end (2)if 逻辑表达式 (3) if 逻辑表达式1 执行语句1 执行语句1 else elseif 逻辑表达式2 执行语句2 执行语句2 end …

MATLAB程序设计基础 switch语句 该语句用于条件较多而且较单一的情况,相当于一个数控的多路开关 case 值1 语句1 case 值2 语句2 …. otherwise 语句3 end 例

MATLAB程序设计基础 循环语句:一般用于有规律的重复计算 for循环语句基本格式 for 循环变量=起始值:步长:终止值 循环体 end 例:>>for ii=1:10 x(ii)=sin(ii*pi/10); >>x = 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000 或者采用下面的程序 >>ii=1:10; x=sin(ii*pi/10); 优点:代码执行效率高

MATLAB程序设计基础 while循环语句基本格式 while 表达式 循环体 end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。 例 While循环和for循环的区别在于,while循环结构的循环体被执行的次数不是确定的,而for结构中循环体的执行次数是确定的。步长缺省值为1,可以在正实数或负实数范围内任意指定。对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。 循环结构可以嵌套使用。

MATLAB程序设计基础 MATLAB程序的基本组成结构 %注释说明 清除命令:清除workspace中的变量和图形(clear,close) 定义变量:包括全局变量的声明及参数值的设定 逐行执行命令:指MATLAB提供的运算指令或工具箱提供的专用命令 控制循环 : 包含for, if then, switch, while等语句 … … … end 绘图命令:将运算结果绘制出来 当然更复杂程序还需要调用子程序,或与Simulink以及其他应用程序结合起来。

MATLAB程序设计基础 MATLAB的程序类型有三种,一种是在命令窗口下执行的脚本M文件;另外一种是可以存取的M文件,也即程序文件;最后一种是函数(function)文件。 脚本M文件:在命令窗口中输入并执行,它所用的变量都要在工作空间中获取,不需要输入输出参数的调用,退出MATLAB后就释放了。 程序M文件:以.m格式进行存取,包含一连串的MATLAB指令和必要的注解。 需要在工作空间中创建并获取变量,也就是说处理的数据为命令窗口中的数据,没有输入参数,也不会返回参数。 程序运行时只需在工作空间中键入其文件名即可。

MATLAB程序设计基础 函数文件:与在命令窗口中输入命令一样,函数接受输入参数,然后执行并输出结果。具有标准的基本结构。 函数定义格式:函数定义行(关键字function) function[out1,out2,..] = filename(in1,in2,..) 输入和输出(返回)的参数个数分别由nargin和nargout两个MATLAB保留的变量来给出。 函数体内使用的除返回和输入变量这些在function语句中直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。

MATLAB的绘图功能 基本的绘图命令 plot(y); 以y的值作为纵坐标,横坐标从1开始自动赋值为相量[1 2 3 4 ……]或其转置向量,向量的方向和长度与参数y相同。 例:>>y=[0 2 4 5 7 8 9 8 5 7 4];plot(y);

MATLAB的绘图功能 plot(x,y); x为横坐标向量,y为纵坐标向量 例:>>t=0:0.1:4*pi; y=sin(t); plot(t,y); x和y必须具有相同的行数或列数。 例:>>t=0:0.1:4*pi; y=[sin(t); sqrt(t)]; plot(t,y);

MATLAB的绘图功能 plot(x1,y1,x2,y2,…) x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以逐点连折线的方式绘制1个二维图形;同时类似地绘制第二个二维图形。 例:>>t1=0:0.1:4*pi; t2=0:0.1:2*pi; plot(t1,sin(t1),t2,cos(t2));

MATLAB的绘图功能 图形修饰及文本标注 plot(x1,y1,option1,x2,y2,option2,…)

MATLAB的绘图功能 例:>>x=0:0.1:2*pi; plot(x,sin(x),'--r',x,cos(x),':bx'); title('Figure Title'); %给出图名 xlable('X asis');%X轴的标注 ylable('Y asis');%Y轴的标注

MATLAB的绘图功能 图形控制命令 Subplot(n,m,k); %分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:子图编号 axis([xmin xmax ymin ymax]); 设定轴的范围 grid on; %在所画出的图形坐标中加入栅格 grid off; %除去图形坐标中的栅格 hold on; %把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。 hold off; %使新图覆盖旧的图形 特殊坐标图形命令 polar(theta,rho,option); %绘制极坐标曲线 semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。 semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。 loglog(x,y,option); %绘制两个轴均为对数标度的图形。

MATLAB的绘图功能 例: 图形的子图示例 >> x=0:0.1*pi:2*pi; 例: 图形的子图示例 >> x=0:0.1*pi:2*pi; >> subplot(2,2,1); >> plot(x,sin(x),'-*'); >> title('sin(x)'); >> subplot(2,2,2); >> plot(x,cos(x),'-o'); >> title('cos(x)'); >> subplot(2,2,3); >> plot(x,sin(x).*cos(x),'-x'); >> title('sin(x)*cos(x)'); >> subplot(2,2,4); >> plot(x,sin(x)+cos(x),'-h'); >> title('sin(x)+cos(x)') ;

绘图三维图形 plot3(x,y,z): x,y,z为相同维数的向量,绘出这些向量表示的点的曲线。 plot3(x,y,z,s) s为定义线型的字符串。 例: 绘制三维螺旋线 >> x=0:pi/50:10*pi; >> y=sin(x); >> z=cos(x); >> plot3(x,y,z);