如何在Simulink中使用syms?换个思路解决报错:Function ‘syms‘ not supported for code generation.

问题描述

在Simulink中的User defined function使用syms函数,报错simulink无法使用外部函数。

具体来说:

我想在Predefined function定义如下符号函数作为输入信号,在后续模块传入函数参数赋值,以实现一次定义多次使用,并避免求导时手动修改函数形式:

syms t B A T Phi; f = A*sin(2*pi/T*t + Phi)+B;

ps:赋值,符号变量到数值变量的计算过程可使用:

tmp = subs(f,{A,B,T,Phi,t},{A_,B_,T_,Phi_,t_});value = double(tmp);

结果Sinmulink报错:独立代码生成不支持函数'syms,代码生成器不支持等..Function 'syms' not supported for code generation.

解决方案

思路:不在Simulink中显式使用syms定义变量,将该步骤放到Matlab脚本函数中运行。

举例:同上文例程,将该函数(Predefined function)写在Simulink外部,即Matlab工作目录;然后,在Simulink内部使用coder对象传入参数调用该函数。函数在外部的文件为symsSine.m。

function y = fcn(~)
%将值传入外部函数,返回值供内部使用
coder.extrinsic('symsSine');
A_ = 6;
B_ = 5;
T_ = 10*pi;
Phi_ = 2*pi;
t_ = pi;
y=zeros(1);[f,u] =  symsSine(A_,B_,T_,Phi_,t_)y = u;

结果:

实现了期望功能,且syms定义的符号变量 f 并未在Simulink中报错。

进一步,可以实现在Simulink中继续使用返回的符号变量/函数..

如进行diff求导:

f1 = diff(f)

输出:

以上

参考

如何在Simulink Matlab函数中使用符号变量和函数 Syms..

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/214120.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“java.lang.IllegalStateException: No ConfigurableListableBeanFactory set“,缺少配置

一、错误分析 做品优购项目的运营商安全登录时,运行项目后,浏览器访问模板页,模板页的表格无法正常显示,报错信息如下: SEVERE: StandardWrapper.Throwable java.lang.IllegalStateException: No ConfigurableLista…

JMeter测试报错422 Unprocessable Entity

添加HTTP信息头: ​ HTTP请求-》添加-〉配置元件-》HTTP信息头管理器 ​ 如果需要送json,需要添加Content-Type:application/json,否则会报【422 Unprocessable Entity】

PSP - 从头搭建 抗原类别 (GPCR) 的 蛋白质结构预测 项目流程

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134595717 GPCRs(G Protein-Coupled Receptors,G蛋白偶联受体),又称为7次跨膜受体,是细…

新苹果手机如何导入旧手机数据?解决方案来了,记得收藏!

为了保持其竞争优势,苹果公司不断推出新的产品和服务,因此苹果手机的更新换代速度是比较快的。正巧最近刚出了iPhone15,相信很多小伙伴已经换上了期待已久的新手机。 更换新手机后,大家都会面临一个问题:新苹果手机如…

让工作效率提升10倍:十大AIGC工具评测【建议收藏】

AI技术的普及已经在近年来不断增长。这种技术已经改变了我们与电脑的互动方式,让我们能够更高效、更自然地完成任务。本文将展示10个基于ChatGPT、GPT-3.5和 GPT-4.0 AI模型构建的最强大的资源,使您更容易充分利用它们的潜力。因此,如果您想利…

命令执行总结

之前做了一大堆的题目 都没有进行总结 现在来总结一下命令执行 我遇到的内容 这里我打算按照过滤进行总结 依据我做过的题目 过滤system 下面是一些常见的命令执行内容 system() passthru() exec() shell_exec() popen() proc_open() pcntl_exec() 反引号 同shell_exec() …

AI制作的《大多数普通女孩的一生》——公开教程和工作流

内容来源:JiamigouCn ​这周由AI制作的《大多数普通女孩的一生》,在抖音爆火,获得新华网转发。到目前为止,全网还没有公开教程和工作流,需要花费800-2000购买。 本着AI社区共享原则,我委托公众号“楚思智能…

分享一些感恩节祝福语

今天是感恩节,11月也是所有卖家冲刺年终旺季的刺激战场,而从感恩节开始的购物周则是欧美消费者最疯狂的购物时刻。因此关于感恩节营销,卖家要做的不仅仅是传达品牌温度和感恩之情,更要为即将开启的大促进行引流,吸引消…

nginx国密ssl测试

文章目录 文件准备编译部署nginx申请国密数字证书配置证书并测试 文件准备 下载文件并上传到服务器,这里使用centos 7.8 本文涉及的程序文件已打包可以直接下载。 点击下载 下载国密版openssl https://www.gmssl.cn/gmssl/index.jsp 下载稳定版nginx http://n…

JWT 还能这样的去理解嘛??

其他系列文章目录 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章目录 文章目录 一、什么是 JWT? 二、JWT 由哪些部分组成? 2.1Header 2.2Payload 2.3Signature 三、如何基于 JWT 进行身份验证? 四、如何防止 JWT 被篡改&a…

git查看某个commit属于哪个分支方法(如何查看commit属于哪个分支)

有时候,当我们由于业务需求很多时,基于同一个分支新建的项目分支也会很多。 在某个时间节点,我们需要合并部分功能点时,我们会忘了这个分支是否已经合入哪个功能点,我们就会查看所有的commit记录,当我们找到…

pair和typedef

文章目录 一、pair用法1.2、pair的创建和初始化1.3、pair对象的操作1.4、(make_pair)生成新的pair对象1.5、通过tie获取pair元素值 2、typedef2.1、什么是typedef2.2、typedef用法2.2.1、对于数据类型使用例如:2.2.2、对于指针的使用例如2.2.3、对于结构体的使用 2.…