matlab fmincon转c,C中调用fmincon,其中目标函数和约束在c中定义并随参数变化

本文讨论如何在C中调用Matlab的fmincon函数,特别是在目标函数和约束随参数变化的情况下。作者面临的问题是目标函数和约束在C中定义,并且依赖于输入参数。提出了通过预先编写包含动态参数的m文件来传递数据的方法,但担心这会导致效率低下和赋值错误。此外,还描述了在尝试将mycon作为动态表达式传递时遇到的错误,导致fmincon无法继续执行。作者寻求解决方案和建议。
摘要由CSDN通过智能技术生成

本帖最后由 andy20071846 于 2012-7-27 09:13 编辑

大家好,我现在遇到这样的一个问题,在c中调用matlab的fmincon

mcc编译后给出的接口如下:

myfmintest(int nargout, mwArray& X, mwArray& Fval, mwArray& Exitflag, const mwArray& myfun, const mwArray& xx0, const mwArray& A, const mwArray& B, const mwArray& Aeq, const mwArray& Beq, const mwArray& LB, const mwArray& UB, const mwArray& mycon);

我在c中定义了目标函数和约束,需要把他们传给myfun和mycon,问题的关键是目标函数和约束随着输入参数是变化的,所以不知道该如何传递数据,或者大家有什么好的思路吗?

目前我想到一种,就是在m文件中事先写好myfun和mycon,把c中的那些参数写进m文件的输入参数,然后编译供vc调用,但是具体问题中参数个数很多,在c中调用的时候也不太好赋值,稍有不慎就出问题,还有就是这样的话执行效率也不会高,希望大家可以帮帮忙,谢谢了!

ps:我自己单独测试了一个很简单的例子,如果只有目标函数而且目标函数表达式是事先确定的,那么传递进去毫无问题,如果随着参数变化就不知道如何办了,比如f=x(1)^2+x(1)*x(2)-100我可以通过传递字符串处理,但是f=f+x(i)^2&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值