Modelica由入门到精通——连续离散混合建模

news2024/11/14 20:11:15

3.Modelica由入门到精通——连续离散混合建模

本人正在整理Modelica相关知识,特此做博客,希望可以帮助到有需要的朋友

文章目录

  • 3.Modelica由入门到精通——连续离散混合建模
  • 一、 总览
  • 二、表达混合结构的结构体
  • 三、示例


一、 总览

  物理系统的动态特性可以是连续时变的,也可以是离散时变的,即系统状态只在某些离散时间点上发生变化。动态连续建模的关键是基于能量守恒、动量守恒、质量守恒等基本物理定律描述系统行为,而离散事件建模的关键是怎样表达与事件相关的行为。

二、表达混合结构的结构体

Modelica语言提供如下两种结构体用于表达混合模型。
(1) if结构,包含条件表达式和条件方程,用于描述不连续条件模型。
(2) when结构,用于表示只在某些离散时刻有效的方程。
if结构具有如下一般形式:

if condition1 then
<equations>
else condition2
<equations>
end if;

在if和else之间允许出现elseif分支。
when结构具有如下一般形式:

when {condition1, condition2, ..} then
<equations>
end when;

  if结构和when结构的区别在于:if结构中的方程在条件为true时的整个区间内
都是有效的,变量在整个有效区间内被连续求值;而when结构中的方程仅仅在条件
由false变成true 的瞬间生效,变量在事件发生瞬间被求值,在区间中保持不变。

三、示例

在这里插入图片描述
如图2.6所示的正在弹跳的球就是-一个混合系统的例子196。球的运动通过球的高height和速度velocity 来描述。球在两次碰地弹起期间连续地运动,当球碰到地面弹起时,离散事件发生,速度反向。假定球的弹性系数为0.9,即球每次反弹的速度为原来的百分之九十。下面给出的是该模型的Modelica代码。

model BouncingBall
constant Real g= 9.81;
parameter Real c= 0.9;
parameter Real radius=0.1;
Real height(start=1);
Real velocity(start=0);
equation
der(height) = velocity;
der(velocity) = -g; .
when height . <= radius then
reinit(velocity,-c* pre(velocity));
end when;
end BouncingBall;

其中,reinit 表示重新初始化操作,它只有在球触地的瞬间生效,用于重新初始
化球的速度。

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

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

相关文章

layUI 中 穿梭框无法获取值的细节问题

初始化的时候一定要指定id&#xff0c;不然就会出现无法调用 获得右侧数据和实例重载的方法

【谷粒商城】环境搭建二:开发环境配置

开发环境配置统一 Maven配置 查看maven信息 修改配置文件&#xff1a;apache-maven-3.3.9\conf\settings.xml# 配置阿里云镜像 <mirrors><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name&…

网络安全01-子域名收集

合天实验室学习子域名收集 1 、 fofa&#xff1a;https://fofa.info/ 2 、 JSFinder&#xff1a;https://github.com/Threezh1/JSFinder 简单爬取 python JSFinder.py -u http://www.mi.com深度爬取 python JSFinder.py -u http://www.mi.com -d3、subDomainsBrute 1.5&…

使用navicat用sql创建表

1.创建数据库 2. 新建查询 3. 执行查询sql 4. sql语句&#xff1a; -- 创建数据库 CREATE DATABASE my_test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;-- 创建用户表 CREATE TABLE sys_user (id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 唯一标识,…

通过WinFsp将linux目录映射到windows下,ubuntu开启SSH服务,并允许ROOT权限远程登录,WinFsp使用教程;

一、在windows下的准备工作&#xff1a; 1.下载并安装 Download WinFsp Installer 和 SSHFS-Win(x64)&#xff0c;直接安装就行一路默认&#xff1b; 下载地址&#xff1a;点击此处下载https://winfsp.dev/rel/ 二、在linux下的准备工作(本人使用的是Ubuntu)&#xff1a; 1.…

计算机竞赛 基于大数据的股票量化分析与股价预测系统

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…

加油站抽烟烟火智能识别算法

加油站抽烟烟火智能识别系统通过yoloopencv网络模型图像识别分析技术&#xff0c;加油站抽烟烟火智能识别算法识别出抽烟和燃放烟火的情况&#xff0c;并发出预警信号以提醒相关人员&#xff0c;减少火灾风险。OpenCV基于C实现&#xff0c;同时提供python, Ruby, Matlab等语言的…

大彩串口屏使用记录

写在最前面 屏幕型号 DC10600M070 IDE VisualTFT&#xff08;官方&#xff09; VSCode&#xff08;lua编程&#xff09; 用之前看一下官方那个1小时的视频教程就大概懂控件怎么用了&#xff0c;用官方的软件VisualTFT很简单 本文只是简单记录遇到的一些坑 lua编辑器 VisualTF…

DOCKER容器中安装JDK1. 8 详细步骤

1、首先检查DOCKER环境是否安装成功 docker version在命令输入docker version命令显示如上图所示&#xff0c;则说明docker容器已经安装成功了&#xff0c;下面只需要根据步骤一步步操作即可在docker容器安装JDK。 2、通过DOCKER SEARCH命令查找远程镜像 docker search jdk3…

南京邮电大学操作系统实验报告一(Linux系统及进程创建)

文章目录 一、实验目的二、实验内容三、实验步骤&#xff08;附程序原码&#xff09;四、运行结果及其结果分析 一、实验目的 掌握Linux 操作系统的操作和使用;掌握Linux 下C 语言的编辑、编译、运行的全过程;掌握进程创建系统调用的使用。 二、实验内容 熟悉Linux 运行环境…

uview ui 查看版号

版本查询2种方式 有两种方式可以查询到正在使用的uView的版本&#xff1a; // 通过console.log打印的形式 console.log(uni.$u.config.v);// 可以查阅uView的配置文件得知当前版本号&#xff0c;具体位置为&#xff1a; /uview-ui/libs/config/config.js

实现文件上下文管理(__enter__和__exit__)

目录 一、上下文管理协议 二、模拟open 三、优点 python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 我们知道在操作文件对象的时候可以这么写 with open(a.txt) as f:代码块 上述叫做上下文管理…

Redis初始以及安装

"梦却了无影踪&#xff0c;梦仍不曾改动" 初始Redis (1) Redis是什么&#xff1f; 要认识、学习一个软件&#xff0c;最重要的途径无一是去该软件的官方文档里瞅瞅、转悠转悠。 从官方文档的介绍中得知&#xff0c;Redis是一种工作于内存&#xff0c;…

神奇小队之我爱画画

《神奇小队之我爱画画》&#xff0c;是南通神笔动漫科技有限公司2022年推出的原创系列动画剧集。 南通神笔动漫创立于2020年4月&#xff0c;公司专注于2-12岁儿童内容策划、运营文创企业。公司主要运营动漫IP《神奇画笔》&#xff0c;项目于2020年创立《神奇画笔》儿童IP&…

GBU812-ASEMI逆变器专用整流桥GBU812

编辑&#xff1a;ll GBU812-ASEMI逆变器专用整流桥GBU812 型号&#xff1a;GBU812 品牌&#xff1a;ASEMI 芯片个数&#xff1a;4 封装&#xff1a;GBU-4 恢复时间&#xff1a;&#xff1e;50ns 工作温度&#xff1a;-55C~150C 浪涌电流&#xff1a;200A 正向电流&…

【LeetCode-中等题】48. 旋转图像

文章目录 题目方法一&#xff1a;使用辅助数组矩阵 行列的规律方法二&#xff1a;原地修改 递推公式 题目 方法一&#xff1a;使用辅助数组矩阵 行列的规律 public void rotate(int[][] matrix) {int n matrix.length;int[][] matrix_new new int[n][n];for(int i 0 ; i<…

探索AIGC人工智能(Midjourney篇)(一)

文章目录 案例图片 Midjourney注册 创建Discord账号 下载客户端 添加Midjourney到自己的服务器 用Midjourney画一只会飞的鸭子 Midjourney绘画指令 Midjourney绘画指令_激发Midjourney的创造力 Midjourney绘画指令_Seed指令 Midjourney光线关键词&#xff0c;打造震撼…

深入剖析Kubernetes之容器技术概念入门篇

文章目录 进程层面隔离与限制容器镜像 容器本身没有价值&#xff0c;有价值的是“容器编排”。 也正因为如此&#xff0c;容器技术生态才爆发了一场关于“容器编排”的“战争”。而这次战争&#xff0c;最终以 Kubernetes 项目和 CNCF 社区的胜利而告终。 容器&#xff0c;到底…

Linux常用命令_网络命令、关机重启命令

文章目录 1. 网络命令1.1 网络命令: write1.2 网络命令: wall1.3 网络命令: ping1.4 网络命令: ifconfig1.5 网络命令: mail1.6 网络命令: last1.7 网络命令: lastlog1.8 网络命令: traceroute1.9 网络命令: netstat1.10 网络命令: setup1.11 挂载命令 2. 关机重启命令2.1 shut…

基于Java+SpringBoot+Vue前后端分离线上辅导班系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…