计算机系统是连续系统,连续系统的计算机模拟

a7f4a3f590493a1e451dd952a488fd7c.gif 连续系统的计算机模拟

(36页)

9bb1c6ac28e26bdd2c95da97b3b37362.png

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

29.9 积分

 第2章 连续系统的计算机模拟本章讨论连续系统的模拟技术,由于这类系统中状态随时间连续动态地变化,常常具有一定的规律,故可用一些数学方程来描述,这些方程就是系统的数学模型,通常以微分方程、代数方程为多见。下面将介绍利用数值积分法对连续系统进行数字模拟的基本原理和具体方法,并给出数值积分法中几个常用的算法以及实现这些算法的计算程序,最后介绍两个建模实例。 数值积分法不仅方法种类多,而且有较强的理论性,本章由浅入深地介绍几种常见的数值解法。主要为单步法中的四阶龙格--库塔法与默森法和多步法中的亚当斯法。 使用数字计算机对连续系统进行模拟,首先必须将连续系统离散化,并将它转化为差分方程,以建立所谓的模拟系统的数学模型。描述连续系统动态特征的数学模型是多种多样的,除微分方程外,还有传递函数、结构图及状态方程等,由于篇幅所限,本书不讨论后两种方法。 建立系统的模拟模型之后,就要选择计算机语言(也叫算法语言)编写系统模拟程序,在计算机上运行,将结果保留在数据文件中以待传输和处理。由于模拟的目的不同,可以选用不同的模拟模型和算法,其特点是运算精度高,对于不同的计算机,字长一般在16位---72位之间,也可采用浮点运算和双精度运算,其精度一般可达千万分之一到百万分之一。当然结果的精度与所选的算法有关。这可以根据实际需要选择机器、算法和模拟的步长。数字计算机储存容量大,可进行各种运算,在以前认为是不可能解决的问题,利用数字计算机都可容易地或有可能得到解决。本章介绍的方法适应性较强,应用也十分广泛。数字计算机上还有各种功能的软件包(即一些子程序),用户可以稍加修改或不经修改就可以用于自己的模拟程序中,解决自己的实际问题,使用非常方便。 2.1 欧拉(Euler)法 在讨论连续系统的计算机模拟之前,让我们先看一个化学反应的例子,通过这个例子我们可以看到怎样使用数字计算机模拟一个实际问题,虽然介绍的是欧拉法,但是分析问题的思路同样适用与其它数值积分法。 当两种物质A和B放到一起产生化学反应时,产生第三种物质C,一般一克A与一克B结合产生2克的C物质,形成C 的速率与A 和B的数量乘积成正比,同样C也可分解为A和B,C的分解速率正比与C的数量,即在任何时刻,如果a,b,和c是化学物质A,B,和C的数量,即在任何时刻,如果a,b,和c是化学物质A,B,C的数量,它们的增加和减少的速度服从下列微分方程。 (2.1)其中K1和K2 是比例常数(一般而言这些比例常数会随温度和压力发生变化,但在模拟过程中,为了简化模型,一般不允许其变化,故一律视为常数)。在给出常数K1 和K2 值以及A和B的数量(C=0)后,我们希望能确定有多少C物质产在出来,这种化学反应速率的决定在化学工业上是有意义的。 模拟该系统的一个直接的方法是在t=0时开始,使t以Δt间隔增加。假定化学量在Δt时间步长内不变,而只能在Δt结束的瞬间发生变化,这样在每个Δt结束时的A(或B或C)的数量就可以从Δt开始时的数值由下式求出 (2.2)同样的方程b(t+Δt)和C(t+Δt),也可写出。假定模拟周期为T,可将T分成N个小的时间步长Δt,及 -省略部分-加单位广告产生的效果比s接近M的水平时, 增加广告所取得的效果更显著. (3)生产企业为了扩大销售, 对每种产品究竟应投入多少广告费用? 一般可采用最优控制方法, 求出最佳 广告费, 这里可利用产品利润达到最大为目标, 构成以下最优控制问题:状态方程初始条件s(0)=S0控制约束 0 ≤ A (t) ≤ θ其中π为每件产品的盈利,θ为最大允许广告水平,解此问题,可确定最佳广告费. 习 题 1.某一地区的病菌传染,三种人员人数的状态方程,即可能受传染的人数x1,已被传染得病的人数x2及已经治愈的人数x3,并假设他们是因接触传染。设 α是x1中单位时间内的传染系数 β是x2中单位时间内的被治愈的比例系数则得以下状态方程本题α=0.001, β=0.027 初始条件:t=0, x1=620人, x2=10人, x3=70人 选步长:DT=0.025,用四阶RK法模拟 2.设一传输线路模型如图,该电路由50个回路组成。用RK法求出I27,V34,IL及VL变化规律。 电路状态方程为4 V=V-I·Rs I48=(V48-V49)/L I=(V-V1)·L/2 V49=(I49-IL) V=(I-I1)/C IL=(V49-VL)/L/2 I1= (V1-V2)/L VL=IL·RL V2= (I1-I2) /C I2=(V2-V3)/L 共99个一阶微分方程,两个代数方程已知L=0.5亨,法拉,欧姆,伏,步长DT=0.01,模拟时间TMAX=1.0 (提示:本题方程虽多,但基本相似,可以循环完成模拟)初始条件: 3.有一微分方程Ty+y=Ku ,试用欧拉法与欧拉改进法示写出解的差分方程,并讨论步长应选在什么范围?若选的比2T大,将会产生什么结果? 4.已知线性微分方程,当取h=0时,使用欧拉与龙格-库塔法写出第一步计算的表达式和计算结果。 5.已知系统方程为斜坡输入和正弦输入的响应进行模拟,并打印响应曲线。 6.将2-7中的水库模拟缺少的子程序添加上,使用模拟数据库运行程序,打印现结果,并存在数据库中(可使用模拟数据)。 7.用极坐标表示卫星轨道,研究发射速度V对卫星的轨道影响。假定作用在卫星上的力仅仅是地球引力,则系统方程为K为重力系数(,地球半径为6400km,计算发射速度分别为8km/s,10km和12km/s的卫星轨道。 y r θ 关 键 词: 系统 计算机模拟 连续

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/337596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ae合成设置快捷键_教程|AE教程第三波:必须掌握的关键帧之基础设置

该如何高效的学习AE?星驰君认为知其然还需知其所以然正确的学习顺序应该是了解核心原理,掌握基本操作,案例实战模仿比如,想要更好的掌握和运用关键帧来制作更复杂的效果。就先要知道关键帧是什么关键帧:计算机动画术语…

老兵精讲:高质量C语言编程的10条规范

点击蓝字关注我们C语言编码规范10条分享给大家,还是可以规避掉很多bug的!1、最重要的规则编写代码时最重要的一条规则是:检查周围的代码并尝试模仿它。作为维护人员,如果收到的补丁明显与周围代码的编码风格不同,这是令…

springboot需要tomcat服务器吗_SpringBoot学习(二):内嵌服务器引擎(Tomcat,Jetty)实现原理...

概述SpringBoot使用main方法启动的一个重要特性是,不需要打包成war部署到Tomcat这种Servlet容器中,而是只需打包成jar,然后通过java或mvn等命令运行这个jar包,然后应用就可以在指定的端口监听客户端的连接请求了。在SpringBoot内部…

java8 函数式编程_使用Javaslang进行Java 8中的函数式编程

java8 函数式编程我们非常高兴地在jOOQ博客上宣布一个客座帖子,该帖子由HSH Nordbank的高级软件工程师Daniel Dietrich (三人的丈夫和父亲)撰写。 他目前作为项目负责人和首席开发人员为金融产品创建定价框架。 除工作外,他还对编…

while(1) 和 for(;;)有什么区别?

点击蓝字关注我们有粉丝问了类似这样的问题:while(1) 和 for(;;)它们不都是无限循环吗,作用应该一样啊,它们到底有什么区别?要回答这个问题,其实你各自编写一段while(1) 和 for(;;)的代码,编译对比一下代码…

C++高阶必会操作--模板元编程

点击蓝字关注我们泛型编程大家应该都很熟悉了,主要就是利用模板实现“安全的宏”,而模板元编程区别于我们所知道的泛型编程,它是一种较为复杂的模板,属于C的高阶操作了,它最主要的优点就在于把计算过程提前到编译期&am…

怎样做远程计算机控制系统,qq远程控制,怎样进行远程控制制作步骤

怎样设置qq远程控制?qq上有一个远程协助不少人都用过,但是这个远程小编建议不是认识的朋友,不要随便开放,很容易被窃取电脑资料,如果是不是很信得过有人,在申请协助时一定要自己盯着电脑,以防别…

pcl中ransac提取直线_复杂场景中的一个图像配准思路

在很多时候,我们可能需要使用到图像的识别与配准工作,来判断某个特征或者是划出某个特定特征的位置。现在的深度学习已经能够比较好地解决这个问题,比如常见的YOLO,可以利用几行设定代码就能够划出所需要识别的位置。但是精准度可…

程序员必知的10个C语言技巧

点击蓝字关注我们硬件设计师最常见的工作内容,就是通过写代码来测试硬件。这10个C语言技巧(C语言仍然是常见的选择)可以帮助设计师避免因基础性错误而导致某些缺陷的产生,并造成维护方面的困扰。为了成功的推出一个产品&#xff0…

一万字详解C语言中长度为零的数组

点击蓝字关注我们零长度数组概念:众所周知, GNU/GCC 在标准的 C/C 基础上做了有实用性的扩展, 零长度数组(Arrays of Length Zero) 就是其中一个知名的扩展.多数情况下, 其应用在变长数组中, 其定义如下:struct Packet {int state…

app访问java web_Java Web App体系结构

app访问java web我曾经利用Servlet,JSP,JAX-RS,Spring框架,Play框架,带有Facelets的JSF和一些Spark框架。 以我的拙见,所有这些解决方案都远非面向对象和优雅的。 它们都充满了静态方法,不可测试…

电路中滤波电容和退耦电容_详解电源滤波电路中的高频滤波电容电路

图2-12所示是电源滤波电路中的高频滤波电路。电路中,一个容量很大的电解电容C1(2200F)与一个容量很小的电容C2(0.01F)并联,C2是高频滤波电容,用来进行高频成分的滤波,这种一大一小两个电容相并联的电路在电源电路中十分常见。1.高…

计算机驱动空间不够,Win8.1系统如何释放驱动器空间解决可用空间不足问题

现在越来越多用户安装升级win8.1系统,在操作使用过程中难免遇到一些奇奇怪怪的问题。相信有很多win8.1系统用户会遇到电脑的可用空间不足的提示,用户感到很疑惑,自己的电脑又没装什么软件怎么会这么提示。有什么办法可以解决此问题&#xff0…

C/C++ 中公认的三个难点

点击蓝字关注我们C语言在嵌入式学习中是必备的知识,审核大部分操作都要围绕C语言进行,而其中有三块“难啃的硬骨头”几乎是公认级别的。0x01 指针指针公认最难理解的概念,也是让很多初学者选择放弃的直接原因。指针之所以难理解,因…

python 字符串分割_如何使用python语言split方法对不同字符串分割

在JavaScript中,可以使用split()将字符串分割成字符串数组;而在python语言中,split()方法也可以将字符串进行分割,分割之后的结果放置在列表中。下面利用几个实例说明split()方法的用法,操作如下:工具/原料…

java 拼图_功能项目拼图将Java 9引入

java 拼图因此,拼图项目...我们已经对此颇为了解,但尚未看到计划如何兑现其承诺的细节。 这篇文章将精确地做到这一点,并介绍项目的核心概念和功能。 系列 这篇文章是正在进行的有关拼图项目系列的一部分。 按照推荐的顺序(不同于…

win7 蓝牙4.0 ble驱动_初识物联网无线通信技术之蓝牙4.0BLE协议栈

[本文属原创,转载请附上原文出处链接。]一、需要的软件工具1、BLE协议栈(BLE-CC254x-1.4.0)2、IAR开发软件(IAR Embedded Workbench8.20.2)注:1.4.0协议栈使用8.20.2的iar版本,1.3.2协议栈等使用的是8.10.4的iar版本。二、BLE协议栈安装目录下…

C语言:谈谈指针!

点击蓝字关注我们指针对于C来说太重要。然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识。所以本文尽可能的通过一篇文章完全讲解指针。为什么需要指针?指针解决了一些编程…

C/C++ 中的 #pragma once 作用是什么?

点击蓝字关注我们1、#pragma once有什么作用?为了避免同一个头文件被包含(include)多次,C/C中有两种宏实现方式:一种是#ifndef方式;另一种是#pragma once方式。在能够支持这两种方式的编译器上,…

python做大数据的框架_Python+大数据计算平台,PyODPS架构手把手教你搭建

原文链接:http://click.aliyun.com/m/13965/ 在2016年10月的云栖社区在线培训上,来自阿里云大数据事业部的秦续业分享了《双剑合壁——Python和大数据计算平台的结合实战》。他主要介绍了数据分析和机器学习的方法、DataFrame整体架构以及基础API、前端、…