powergui连续和离散的区别
发布网友
发布时间:2022-12-26 15:36
我来回答
共2个回答
热心网友
时间:2023-09-21 15:43
连续系统是指系统状态的改变在时间上是连续的,从数学建模的角度来看,可以分为连续时间模型、离散时间模型、混合时间模型。其实在simpowersystem的库中基本所有模型都属于连续系统,因为其对应的物理世界一般是电机、电源、电力电子器件等等。
离散系统是指系统状态的改变只发生在某些时间点上,而且往往是随机的,比如说某一路口一天的人流量,对离散模型的计算机仿真没有实际意义,只有统计学上的意义,所以在simpowersystem中是没有模型属于离散系统的。但是在选取模型,以及仿真算法的选择时,常常提到的discrete model、discrete solver、discrete simulate type等等中的离散到底是指什么呢?其实它是指时间上的离散,也就是指离散时间模型。
下文中提到的连续就是指时间上的连续,连续模型就是指连续时间模型。离散就是指时间上的离散,离散模型就是指离散时间模型,而在物理世界中他们都同属于连续系统。为什么要将一个连续模型离散化呢?主要是是从系统的数学模型来考虑的,前者是用微分方程来建模的,而后者是用差分方程来建模的,并且差分方程更适合计算机计算,并且前者的仿真算法(simulationsolver)用的是数值积分的方法,而后者则是采用差分方程的状态更新离散算法。
在simpowersystem库中,对某些物理器件,既给出的它的连续模型,也给出了它的离散模型,例如:
离散模型一个很重要的参数就是采样时间sampletime,如何从数学建模的角度将一个连续模型离散化,后面会有介绍。在simpowersystem中常用powergui这个工具来将系统中的连续模型离散以便采用discrete算法便于计算机计算。
QQ截图20130914190906.png (69.79 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:09 上传
2.连续模型的数学建模vs离散模型的数学建模
Note:这里的连续和离散都是指时间上的连续和离散,无关乎现实世界的连续系统和离散系统。所谓数学建模就是用什么样的数学语言来描述模型,
连续系统的数学模型通常可以用以下几种形式表示:微分方程、传递函数、状态空间表达式,这三中形式是可以相互转换的,其中又以状态空间表达式最有利于计算机计算。
①微分方程:
一个连续系统可以表示成高阶微分方程,即
QQ截图20130914190955.png (19.33 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:10 上传
②传递函数
上式两边取拉普拉斯变换,假设 y 及 u 的各阶导数(包括零阶)的初值均为零,则有
QQ截图20130914191024.png (17.29 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:10 上传
于是便得微分方程的传递函数描述形式如下:
QQ截图20130914191031.png (9.03 KB, 下载次数: 3)
下载附件 保存到相册
2013-9-14 19:11 上传
③状态空间表达式
线性定常系统的状态空间表达式包括下列两个矩阵方程:
QQ截图20130914191121.png (2.5 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:11 上传
(7-1)
QQ截图20130914191127.png (2.94 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:11 上传
(7-2)
式(7-1)由n 个一阶微分方程组成,称为状态方程;式(7-2)由l个线性代方程组称为输出方程
因此获得如下的状态方程与输出方程(令a0=1 ):
QQ截图20130914191222.png (27.38 KB, 下载次数: 2)
下载附件 保存到相册
2013-9-14 19:12 上传
离散模型假定一个系统的输入量、输出量及其内部状态量是时间的离散函数,即为一个时间序列:
捕获.JPG (9.81 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:50 上传
,其中T为离散时间间隔,其实T也就是上文中的sample time。
Note:再强调一次,这里的离散模型是指离散时间模型,与现实世界中的离散事件模型没有任何关系,在simpowersystem中所讲的离散都是指时间上的离散,与我们在信号中学的那个离散概念没有关系。
离散时间模型有差分方程、离散传递函数、权序列、离散状态空间模型等形式。
①差分方程
差分方程的一般表达式为:
QQ截图20130914191256.png (5.31 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:13 上传
同样差分方程可以转换成后面那些表达形式。
3.连续模型的离散化
正如7.1.连续系统vs离散系统中截图所示的那样,如何由一个连续模型得到它的离散模型,(RMS®discrete RMS value),以及powergui是通过什么方法将连续模型离散化的,即simulator是如何将微分方程转换成差分方程的。
假设连续系统的状态方程为
捕获.JPG (8.54 KB, 下载次数: 9)
下载附件 保存到相册
2013-9-14 17:52 上传
现在人为地在系统的输入及输出端加上采样开关,同时为了使输入信号复员 为原来的信号,在输入端还要加一个保持器,如图所示。现假定它为零阶保持器,即假定输入向量的所有分量在任意两个依次相连的采样瞬时为常值,比如,对第n个采样周期u(t)=u(nt),其中 T 为采样间隔。
QQ截图20130914191337.png (21.82 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:13 上传
由采样定理可知,当采样频率ws和信号最大频率wmax满足ws>2 wmax的条件时,可由采样后的信号唯一地确定原始信号。把采样后的离散信号通过一个低通滤波器,即可实现信号 的重构。值得注意的是,图所示的采样器和保持器实际上是不存在的,而是为了将式离散化而虚构的。
下面对上式进行求解,对方程式两边进行拉普拉斯变换,得
即
QQ截图20130914175433.png (1.54 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:55 上传
通过一系列的拉斯反变换和卷积,最终得到其差分方程(具体过程不用关心)
QQ截图20130914175543.png (43.82 KB, 下载次数: 8)
下载附件 保存到相册
2013-9-14 17:56 上传
QQ截图20130914191427.png (2.97 KB, 下载次数: 3)
下载附件 保存到相册
2013-9-14 19:15 上传
统称为系统的离散系数矩阵。
在转换过程中引入了一个重要参数T,即采样间隔,也就是采样时间,不管是powergui还是其他离散模型,只要涉及到离散,都必然会涉及到sample time,如下图
QQ截图20130914191439.png (34.78 KB, 下载次数: 2)
下载附件 保存到相册
2013-9-14 19:15 上传
那么sample time 一般取多大呢,一直满足采样定理即可,即信号的采样频率大于信号本身最大频率的2倍即可。
4. simulator连续模型的仿真算法(simulatesolver,也可译成仿真解算器)和步长的概念。
QQ截图20130914191629.png (28.07 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:16 上传
连续系统的计算机仿真算法是数值积分法,即计算机用数值积分来解微分方程,从而得到其近似解。具体方法如下
①欧拉法和改进的欧拉法:
现有微分方程如下:
QQ截图20130914191456.png (7.06 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:15 上传
上式右端的积分,计算机是无法求出的,其几何意义为曲线f(t,y)在区间(ti ,ti+1)上的面积。当(ti ,ti+1)充分小时,可用矩形面积来近似代替:
QQ截图20130914191712.png (3.1 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:17 上传
其中h即为积分步长。
Note:在simulator仿真计算时,h实际为仿真时间间隔。
因此可得下式:
QQ截图20130914191718.png (2.86 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:17 上传
因此只要知道当前状态和步长,便可得到下一状态。其几何意义如下:
QQ截图20130914175806.png (2.41 KB, 下载次数: 9)
下载附件 保存到相册
2013-9-14 17:58 上传
分析其误差特性:
由泰勒展式可得:
QQ截图20130914175830.png (1.91 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:58 上传
可知其截断误差
QQ截图20130914175906.png (1003 Bytes, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:59 上传
是和步长h2成正比的,因此计算机在计算时,若要使近似积分精度更高,就要减小步长,但会增加截断误差。
②改进的欧拉法(预测—校正法)
对积分公式(3.1.2)式利用梯形面积公式计算其右端积分,得到
QQ截图20130914175957.png (1.4 KB, 下载次数: 7)
下载附件 保存到相册
2013-9-14 18:00 上传
将上式写成递推差分格式为:
QQ截图20130914180026.png (992 Bytes, 下载次数: 8)
下载附件 保存到相册
2013-9-14 18:01 上传
从上式可以看出,在计算 y n+1中,需要知道fn+1,而fn+1=f(t n+1,f n+1) 又依赖于yn+1本身。因此要首先利用欧拉法计算每一个预估的ypn+1,以此值代入原方程式计算fpn+1,最后利用下式求修正后的ypn+1。所以改进的欧拉法可描述为
image098.jpg (5.1 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
③龙格—库塔法(rung-kuta)
欧拉法是将
image099.jpg (14.94 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
经泰勒级数展开并截去 h2以后各项得到的一阶一步法,所以精度较低。如果将展开式多取几项以后截断,就得到精度较高的高阶数值解,但直接使用泰勒级数展开式要计算函数的高阶导数较难。龙格—库塔法是采用间接利用泰勒级数展开式的思路,即用在 n个点上的函数值 f的线性组合来 代替 f的导数,然后按泰勒级数展开式确定其中的系数,以提高算法的阶数。这样既能避免计算函数的导数,同时又 保证了计算精度。由于龙格—库塔法具有许多优点,故在许多仿真程序包中,它是一个最基本的算法之 一。
④线性多步法
以上所述的数值解法均为单步法。在计算中只要知道
QQ截图20130914180638.png (3.05 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 18:07 上传
。也就是说,根据初始条件可以递推计算出相继各时刻的 y值,所以这种方法都可以自启动。 下面要介绍的是另一类算法,即多步法。
用这类算法求解时,可能需要
image101.jpg (13.92 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
各时刻的值。显然多步法计算公式不能自启动,并且在计算过程中占用的内存较大,但可以提高计算精度和速度。例如:亚当斯—贝希霍斯显式多步法
⑤刚性(stiff)系统解法
所谓刚性系统,就是用来描叙这类系统的微分方程的解,往往是由多个时间常数共同作用的,其中某些小时间常数对解的影响往往是微乎其微但的确不可或缺的。例如下式是一个简单刚性系统微分方程的解:
QQ截图20130914180727.png (629 Bytes, 下载次数: 6)
下载附件 保存到相册
2013-9-14 18:07 上传
image105.jpg (10.19 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
当时间较大时特征解-1000几乎对方程不起任何作用,但开始时有不能忽略e -1000t的影响,因此若前面介绍的计算机数值解法,为了保证解的稳定性在选取步长h时,必须保证1000h较小,也就是说步长h必须十分的小,这必然会增大计算次数,增大计算时间,而又因为在t一定大时,e -1000t 几乎不起作用,因此这种增大次数又不会对计算精度有多大改善,就是说常规解法计算刚性系统是在做无用功。
到目前为止,已提出不少解刚性方程的数值方法,基本上分为:显式公式, 隐式公式和预测校正型。
显示公式常用雷纳尔法
隐式方程都是稳定的,故都适合于解描述刚性系统的方程组,如隐式的龙格—库塔法。但这种方法每计算一步都需要进行迭代,故计算量大,在工程上使用有一定困难。因此在解刚性方程时,常采用 Rosenbrock提出的半隐式龙格—库塔法。
预测—校正型中常用的解刚性方程的方法是Gear算法
5. simulator离散模型的仿真算法和步长的概念。
离散模型的数学建模一般采用差分方程的方式,在matlab中其仿真算法是采用discrete算法,就是根据simulation step 定时对离散模块进行更新(就是定时计算差分方程的意思)
QQ截图20130914191827.png (21.05 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:18 上传
至于其步长的概念和连续模型中h的概念差不多,但是它的大小选择和sample time 有着密切关系,下面会给予说明。
6.simulink中仿真参数(simulation/configurationparameters)
有了上面知识的铺垫,可以介绍simulink仿真参数的设置
QQ截图20130914191901.png (75.84 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:19 上传
上图中solver(仿真解算器)就是上面介绍的各种算法用计算机语言编程的实现。
continuous solver就是数值积分法,discrete solver就是离散解法。
步长有variable step(变步长)和fixed step(固定步长之分)。continuous solver中的步长就是h,就是积分时间间隔,对于discrete solver的步长是和要仿真的模型中的sample time有密切关系的,是不可以随便取的。
QQ截图20130914191911.png (56.93 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:19 上传
①variable step(变步长)
QQ截图20130914192025.png (75.22 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 19:20 上传
就是说变步长会根据模型状态的变化的快慢适当调节步长,也就是相邻仿真计算的时间间隔,这样在保证了一定精度的同时又减少了仿真的次数,从而减小了仿真时间。
对于continuous solver而言,可以人为设定max step size 和min step size,然后计算机自动选择积分步长h进行数值积分。以下是它的仿真solver(ODE表示常微分方法)
image117.jpg (25.74 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
②fixed step(固定步长)
QQ截图20130914192109.png (36.38 KB, 下载次数: 2)
下载附件 保存到相册
2013-9-14 19:21 上传
就是仿真从头到尾用同一个步长。Note:对于continuous solver而言固定步长可以认为任取;而对于dicretesolver而言固定步长可以auto(即仿真帮你取),若人为取必选要遵守和sample time之间的一定关系,下面会有介绍。
Note: 关于simulink中搭建一些 DSP,fpga等外设模块,仿真通过后自动生成代码,可在实际器件上运行时,此时simulation step一定要用fixed step(固定步长)。具体说明见下图:
image121.jpg (12.75 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
③discretesolver
image123.jpg (5.62 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
image124.png (13.19 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
solver就是discrete算法,就是不断更新discrete block在各离散点的状态,步长的大小是与模型中的sampletime 有密切关系的,
由上面阐述的差分方程可知,差分方程中T采样时间是固定的,对于discrete solver而言不管是variable step 还是fixed step,simulation step(仿真步)必须要有出现在sample time所有的整数倍上,即simulation step的设置必须使simulator在1T、2T、3T要对模型进行计算仿真,以免错过主要状态的转化。
若一个离散仿真模型中具有多个sample time,那么要保证每个模型在其采用时间的1T、2T、3T都能进行仿真,那么最小步长只能取各个仿真时间的公约数,其中最大公约数又称为fundamental sample time,例子如下
假设仿真的离散模型中有两个采样时间T1=2e-6,T2=4e-6那么其公约数为1e-6和2e-6,而 fundamental sample time=2e-6
image126.png (14.72 KB, 下载次数: 8)
下载附件 保存到相册
2013-9-14 17:39 上传
若采用fixed step步长,为了不错过模型在每个采样时刻状态的变化,要求simulator的仿真时间必须要包含每一个采样时刻的整数倍,因此其固定步长必须取各个sampletime 的公约数,可以是1e-6或2e-6,若写auto则为 fundamental sample time=2e-6,若写出其他步长,则simulation会提示错误。
image129.jpg (6.48 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
上述仿真过程如下:
QQ截图20130914180941.png (10.64 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 18:10 上传
箭头表示simulation step,就是simulator在每一个箭头处都会仿真计算一次;圆圈处表示模型采样时刻(sample time)处,其实只有在这一刻离散模型的状态才有可能发生改变,即差分方程的解才有可能发生改变;由上图可见这样设置步长保证了在每个sample time处simulator都进行了仿真。
若采用variable step步长,simulator会根据模型中的各个sample time自动调整步长,以使得仿真时间时刻等于sample time。
image132.png (12.77 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
此时又有一个max step size的*,若如上图写的是auto,那么上述仿真过程如下:
QQ截图20130914181017.png (10.21 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 18:10 上传
可见simulator只在sample time处才进行仿真计算,这样减少了仿真次数,节约了时间。
若max step size=0.7e-6,那么仿真过程又该如何?如下图:
QQ截图20130914181025.png (10.72 KB, 下载次数: 7)
下载附件 保存到相册
2013-9-14 18:10 上传
可见variable step时,即使有人为maxstep size的*,simulator总会跟踪sampletime。一般选择auto即可。
⑥关于powergui的作用
image138.png (1.27 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
image141.jpg (11.47 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
image143.jpg (7.4 KB, 下载次数: 6)
下载附件 保存到相册
2013-9-14 17:39 上传
powergui基本上在simpowersystem的仿真中有两个作用:
ⅰ:离散化系统中的一些连续模型,以便simulator采用discrete算法计算,注意:对本来就已经存在的离散模型不起任何作用,如下图:
image144.jpg (6.86 KB, 下载次数: 7)
下载附件 保存到相册
2013-9-14 17:39 上传
powergui的离散sample time为2e-6,而系统中还有离散模块的sample time为4e-6,powergui的离散作用对它没有影响。
ⅱ:提供各种graphical userinterface tools用于分析仿真过程中的信号以及数据(尤其是FFT分析)。
image146.jpg (18.26 KB, 下载次数: 11)
下载附件 保存到相册
2013-9-14 17:39 上传
image100.jpg (14.79 KB, 下载次数: 67)
下载附件 保存到相册
2013-9-14 17:39 上传
image104.png (13.62 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
image116.png (59.04 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 17:39 上传
image118.png (16.56 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
image120.png (18.83 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
image122.png (13.17 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
image125.jpg (6.42 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
image127.jpg (6.84 KB, 下载次数: 2)
下载附件 保存到相册
2013-9-14 17:39 上传
image128.png (12.7 KB, 下载次数: 3)
下载附件 保存到相册
2013-9-14 17:39 上传
image131.gif (730 Bytes, 下载次数: 3)
下载附件 保存到相册
2013-9-14 17:39 上传
image133.jpg (5.84 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
image135.gif (2.37 KB, 下载次数: 5)
下载附件 保存到相册
2013-9-14 17:39 上传
image137.gif (2.38 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 17:39 上传
image139.jpg (2.68 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 17:39 上传
image140.png (23.54 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
image142.png (15.78 KB, 下载次数: 1)
下载附件 保存到相册
2013-9-14 17:39 上传
image145.png (20.75 KB, 下载次数: 0)
下载附件 保存到相册
2013-9-14 17:39 上传
matlab
数学
算法
女士的凉鞋
精选推荐
广告

matlab电力模块库simpowersystem使用指南(中文版)
860下载·42评论
2010年3月29日
连续单位步长和离散单位步长:在连续和离散时间内生成单位步长信号。-matlab开发
1下载·0评论
2021年5月30日
连续and离散系统的描述
950阅读·4评论·6点赞
2022年9月6日
CTFT DTFT DFT ZT 这些变换之间有什么联系和区别
1.1W阅读·0评论·2点赞
2014年11月19日
Simulink中步长、powergui采样时间、模块采样时间、控制周期的关系
1.0W阅读·0评论·26点赞
2021年12月25日
三相桥式电路的simulink电路仿真简介
6853阅读·0评论·15点赞
2021年1月3日
随着年龄的增长,记忆力越来越差!你知道该如何改善记忆力吗?

00:37
讲真记忆力
广告
Simulink 中连续与离散模型的区别
1.5W阅读·2评论·35点赞
2020年4月10日
MATLAB到底有多厉害?
1099阅读·0评论·3点赞
2021年8月30日
基于Matlab/SimPowerSystem的 交流调速系统的仿真
5289阅读·1评论·2点赞
2020年11月16日
matlab/simulink的仿真参数
3020阅读·3评论·4点赞
2021年8月20日
PSpice和Simulink联合仿真笔记(五)Simulink 和PSpice之间的数据交换及Simulink仿真设置
2077阅读·0评论·5点赞
2020年2月4日
Simulink中"连续系统仿真"和"离散系统仿真"的区别
1.5W阅读·0评论·12点赞
2016年12月4日
仿真软件与应用实践 实验报告
1925阅读·0评论·1点赞
2020年12月2日
MATLAB仿真中连续和离散的控制器有何区别?
969阅读·0评论·2点赞
2019年9月29日
各种方差公式
6531阅读·0评论·0点赞
2009年3月27日
matlab 设置采样时间设置,不建议设置采样时间的模块
3743阅读·0评论·0点赞
2021年4月22日
Simpowersystem中信号的转换 - 利用戴维南和诺顿定理
581阅读·0评论·0点赞
2020年11月12日
Matlab2021a中Simulink的拓展工具箱SimPowerSystems查找
7703阅读·0评论·17点赞
2021年10月23日
simpowersystem教程
28下载·0评论
2014年12月17日
去首页
看看更多热门内容
评论1

BertrandRussel

赞
写得真清楚,是我想要的!
热心网友
时间:2023-09-21 15:43
一、获取方式不同
离散型变量:离散型变量则是通过计数方式取得的,即是对所要统计的对象进行计数,增长量非固定的。
连续型变量:连续型变量是一直叠加上去的,增长量可以划分为固定的单位。
芝士回答,版办权断白必究,未经许可上,不得离转载
二、域不同
离散型变量:离散型变量的域(即对象的集合S)是离散的。
这后四代级,七什议列照。
连续型变量:连续型变量的域(即对象的集合S)是连续的。
现它很设图将色即话委半,省值率。
三、分组方式不同
离散型变量:如果变量值的变动幅度小,就可以一个变量值对应一组,称单项式分组。如果变量值的变动幅度很大,变量值的个数很多,则把整个变量值依次划分为几个区间,各个变量值则按其大小确定所归并的区间,区间的距离称为组距,这样的分组称为组距式分组。
连续型变量:连续型变量由于不能一一列举其变量值,只能采用组距式的分组方式,且相邻的组限必须重叠。(参考芝士问答)