安时积分法是电池电量计量最基础的方法,今天我们用simulink建模的方式做一个安时积分模型,从而更好地理解安时积分的思想也掌握建模的基础操

​新建文件

打开MATLAB启动simulink新建一个模型文件

定义变量

和手写代码一样,先定义几个后面要用到的变量,在simulink建模时新建变量用Data Store Memory模块。双击填入要定义的变量名,然后在signal attributes赋初值

如此方法新建四个变量current(电流)初值1000mA、tatol_cap(总容量)初值2Ah、now_cap(当前容量)初值3600、soc(电量);

当鼠标放置在Data Store Memory模块上时左右两边会出来两个箭头,按住鼠标拖动左边的箭头可以出来Data Store Write也就是写变量给变量写入一个值,拖动右边的箭头可以出来Data Store Read即读出变量的值;

搭建模型

先把current的单位换算成mA用到了gain模块除以1000,时间单位为1累计的电流和当前容量加和用到的add模块再将新值赋给now_cap

对总容量进行单位转换将Ah乘以3600分别用到常数模块和乘法运算模块这样上半部分和下半部分的单位都是As

最后用当前容量除以总容量就得出了SOC,添加几个显示模块便于验证结果

验证结果

点击设置仿真,由于处理器不是连续系统,处理速度和频率有关因此要设置为定步长,stop time设为1 步长为0.1也就是计算10次

运行结果显示当前SOC为50.15%,当前容量是3610由于now_cap的初值3600As也是1Ah加上1A电流对时间10次积分的结果整好是3610,当然改变仿真步长或者时长仿真结果也会发生变化。

生成代码

进一步设置仿真生成代码,选择tlc文件也是就你要将模型翻译成那种语言

勾选生成报告,点击生成代码

生成代码的报告

可以看到生成的代码和我们手动写的代码一样

生命不息、学习不止,加油!

本文地址:https://blog.csdn.net/ningvay/article/details/107295357

安时积分法的c语言程序,代码生成 | 安时积分法模型搭建相关推荐

  1. 一个c语言程序的开发环境,C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序...

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

  2. 数字积分法直线插补c语言程序,数控课程设计(数字积分法第二象限直线插补程序).docx...

    数字积分法第二象限直线插补程序设计 数字积分法是利用数字积分的方法,计算刀具沿各坐标轴的位移,使得刀具 沿着所加工的轮廓曲线运动 利用数字 积分原 理构成的插 补装置 称为数字积分 器,又称数 字微分 ...

  3. gcc编译c文件_Linux下C语言程序的编译过程

    Linux下C语言程序的编译过程 使用gcc编译程序时,编译工程分为4个阶段: (1)预处理:(Pre-Processing) (2)编译:(Compiling) (3)汇编:(Assembling) ...

  4. c语言编写pdf,编写并运行C语言程序.pdf

    VC6.0 使用教程 :从 VC6.0安装到运行和调试 [详解版] VisualC++6.0 简称 VC或者 VC6.0 ,是微软推出的一款 C和 C++编译器 ,具有强大的可 视化开发功能和调试功能 ...

  5. Franklin C-51语言程序设计基础

    Franklin C-51语言程序设计基础 1.1 Franklin C-51数据类型 Franklin C-51编译器支持下列数据类型: 数据类型 长度 值域 bit 1 字节 0 或 1 sign ...

  6. VS2019使用教程(使用VS2019编写C语言程序)

    VS2019使用教程(使用VS2019编写C语言程序) 继<VS2019下载地址和安装教程>之后,本节给大家讲解如何用 VS2019 编写并运行 C 语言程序. 例如,在 VS2019 中 ...

  7. 运行一个c语言程序主要包括哪些步骤,运行C语言程序的步骤.doc

    运行C语言程序的步骤 运行C语言程序的编辑(把程序代码输入,交给计算机).编译(成目标程序文件.obj).是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2 ...

  8. 天天向上python题目答案_python语言程序设计基础 习题 天天向上的力量(math.pow)...

    实例1: 一年365天,,以第一天的能力值为基数1.0,当好好学习时能力值相比前一天提高1%,没有学习时能力值相比前天要降低1%,每天努力和每天放任,一年下来的能力值相差多少? 解析: 如果每天都好好 ...

  9. 揭开C语言神秘的面纱,简单的C语言程序

    内容导读 1.什么是c语言 1.1计算机语言 1.2C语言自我介绍 1.2.1概述 1.2.2前世今生 1.2.3C语言特点 1.3第一个C程序 1.4C语言关键字 1.5补码 2.输入与输出 2.1 ...

  10. VS2017使用教程(使用VS2017编写C语言程序)二

    VS2017使用教程(使用VS2017编写C语言程序) < VS2017下载地址和安装 VS2010下载地址和安装教程 > C语言中文网推出辅导班啦,包括「C语言辅导班.C++辅导班.算法 ...

最新文章

  1. Typora 快捷键
  2. 计算机会计的专业知识竞赛,会计知识大赛主持词范文
  3. mysql数据表数据丢失6_MYSQL数据表损坏的原因分析和修复方法小结
  4. netbeans 添加gif图片_GIF动图制作app下载|GIF动图制作安卓版 v3.9.2 官方免费版
  5. 算法~将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)
  6. 菜鸟学习笔记:Java提升篇5(IO流1——IO流的概念、字节流、字符流、缓冲流、转换流)
  7. JavaScript里的函数加或不加括号的区别
  8. 不定宽高的DIV,垂直水平居中
  9. Arduino 工控板开发
  10. 单端正激——隔离型DC/DC变换器的建模与仿真
  11. 生产环境CPU飙高问题解决,记一次完整解决过程
  12. linux 中find命令下的-type f 代表什么意思
  13. 交换机ARP代理详解
  14. R语言检验时间序列的平稳性(tseries包adf.test):时间序列数据是zoo或xts对象,使用coredata函数提取原始数据,再将其传递给adf.test函数
  15. 普元EOS中, 子系统和portal不在同一个域中,使用jquery的jsonp来解决portal跨域访问
  16. FileZilla Server源码分析
  17. html li被挤下去,求助CSS大大页面小化后变形被挤下去了
  18. 数据科学库之——matplotlib
  19. 5G手机即将上市,新的创业风口来了!
  20. Graphhopper Routing导航API请求参数和返回结果说明

热门文章

  1. android midi 编辑器,MIDI音乐制作app
  2. java找不到符号 类_得到错误java:找不到符号类
  3. 3dmax三点照明法场景照明的方法和技巧
  4. linux link 硬链接,Linux系统中的硬链接(hard link)与软链接(symbolic link)
  5. matlab求向量的模,MATLAB向量的模
  6. 嵌入式课程 之 陀螺仪传感器实验
  7. 三泰串口卡linux驱动,工业多串口卡.pdf
  8. 微信小程序echarts问题整理与解决
  9. 显著性水平和p值的理解
  10. 抖音养号上热门技巧(超详细)