Matlab/Simulink的一些功能用法笔记(3)

发布时间:2023年12月25日

01--引言

最近加入到一个项目组,有一些测试需要去支持,通过了解原先团队的测试方法后,自己作了如下改善,大大提高了工作效率。这也许就是软件开发的意义吧,能够去除一些重复的机械的人工操作并且结果还非常不可靠。

大概的情况是有3个输入,其中一个输入的曲线在一定的时间内已经固定,另外两个输入是由是不同的工况点,需要测试根据不同的工况点,在固定时间内通过内部计算逻辑获得输出值。最终要把获取的输出值取最大值(周期比取最小值小10倍),输出值取最小值且按照不同的时间分为3部分,并把最终值通过填表拉成曲线。

具体化:

假如有一个输入I,运行时间总共10s,前4秒以200A运行,4-6s以50A运行,6-10s以100A运行

另外一个输入T,需要采集如下温度点(-25 -10 0 15 20),求输出P的值

第3个输入H2,分别在某个固定温度下,H2量范围0-100%,以5%为精度下,求P的值

最终求得的P的值最小值按时间分为三段,0-2s,2-5s,5-10s,设定周期为0.1s

最终求得的P的值取10s内的最大值,设定周期为1s

02--建模

1.求解器时间设置

2.输入I给定

3.暂时先固定T=-25,H2给定

4.假定内部算法如下:

查表数据:

5.运行一下

6.求得的P的值取10s内的最大值建模

内部:

7.求得的P的值最小值按时间分为三段,0-2s,2-5s,5-10s,设定周期为0.1s建模

内部:

子系统内部:

8.输出值导入到工作区间

导入的是一个结构体,需要改成单独变量,设置如下(去掉所有的打钩选项)

9.总体模型

10.由于最大值模型要比最小值模型周期调度小10倍,故在设置内设置为原子子系统,并把采样周期设置为1s

11.运行一下,检查是否为最值

P的值

PMax的值

看看short、mid、long(取最后一个点的值即为最值)

short

mid

long

12.去工作区间取值,取最后一个点

为了方便取点,把H2的百分比数值放在纵向,需要把取到的值重新定义下

分别为p,s,m,l

再把p值复制粘贴到Excel表中

除了第一次要选外,下一次直接Ctrl+c即可

最终根据不同的温度运行后,将数值复制到表格中如下:

拉成曲线:

13.模型资源见下载附件

文章来源:https://blog.csdn.net/BlueBachke/article/details/135153894
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。