基于模型开发之代码集成(四)——Le…

本文介绍了在模型开发中使用LegacyCodeTool进行代码集成的方法,特别是如何定义初始条件、输出、启动和停止函数。强调了函数定义的注意事项,如输入参数不可变、不返回指针等,并提供了C语言函数形式与LegacyCodeTool对应表达方式的示例。文章还概述了使用LegacyCodeTool的基本步骤:初始化结构体、赋值参数和生成代码。
摘要由CSDN通过智能技术生成

根据前面讲过的使用命令 specs = legacy_code('initialize') 生成的结构体变量中specs要定义一系列函数:初始条件函数、输出函数、启动函数、停止函数( InitializeConditionsFcnSpec: '',OutputFcnSpec: '',StartFcnSpec: '',TerminateFcnSpec: '')。

在定义这些函数时要注意:

1、输入参数在函数中不能被改变

2、函数体的返回值不能为指针(可以为指针指向的值)

3、初始条件函数、启动函数、停止函数不能通过输入输出参数来定义。

 

这些函数的定义方式都是通过带关键字的字符串来定义的,关键字如下:

y1,y2,……,yn用来表示输出变量

u1,u2,……,un用来表示输入变量

p1,p2,……,pn用来表示参数变量

work1,work2,……,workn用来表示工作向量参数

 

(个人理解:C语言中一般没有p,work的概念,之所以会有这两种形式的函数变量,是因为matlab本身是处理矩阵运算的,一般来说函数都可以理解或翻译为矩阵运算的形式,都可以转换为状态方程,所以有了参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值