声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1725|回复: 10

[混合编程] matlab与vc混合编程出错

[复制链接]
发表于 2010-9-17 09:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我是用matlab优化工具箱的fmincon函数进行优化,在vc中显示优化结果。m文件代码如下:
function [X,FVAL,EXITFLAG]=optimize
x0=[5.264 2.942 1.688 1.0 0.694]';%初值
A=[1 -1.8 0 0 0
    0 0 0 -1 1.5];           %线性不等式约束
b=[0 0]';
Aeq=[0 0 0 1 0];             %线性等式约束4挡传动比为1
beq=[1];
lb=[0 0 0 0 0];
ub=[];
% g=9.8;
options=optimset('Algorithm','active-set','Display','off'); % run active-set algorithm
[X,FVAL,EXITFLAG]=fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mynonlcon,options); %优化函数

用mcc编译成动态链接库供vc调用:mcc -W cpplib:liboptimize -T link:lib optimize.m 。
现在遇到的问题是在vc中编译没问题,一运行到调用optimize()函数就会出错,因为以前多次用到这样混合编程都没问题,只是以前我只是用matlab做计算,用vc显示计算结果,这次是用matlab优化,怀疑是不是因为matlab函数中调用fmincon的问题,于是mcc编译m文件时又加上了fmincon.m可还是不行,纠结了好几天了依然无法解决,那位高人指点我一下啊,不胜感激!
回复
分享到:

使用道具 举报

发表于 2010-9-17 10:54 | 显示全部楼层
希望你能把错误的提示贴出来,大家一起分析分析
发表于 2010-9-17 11:20 | 显示全部楼层
建议先完全用matlab跑通, 再使用混合编程
 楼主| 发表于 2010-9-17 15:52 | 显示全部楼层
本帖最后由 默默淳真 于 2010-9-17 15:54 编辑

在matlab中程序已经运行成功了,就是加到vc中一调用optimize就报错,怎么把图放上来啊,是添加附件吗,怎么说添加成功,可是我却没找到在哪啊
发表于 2010-9-17 21:25 | 显示全部楼层
...怀疑是不是因为matlab函数中调用fmincon的问题...

或许有此可能! 一直没去学这块, 同待高手
 楼主| 发表于 2010-9-18 09:45 | 显示全部楼层
高手快来帮帮忙吧!

 楼主| 发表于 2010-9-19 09:46 | 显示全部楼层
本帖最后由 默默淳真 于 2010-9-19 11:39 编辑

再来顶一下


发表于 2010-9-19 10:00 | 显示全部楼层
建议楼主还是先研究下如何上传图片成功后,怎么插入图片吧。这个简单的使用论坛问题都懒得摸索,别人也懒得回答你的问题了。否则“高手快来帮帮忙吧!”喊破喉咙,高手也来不了。悬丝诊脉、隔空猜想就能明白你的问题症结,这样的高手恐怕没几个。
 楼主| 发表于 2010-9-19 11:40 | 显示全部楼层

我研究了啊,本以为先传到相册再发上来,可是我上传时说我没有权限,可能是我太笨了,再研究研究吧


 楼主| 发表于 2010-9-19 11:48 | 显示全部楼层
我觉得就是因为matlab调用了优化工具箱的fmincon函数的问题,有可能不是在编译成C++代码时有什么不同的操作就是在vc中没有做一定的设置,不知道我的猜测对不对
发表于 2010-12-31 20:45 | 显示全部楼层
主要是matlab6.0里面的动态链接库,没有你调用的优化函数,所以每次运行到那个函数出错!,建议找到fmincon函数的m文件,然后编译为C代码!

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 10:17 , Processed in 0.070584 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表