当前位置: 首页 > news >正文

matlab/simulink TLC语法基础练习实例

一、基本语法测试方法

1.新建一个脚本,保存扩展名为tlc,本例中是tst.tlc,设置当前工作路径为保存的tlc文件路径,在tlc文件里面输入下面的代码,然后保存:

%warning test

2.在MATLAB的命令窗口输入:

tlc tst.tlc

可以在命令行看到运行结果:

Warning:  test

说明 :warning语句的语法就是在命令行输出:  Warning:  文本。

详细的基本语法见:

tlc语法https://download.csdn.net/download/mirandali/90900363?spm=1011.2124.3001.6210  或 MATLAB的帮助,此处不再重复讲。

-r 指定 model.rtw 文件名称

-v 指定详细级别

-l 指定本地 include 文件的路径

-m 指定最大错误数

-0 指定输出文件路径

-d[a|c|n|o] 调用调试模式

-a 指定参数

-p 打印进度

-lint 性能检查和运行时统计

-xO 仅解析

二、字符串拼接的理解,数据类型、取数语法的理解

1)困惑于tlc文本的字符串拼接,尝试将一个字符串与一个数字拼接。

%assign  worker = "str_"
%warning worker = %<worker> %%打印worker
%assign result = 1
%warning result = %<result> %%打印result
%assign conj = worker + result
%warning conj = %<conj> %%打印conj

得到的结果是:

Warning:  worker = str_
Warning:  result = 1
Error: File: tst.tlc Line: 6 Column: 25
The + operator only works on numeric arguments
Main program:
==> [00] tst.tlc:<NONE>(6)

错误出在这里:提示加号只适合2个数值,应该是work的字符型,rst是数值,不支持直接拼接

改一下,使用内嵌函数STRING,运行就OK了。内嵌函数见“tlc语法”或MATLAB帮助文档
https://download.csdn.net/download/mirandali/90900363?spm=1011.2124.3001.6210

%assign  worker = "str_"
%warning worker = %<worker> %%打印worker
%assign result = 1
%warning result = %<result> %%打印result
%assign conj = worker + STRING(result)
%warning conj = %<conj> %%打印conj

三、循环、嵌套取数(类似指针)的理解

由于项目需要,需要在sfunction中将多个参数循环写入rtw文件中,再从tlc中将参数名取出来,并获得参数的值。参数名有一定的规律,前缀字符串+循环数值。

%assign outNum = 2 %% 循环次数
%assign  sigInfo_0 = 101 %%信号实际值
%assign  sigInfo_1 = 202 %%信号实际值
%foreach loopIdentifier = outNum%assign sigInfoStr = "sigInfo_"+ STRING(loopIdentifier)     %warning sigInfoStr =  %<sigInfoStr>  %%看看变量名是否拼接成功%assign varStr = %<sigInfoStr>     %%从变量名中再取数%warning varStr = %<varStr>        %%看看是否取到sigInfo_x的值
%endforeach

结果如下:

Warning:  sigInfoStr =  sigInfo_0
Warning:  varStr = 101
Warning:  sigInfoStr =  sigInfo_1
Warning:  varStr = 202

可以看到是可以通过这个方法取到变量的值,这为我们sfunction的tlc文件设计做好了准备。

相关文章:

  • Java 数据处理 - 数值转不同进制的字符串(数值转十进制字符串、数值转二进制字符串、数值转八进制字符串、数值转十六进制字符串)
  • C++23 已移除特性解析
  • CQF预备知识:一、微积分 -- 1.8.1 链式法则 I 详解
  • 电子电路:怎么理解时钟脉冲上升沿这句话?
  • PostgreSQL性能监控双雄:深入解析pg_stat_statements与pg_statsinfo
  • 深度学习驱动的超高清图修复技术——综述
  • 【数据结构】图的存储(邻接矩阵与邻接表)
  • LeetCode 1010. 总持续时间可被 60 整除的歌曲
  • 力扣HOT100之动态规划:300. 最长递增子序列
  • Vue-Router简版手写实现
  • go|context源码解析
  • 极坐标求解的二重积分适合特征
  • Python(十四)
  • 飞致云开源社区月度动态报告(2025年5月)
  • 【数据结构】——二叉树--链式结构
  • 考研系列—操作系统:第四章、文件管理(part.1)
  • C++ 栈(Stack)与队列(Queue)深度解析:从原理到实战
  • Linux 网络流量监控实战:使用 iftop 精准定位高带宽连接
  • 前端面经 websocket
  • 第四十一天打卡
  • html5自适应手机网站模板/小果seo实战培训课程
  • 最稳定的免费的资源共享网站/百度seo软件是做什么的
  • 做网站外国的服务器/seo公司上海牛巨微
  • 兰溪市住房和城乡建设局网站/搜索引擎优化自然排名
  • java开发网站轮播图怎么做/个人在百度上发广告怎么发
  • 网络工程师有前途吗/海淀区seo搜索引擎