我是靠谱客的博主 害怕便当,最近开发中收集的这篇文章主要介绍Simulink中的MATLAB Function说明及其变量初始化Matlab function是一支持使用M语言编写模块功能,并能够将其生成C代码,用于开发桌面应用和嵌入式应用模块。MATLAB Function内部的M语言有严格的要求:Example:,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Matlab function是一支持使用M语言编写模块功能,并能够将其生成C代码,用于开发桌面应用和嵌入式应用模块。
在function 头的下一行增加%#codegen符号,其作用是为了使静态代码分析器Code Analyzer 诊断代码并提示用户对可能在代码生成的过程中导致错误的违规写法进行修正。
MATLAB Function内部的M语言有严格的要求:
变量必须要给定初始值及其维度,变量类型及其虚实性,不支持变维度变量
simulink中的运行机制,每个采样点会调用一次MATLAB Function的函数,两次调用之间,同一个变量的前次计算结果传递到当前计算周期是个大问题。解决的办法是采用persistent变量来实现函数退出和进入时内部变量值的保持。
persistent变量是定义在某个函数内的来变量类型,可以在函数调用的不同次数间保持上一次退出该函数的值。它变量声明与global的区别是,persistent变量是能在被定义函数中被识别,避免被外部修改。声明persistent变量时,它刚刚被创建,还不具有初始值,其内容为空值[ ]。调用persistent变量的函数时,先判断persistent变量是否为空。如果为空需要进行初始化赋值。当非空时,它会记住上次被调用的结果。
Example:
function y = fcn(u)
%#codegen
%*********初始化******************
persistent sum_val
if isempty(sum_val) %初始化
sum_val = 0;
end
sum_val = sum_val + u ;
y = sum_val;
最后
以上就是害怕便当为你收集整理的Simulink中的MATLAB Function说明及其变量初始化Matlab function是一支持使用M语言编写模块功能,并能够将其生成C代码,用于开发桌面应用和嵌入式应用模块。MATLAB Function内部的M语言有严格的要求:Example:的全部内容,希望文章能够帮你解决Simulink中的MATLAB Function说明及其变量初始化Matlab function是一支持使用M语言编写模块功能,并能够将其生成C代码,用于开发桌面应用和嵌入式应用模块。MATLAB Function内部的M语言有严格的要求:Example:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复