找回密码
 注册
Simdroid-非首页
楼主: SCIE

【原创】MATLAB与VC界面混合编程尝试

[复制链接]
发表于 2006-11-29 11:39:52 | 显示全部楼层 来自 湖北武汉

dd

不好意思!我是一个新手!
想请教高手一个问题!
混合编程里面的那些函数在哪可以找到啊?具体的使用讲解之类的东东!
好像相关的书籍上没有发现啊
比如:mxCreateDoubleMatrix等!S-function:Z中用到的:ssSetOutputPortFrameData,ssSetInputPort等
谢谢了!感激!
发表于 2006-11-29 23:41:35 | 显示全部楼层 来自 江苏苏州
Simdroid开发平台
vc中调用matlab应该用的较多 没有在matlab中调用过vc
发表于 2006-12-4 15:54:40 | 显示全部楼层 来自 湖北武汉
API
MATHWORKS上有PDF文档下
原帖由 yangfeimen123 于 2006-11-29 11:39 发表
不好意思!我是一个新手!
想请教高手一个问题!
混合编程里面的那些函数在哪可以找到啊?具体的使用讲解之类的东东!
好像相关的书籍上没有发现啊
比如:mxCreateDoubleMatrix等!S-function:Z中用到的:ssS ...
lijil168 该用户已被删除
发表于 2006-12-13 20:25:32 | 显示全部楼层 来自 湖北武汉
提示: 作者被禁止或删除 内容自动屏蔽
lijil168 该用户已被删除
发表于 2006-12-13 20:30:37 | 显示全部楼层 来自 湖北武汉
提示: 作者被禁止或删除 内容自动屏蔽
lijil168 该用户已被删除
发表于 2006-12-13 20:45:39 | 显示全部楼层 来自 湖北武汉
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2007-1-25 21:21:15 | 显示全部楼层 来自 北京
SCIE:
    你好!我用的是matlab6.5,我在matlab下编了一个编程,要在VC6.0中调用,其作用为数据处理和图形显示.
 用VC 单独用时,用起来效果还不错.
 把它加入到我VC下的一个另一个程序就出现了这样一个错误:
  c:\matlab6p5\extern\include\libmmfile.h(120) : error C2143: syntax error : missing ')' before 'constant'
  c:\matlab6p5\extern\include\libmmfile.h(120) : error C2143: syntax error : missing ';' before 'constant'
  c:\matlab6p5\extern\include\libmmfile.h(120) : fatal error C1004: unexpected end of file found
我的e-mail为wangxg@mail.ihep.ac.cn.如果你有空我把原程序发给你.
在线急等!
谢谢!!
发表于 2007-3-9 10:34:48 | 显示全部楼层 来自 湖北武汉
说明
这是MATLAB6.5作的
MATLAB6.5.1下,情况会有差异
请感兴趣的版友直接阅读MATLAB的图形库头文件,确保调用格式的正确,以免发生错误.
原帖由 SCIE 于 2004-6-21 22:40 发表
虽然MATLAB可以制作GUI界面,但其界面元素还是太少,而且当界面元素教多时会严重影响执行速度。
  
用VC来制作GUI界面不但界面元素丰富而且可以定制,可以实现非常美观的界面,而且能够保证复杂界面的执行速度, ...
发表于 2007-4-4 10:59:25 | 显示全部楼层 来自 广西南宁
原帖由 SCIE 于 2004-8-23 18:03 发表
1.可以将m文件编译为dll,在matlab6.5及以下版本中可以编译为两种dll
(1) mex DLL,该中dll是在matlab中直接使用的,编译为该dll的目的是为了程序在matlab中的执行速度,用mcc -x -h file.m实现
(2) 标准的 ...


   为什么我用 mcc -t -W libhg:Library Name; -T link:lib m file name; 会出现错误,就是无法link成dll文件;
而使用mcc -B csglsharedlib:mylib myfun.m可以编译出*.dll,*.lib,*.h . 但是在VC中使用会出现runtime错误.为什么??
发表于 2007-6-1 13:12:57 | 显示全部楼层 来自 山西太原

急求回复!!!帮帮忙啊!!

帖子中的恢复:【原创】实践经验:在VC中使用mcc编译得到的CPP文件  
http://www.simwe.com/cgi-bin/ut/ ... 1296&pid=165105怎么打不开啊?我急求阿!!毕业设计要用的,没有时间了,请各位高手指教。我想在VC++ 中用GUI调用一个在MATLAB中M文件生成的图形,应该怎么编程啊?:'( :'( :'( :' 急求啊!!!!!!!!!!
回复 不支持

使用道具 举报

发表于 2007-6-27 20:50:29 | 显示全部楼层 来自 辽宁沈阳

请问一下

可不可以做个附件上来啊.就是具体步骤啊.看不懂啊这样:(


======================================================

要是用一点点脑子,都能看见首贴里就贴着附件,能问出这样的问题,真令人叹为观止!            
                                                                                                  by bainhome

======================================================

[ 本帖最后由 bainhome 于 2007-6-28 15:13 编辑 ]
回复 不支持

使用道具 举报

发表于 2007-8-7 12:54:53 | 显示全部楼层 来自 北京

做成com组件来在VC里调用?

你的zip文件中没有M文件,能否提供m文件以供用comtool做成com组件来在VC调用。谢谢
回复 不支持

使用道具 举报

发表于 2007-8-30 15:54:18 | 显示全部楼层 来自 山东淄博

matlab与vc++混合编程中正态分布累计概率函数曲线

向大家请教一下,如何在vc++中绘制正态分布的累计概率函数曲线,就是matlab中的normcdf函数。我用matcom将编译的m文件导入时总是有错误。如果编译的m文件中没有toolbox中的函数时,就没有错误。想自己编m文件,可惜这个函数可能是不可积的。请大家指教!谢谢!
回复 不支持

使用道具 举报

发表于 2007-9-11 10:29:03 | 显示全部楼层 来自 哈尔滨工程大学
scie 我再做vc中调用matlab生成的dll文件方面的东西
想请求点帮助
回复 不支持

使用道具 举报

发表于 2007-9-13 15:20:12 | 显示全部楼层 来自 江苏南京
我是matlab6.5
运行时报错,说找不到matlab.hpp文件,运行不了.
再请问下,可以通过计算引擎的方法调用工具箱的方法吗?
回复 不支持

使用道具 举报

发表于 2007-11-1 14:19:52 | 显示全部楼层 来自 河南洛阳

MATLAB与VC界面混合编程尝试

SCIE,你好请问怎么生成不可见绘图窗口,把它调整到指定位置后再显示出来,如何消除的闪烁现象?
请指教,谢谢!
回复 不支持

使用道具 举报

发表于 2007-11-4 11:04:06 | 显示全部楼层 来自 浙江台州
SCIE,您好!
我想在vc中调用matlab的线性规划的程序linprog求最优解,程序如下:
#include "stdafx.h"
#include "mex.h"
#include "matrix.h"
#include "matlab.hpp"
#include "fstream.h"
#include "linprog.hpp"
int main(int argc, char* argv[])
{
/*求解线性规划例子:
f=-5x[1]-4x[2]-6x[3];
    x[1]- x[2]+ x[3]<=20;
   3x[1]+2x[2]+4x[3]<=42;
   3x[1]+2x[2]      <=30;
        x[1]>=0;        x[2]>=0;        x[3]>=0;
*/
double f_c[]={-5, -4, -6},
           A_c[]={1,  3,  3,
            -1,  2,  2,
            1 , 4,  0},
           b_c[]={20, 42, 30},
          lb_c[]={1,1,1},
           x_c[]={0,0,0};

mwArray * fval=NULL;
mwArray * exitflag=NULL;
mwArray * output=NULL;
mwArray * lambda=NULL;
mwArray f(3,1,f_c);
mwArray A(3,3,A_c);
mwArray B(3,1,b_c);
mwArray Aeq;
mwArray Beq;
mwArray lb(3,1,lb_c);
mwArray ub;
mwArray x0;
mwArray options;
fval=NULL;
exitflag=NULL;
output=NULL;
lambda=NULL;
//在这里输出linprog参数
x0=linprog(fval,exitflag,output,lambda,f,A,B,Aeq,Beq,lb);
//在这里要输出该问题的解
cout<<x0<<endl;

/*该问题的解在matlab输出为:
  x =
     0.0000
    15.0000
     3.0000
lambda.ineqlin =
     0
     1.5000
     0.5000
lambda.lower =
     1.0000
     0
     0  //*/
return 0;
}
/////////////////////////
程序complile 通过,但是link 出错。出错如下:
--------------------Configuration: mwArrayIO - Win32 Debug--------------------
Linking...
mwArrayIO.obj : error LNK2001: unresolved external symbol "class mwArray __cdecl linprog(class mwArray *,class mwArray *,class mwArray *,class mwArray *,class mwArray,class mwArray,class mwArray,class mwArray,class mwArray,class mwArray,class mwArra
y,class mwArray,class mwArray)" (?linprog@@YA?AVmwArray@@PAV1@000V1@11111111@Z)
Debug/mwArrayIO.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Creating browse info file...

mwArrayIO.exe - 2 error(s), 0 warning(s)


不知道为什么出错?上述输出linprog参数不知有没有问题?
急盼您或其他高手指点。
回复 不支持

使用道具 举报

发表于 2007-11-4 11:25:52 | 显示全部楼层 来自 浙江台州
改正 “上述输出linprog参数不知有没有问题?” 为 “上述输入linprog参数不知有没有问题?” 
回复 不支持

使用道具 举报

发表于 2007-11-12 14:54:16 | 显示全部楼层 来自 黑龙江哈尔滨
SCIE:
你好!我把你的MATLAB图形嵌入方法应用到了VB中,成功了!非常感谢!

不过有两个小问题。

一个就是在figure函数中必须将visible属性设置为On才能嵌入,如果设置为Off,则用Findwindow就找不到指定了那个名称的窗口,返回值一直为0;我想问为什么VC中的Findwindow能查找隐藏窗口,而VB中就不能呢。(figure函数中的属性设置除visible外,与你的代码中设置是一样的。)

另一个问题是,如果象你的代码所写的那样,在调用figure函数后,紧接着调用Findwindow查找窗口,则返回0,也就是说Findwindow是在figure函数创建窗体之前被调用了,这样不能成功。而我把Findwindow放入到一个Timer控件中不断的调用,才实现的这个功能。不知道这是不是VB和VC语言的不同所造成的。

恳请答复,谢谢!
回复 不支持

使用道具 举报

发表于 2007-11-18 18:00:57 | 显示全部楼层 来自 陕西西安
matlab也能做界面,太强了啊,以前用过一段vb,看来强的在于人而不再于软件啊:L
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-28 23:28 , Processed in 0.056653 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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