CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

MatCom与VC集成的问题(Matlab6.5+MatCom4.5)

楼主subtop(南来北往)2005-04-04 18:56:20 在 VC/MFC / 基础类 提问

环境:  
  MatLab6.5,MatCom4.5,VC6.0+sp2,操作系统WinXP+SP2  
  目标:利用matlab求解线性方程组,最终可执行程序脱离matlab环境。由于线性方程组系数矩阵A的病态程度非常严重,不能采用一般的方法求解,故采用matlab提供的预处理共轭梯度法(Preconditioned   Conjugate   Gradients   method,matlab函数为pcg()),一般最小余项法(Generalized   Minimum   Residual   method,matlab函数为gmres())等方法求解。  
   
  测试程序为win-console程序。  
   
  在matlab中建立.m文件,名为:lee_gmres.m,内容如下:  
   
  function   X   =   lee_gmres(A,b);  
  %set(0,'RecursionLimit',1000);  
  X   =   gmres(A,b);  
   
  在matcom   add-in   中选择“add   m-files   to   current   project   in   release   mode",生成相应的.h和.cpp,编译。。。,出现两个错误:  
  iterchk.cpp(39)   :   error   C2661:   'fcnchk'   :   no   overloaded   function   takes   4   parameters  
  iterchk.cpp(53)   :   error   C2065:   'func2str'   :   undeclared   identifier  
  经过观察,好像这两个函数无关紧要,只为调试和显示出错信息,于是屏蔽掉他们,编译通过,运行。。。,弹出对话框,提示如下错误:  
  error:   user   supplied   function==>乱码   called   from   路径\工程名\iterapp.cpp  
                                                                            called   from   路径\工程名\gmres.cpp  
   
  我是第一次用matcom,对matlab也不是很熟悉,到这里真的不知道该怎么办了,查了帮助和向导,不知其所以然,我想,如果可以直接在vc里用gmres()函数就可以了,可是不行,那又为什么能用别的matlab函数呢?  
  只有向在这方面有研究的高手求救了!  
  谢谢路过和发表自己看法的朋友们! 问题点数:200、回复次数:9Top

1 楼subtop(南来北往)回复于 2005-04-04 18:57:33 得分 0

vc6.0+sp6Top

2 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-04 19:38:45 得分 50

是不是函数对应的文件没有包含进去Top

3 楼subtop(南来北往)回复于 2005-04-04 19:49:47 得分 0

按matlab的说明,可以把.m文件所调用的函数全部转化为c++啊,再说了,如果是没有包含文件的话,那应该包含什么文件呢?我对这方面是一窍不通,所以,麻烦您说的详细一点,谢谢!Top

4 楼subtop(南来北往)回复于 2005-04-05 10:42:37 得分 0

看了一下"reference   guide"里的linear   algebra   functions(线性代数函数),没有pcg,gmres等函数,可能matcom不能编译包含对上述函数调用的.m文件。也算是自己解决了吧。  
  希望其他朋友谈谈看法!Top

5 楼subtop(南来北往)回复于 2005-04-05 10:44:04 得分 0

看来只有自己写函数了:(Top

6 楼subtop(南来北往)回复于 2005-05-13 10:14:14 得分 0

怎么结帖啊,还请斑竹大人指点!Top

7 楼Rafier(小昌)回复于 2005-07-01 23:19:11 得分 50

还要加入必要的dll及lib  
  可以参考:http://www.vckbase.com/document/viewdoc/?id=1465Top

8 楼adashm(猫)回复于 2005-07-01 23:41:56 得分 50

不需要用matcom,纯matlab的m文件可以直接转化为*.cpp和*.h文件,然后在vc环境下编译为可执行程序就行了,但要保证没有画图函数,工具箱函数可以转化但在编译为独立可执行文件时有点麻烦,Top

9 楼adashm(猫)回复于 2005-07-01 23:44:48 得分 50

找本matlab接口的书看一下,照着一步步做就可以了,推荐MATLAB扩展编程   何强,   何英编著Top

相关问题

  • VC集成开发环境的问题
  • vc和matlab
  • 为什么不能打开VC集成环境???
  • 哪位能把VC和MSDN2002集成在一起?
  • VC与MATLAB接口?
  • VC++集成环境下如何设置程序的命令行输入参数?
  • 怎么设计一个跟VC的集成开发环境一样的界面?
  • 怎样实现如vc集成开发环境的控件窗口
  • vc++6.0 symbian集成问题!会的指点新人学会走路!
  • VC++的集成环境较好,那在vc下建一个C++程序怎么做?(包含.h和.cpp)

关键词

  • matlab
  • 函数
  • cpp
  • matcom
  • gmres
  • 求解
  • 程序
  • error
  • function

得分解答快速导航

  • 帖主:subtop
  • oyljerry
  • Rafier
  • adashm
  • adashm

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo