【笔记】Simulink与Workbench交互+自定义m函数封装为Simulink模块

ops/2024/10/23 9:27:39/

以如下三角函数为例,说明建模方法

y=a*sin(b*2*pi*u+c);

0.总模型+总代码

总模型
在这里插入图片描述总代码:

clc
clear
close allt_all=10;
a=10;
b=1;
c=0;%pi/2;
delta_t=0.01;
simOut=sim('test240430');
out_t=simOut.tout;
out_y1=simOut.yout{1}.Values;
out_y2=simOut.yout{2}.Values;
out_y3=simOut.yout{3}.Values;
figure(1)
plot(out_y1.time,out_y1.data,'b*-')
hold on
plot(out_y2.time,out_y2.data,'k*-')
hold on
plot(out_y3.time,out_y3.data,'r*-')
legend('结果','结果积分','结果微分')

fcn模块为MATLAB Function模块,双击之后如下界面写入代码:
在这里插入图片描述

function y = fcn(u,a,b,c)
y=a*sin(b*2*pi*u+c);

运行效果:
在这里插入图片描述注意两点:
(1)运行时间总长度为t_all
为了在workbench内可用控制运行时间,simulink的stop time设为t_all
在这里插入图片描述(2)时间间隔为delta_t
为了在workbench内可用控制时间步长,在设置内设时间步长为delta_t
在这里插入图片描述

1.MATLAB Function模块

打开simulink随便建立一个空模型
导入MATLAB Function模块,双击该模块即可编写代码,模块输入接口数量、输出接口数量可自动根据m函数的输入输出数量修改
在这里插入图片描述

SimulinkMATLAB_Workbench_52">2.Simulink、MATLAB Workbench交互关键语句

simOut=sim('test240430');
out_t=simOut.tout;
out_y1=simOut.yout{1}.Values;
%% 读取数据时用以下语句
out_y1.time,out_y1.data

http://www.ppmy.cn/ops/25975.html

相关文章

软件测试经理工作日常随记【1】-测试用例

软件测试经理工作日常随记【1】-测试用例 1.测试用例 测试用例,好像是每个讲软测经验的文章的基本输出。各种测试用例的设计及白盒黑盒测试方法重复出现在收集者前面。so,不走寻常路的我,觉得从另外的角度去分享测试用例。日常工作中&#…

Hadoop生态系统的核心组件探索

理解大数据和Hadoop的基本概念 当我们谈论“大数据”时,我们指的是那些因其体积、速度或多样性而难以使用传统数据处理软件有效管理的数据集。大数据可以来自多种来源,如社交媒体、传感器、视频监控、交易记录等,通常包含了TB(太…

Spring Boot使用Logback将某些日志输出到单独的文件

缘起 重构了某个接口&#xff0c;想监控下新接口各个处理过程的时间&#xff0c;从而评估和监控日常性能。监控使用Spring自带的StopWatch&#xff0c;日志使用Logback 配置 先拷贝一份infoAppender配置过来改个名 <!-- 监控日志 --><appender name"monitorAp…

Go中为什么不建议用锁?

Go语言中是不建议用锁&#xff0c;而是用通道Channel来代替(不要通过共享内存来通信&#xff0c;而通过通信来共享内存)&#xff0c;当然锁也是可以用&#xff0c;锁是防止同一时刻多个goroutine操作同一个资源&#xff1b; GO语言中&#xff0c;要传递某个数据给另一个gorout…

C++证道之路第十五章友元、异常和其他

友元 友元函数&#xff1a; 友元函数不是类的成员函数&#xff0c;但能够访问类的私有&#xff08;private&#xff09;成员和保护&#xff08;protected&#xff09;成员。友元函数定义在类的外部&#xff0c;但在类的定义中通过friend关键字声明。友元函数可以是普通函数&a…

数据结构与算法学习笔记三---队列的表示和实现(C语言)

目录 前言 1.定义 2.队列的表示和实现 1.链队列 1.定义 2.初始化 3.入队 4.出队 5.队列为空 6.队列长度 7.清空队列 8.获取队首元素 9.完整代码 2.顺序队列 1.定义 2.初始化 3.入队 4.出队 5.队列为空 6.队列长度 7.清空队列 8.获取队首元素 9…

K8S集群安装

安装Docker sudo yum remove docker* sudo yum install -yum-utils ​ #配置docker的yum镜像仓库 sudo yum-config-manager \ --add-rep \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ​ #安装指定版本docker... sudo yum install -y docker-ce-19.03…

视觉语言模型详解

视觉语言模型可以同时从图像和文本中学习&#xff0c;因此可用于视觉问答、图像描述等多种任务。本文&#xff0c;我们将带大家一览视觉语言模型领域: 作个概述、了解其工作原理、搞清楚如何找到真命天“模”、如何对其进行推理以及如何使用最新版的 trl 轻松对其进行微调。 什…