Matlab中的.p文件应用及模型保护

文章介绍了Simulink中Merge模块的功能,用于在不同条件下选择激活某一路信号,并展示了如何优化模型布局。此外,还讨论了使用.p文件加密MATLAB脚本以保护算法,并提到了模型加密保护的方法,增强了模型的安全性。
摘要由CSDN通过智能技术生成

01--Merge用法

在介绍该主题前,先介绍下merge模块的用法,

在simulink中,merge模块主要用于在不同条件下,激活其中某一路条件的功能,也就是说被merge的信号不能被同时激活。

我们随便搭个模型,如下图:

 从MAAB建模规范来说,merge左边的信号非常不利于模型阅读,但是我们可以通过快捷键将模型的输入信号调试成下图的样式:

 虽然看上去简洁了很多,但是实际上线还是很杂乱,可以通过在case子系统内添加bus的方式把信号都集中起来,举得例子只有两个信号,有些子系统可能有十几二十个信号,做成bus的新式更有利于模型的阅读及开发维护。

除此以外,从子系统出来的信号在外部进行merge的时候可以引入如图红色三角形的封装模块,功能就是自动化的merge多个信号。如图所示,更加简洁了!

 

 通过进入三角形子系统内部,发现里面没有任何内容,此时还需要点击该三角形并在matlab命令窗口运行该三角形子系统的m脚本。

                              未运行脚本

该脚本内容就不公开了,如有需要,可私信博主。

运行后的效果:

 该三角形内部信号直接自动化排列并进行了Merge,这个脚本对于有多个信号需要merge并需要进行bus时非常高效。但是被merge的信号在case内部子系统的信号线上要加上该信号名称,并且不同子系统的信号线名称被merge时要一致。

 

 02--.p文件

 m脚本里面写了一些算法,有时候需要提供给第三方使用,但是又不想被第三方查询到该算法的具体逻辑,可以使用pcode对m脚本进行加密处理。

加密后的文件不改变程序功能,只是将程序设置为可使用但不可查看(包括加密者本人)。
代码一旦加密便不能被反编译。因此用户一定要注意备份源文件。
加密后的文件只能在MATLAB环境下使用。
注:执行中p文件优先于同名的m文件。

运行的指令:

若m文件名为:mergeBus

执行指令 pcode mergeBus

会生成一个.p文件,该文件打开后是乱码,但是可以正常在MATLAB指令窗口使用该功能 

当然,这个.p也是能够被破解的,没有什么是不能被破解的,毕竟高手非常多。

03--模型保护

上面的模型可以先把模型创建为子系统,然后对模型进行加密

 

 生成完成后如下图:

 点开内部:

基本上等于说被加密了。 

 尝试一下加密模型的输入1,结果应为2,1

 当然,这只是MATLAB提供的其中一种加密保护方法,另外几种,有时间可以再去尝试

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值