是否可以使用quadprog()进行代码生成?

11次观看(过去30天)
aparnasri sekar
aparnasri sekar 2018年8月1日
编辑: 克莱门斯巨魔2021年7月20日
我知道代码生成不支持quadprog()。万博1manbetx但是是否存在使用quadprog()函数进行代码生成的变通方法呢?我试图从我的Simulink模型生成c代码,可以用来与CANoe平台集成在另一万博1manbetx台pc上,可能或可能没有MATLAB编译器。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2018年8月1日
编辑:沃尔特·罗伯森 2018年8月1日
不,没有变通办法。优化工具箱中很少有可以生成的代码。
然而,MATLAB编译器的优化工具箱支持所有命令行功能,这将创建独立的.exe代码而不万博1manbetx是C或c++代码。也就是说,您可以让您的Simulink模型使用TCP块与使万博1manbetx用MATLAB编译器构建的一些代码进行通信,以执行quadprog()。
我担心quadprog()的响应时间可能太长,无法在Simulink模型中实际使用。万博1manbetx

答案(1)

玛丽费内龙
玛丽费内龙 2020年4月21日
R2020a支持对quadprog的代码生成,r2020b增加了万博1manbetx对fmincon的支持。
1评论
克莱门斯巨魔
克莱门斯巨魔 2021年7月20日
作为documanted https://de.mathworks.com/help/optim/ug/code-generation-in-quadprog.html 只有应用了'active-set'求解器,才能为quadprog()生成代码。不幸的是,我的优化问题是大规模的,因此只能用“内点”求解器在可接受的计算时间内解决。
在未来的版本中,是否也可以使用其他求解器来生成代码?如果没有,有没有人知道一个可以在Simulink中使用的四程序求解器的好替代方案?万博1manbetx

登录发表评论。