精华内容
下载资源
问答
  • 通过VC调用MATLAB引擎实现有限元分析.pdf
  • 我自己在vc++里调用matlab引擎可以使用plot绘制两个数组中的数值对应坐标连线。但是将这两个数组中数值进行插值(spline)就绘不出了。请各位高手帮帮忙,帮着写一下这个简单程序。就几句话,憋好久了。Engine *ep;...

    我自己在vc++里调用matlab引擎可以使用plot绘制两个数组中的数值对应坐标连线。但是将这两个数组中数值进行插值(spline)就绘不出了。请各位高手帮帮忙,帮着写一下这个简单程序。就几句话,憋好久了。

    Engine *ep;

    MessageBox("请单击确定按钮,Windows正在准备启动MATLAB引擎!",

    "Matlab 引擎",MB_OK|MB_ICONINFORMATION);

    if(!(ep=engOpen(NULL)))

    {

    MessageBox("不能打开Matlab引擎,请检查是否安装Matalab及其路径设置正确与否!"

    ,"engine demo",MB_OK);

    exit(-1);

    }

    engSetVisible(ep,1);

    mxArray *xx=NULL;

    mxArray *yy=NULL;

    xx=mxCreateDoubleMatrix(1,num,mxREAL);

    yy=mxCreateDoubleMatrix(1,num,mxREAL);

    memcpy((void*)mxGetPr(xx),(void*)x,num*sizeof(double));

    memcpy((void*)mxGetPr(yy),(void*)y,num*sizeof(double));

    engPutVariable(ep,"xx",xx);

    engPutVariable(ep,"yy",yy);

    engEvalString(ep,"n=mxGetNumberOfElements(xx);");//10

    engEvalString(ep,"t=1:n;");

    engEvalString(ep,"ts=1:1/10:n;");

    engEvalString(ep,"xs=spline(t,xx,ts);");

    engEvalString(ep,"ys=spline(t,yy,ts);");

    engEvalString(ep,"hold on");

    engEvalString(ep,"plot(xs,ys,'r');");

    engEvalString(ep,"hold off");

    engEvalString(ep,"title('材料B-H曲线');");

    engEvalString(ep,"xlabel('H(A/m)');");

    engEvalString(ep,"ylabel('B(T)');");

    engEvalString(ep,"grid on;");

    mxDestroyArray(xx);

    mxDestroyArray(yy);

    //        engClose(ep);

    delete []x;delete []y;

    展开全文
  • vc调用matlab引擎打不开问题解决

    千次阅读 2012-07-30 09:23:28
    由于matlab引擎是以activecontrol控件方式运行,所以在运行前,控件要先注册,一般情况下,matlab安装时就进行了注册,但如果出现openEngine返回为NULL时,要重新运行matlab /regserver进行注册。 参考文章:1....

    由于matlab引擎是以activecontrol控件方式运行,所以在运行前,控件要先注册,一般情况下,matlab安装时就进行了注册,但如果出现openEngine返回为NULL时,要重新运行matlab /regserver进行注册。

    参考文章:1.http://wenku.baidu.com/view/642cdb97dd88d0d233d46ace.html

                        2.http://junjun0595.blog.163.com/blog/static/969561420102179391535/


    展开全文
  • (2)在C/C++程序中利用Matlabengine调用Matlab函数;(3)在C/C++程序中直接使用MatlabC/C++MathLibrary;(4)将.m文件编译成*.dll文件嵌入到VC++的程序中。基于实用性、易用性的考虑,本文主要讨...

    MATLAB与VisualC++结合的方法有多种,但其实用程度与范围不同。常用的方法有: (1)将Matlab程序编译成C/C++源文件并嵌入VC++;(2)在C/C++程序中利用Matlabengine调用Matlab函数;(3)在C/C++程序中直接使用MatlabC/C++MathLibrary;(4)将.m文件编译成*.dll文件嵌入到VC++的程序中。基于实用性、易用性的考虑,本文主要讨论第四种方法。另外随着Matlab版本的升级,原来的mathlibrary已经并入了Compiler之中,是否是mathworks比较推崇DLL的方式呢?本文通过一个简单的例子来说明Matlab和VC++混编的具体过程(环境为Matlab6.5&VC++6.0)。 1Matlab编译环境的设置 为了能够使用Matlab的Complier将*.m函数文件编译为动态链接库DLL,必须对Matlab的环境做出相应的配置。具体做法如下: 在Matlab的CommandWindow下输入命令mbuild–setup,并根据Matlab的提示选择合适的编译器,笔者使用的是MicrosoftVisualC++.过程如下 >>mbuild-setup PleasechooseyourcompilerforbuildingstandaloneMATLABapplications: Wouldyoulikembuildtolocateinstalledcompilers[y]/n? Selectacompiler: [1]LccCversion2.4inD:\MATLAB6P5\sys\lcc [2]MicrosoftVisualC/C++version7.0inC:\ProgramFiles\MicrosoftVisualStudio.NET [3]MicrosoftVisualC/C++version6.0inD:\MicrosoftVisualStudio [0]None Compiler:3 Pleaseverifyyourchoices: Compiler:MicrosoftVisualC/C++6.0 Location:D:\MicrosoftVisualStudio Arethesecorrect?([y]/n): 然后,在CommandWindow中输入命令cd(prefdir);mccsavepath;这是为了后面使用Matlab在VC++IDE中的Add-in作准备。然后输入命令mex–setup,以类似的方法配置编译器。至此,Matlab的配置完成。如有疑问,可以参阅Matlab的帮助MatlabCompiler\GettingStarted\Installationandconfiguration一节。 2创建动态链接库(*.DLL) 创建动态链接库主要有两种方法:一种是使用Matlab为VC++IDE提供的Add-in。这种方法比较简单,方便快捷,只要在VC++中创建工程的时候选择MatlabProjectWizard,并且在接下来的Step1中的VisualMatlabApplicationType选择SharedM-DLL就可以了。接下来就是添加*.m文件,进行编译了。另一种方法就是使用Matlab的mcc命令将*.m文件编译为动态链接库(*.DLL)。因为Add-in也是调用Compiler的命令mcc进行编译工作的,而且有时候这个Add-in还会出现不能使用的情况,因此这里主要讨论使用mcc命令的方法。 关于mcc有很多参数可以使用,而且有多种用法,具体的可以参见Matlab的帮助。 这里我们使用命令mcc–Bcsglsharedlib:youlibnamefunction1funcion2…来创建我们所需要的动态链接库DLL文件。其中参数-B表示使用的是BundleFiles作为参数csglsharedlib是-B的参数,意思是生成使用Matlab图形库的C共享动态链接库,youlibname是你想要生成的动态链接库DLL的文件名,注意csglsharedlib与youlibname之间有一个冒号“:”连接,function1为你想要加入到动态链接库DLL中的函数名,如果有多个函数,各个函数名用空格隔开。

    展开全文
  • VC8调用matlab引擎测试程序
  • vc 调用matlab计算引擎

    2012-07-23 21:12:42
    文中使用是vc6.0和matlab 7 .x 1.在vc中 工具——选项—目录 (***代表matlab安装目录) a.目录组合框中选择Include files,添加***\Matlab\extern\include b.然后选择Library Files,添加 ***\matlab\extern\...

    文中使用是vc6.0和matlab 7 .x

    1.在vc中

    工具——选项—目录

    ***代表matlab安装目录

    a.目录组合框中选择Include files,添加***\Matlab\extern\include

    b.然后选择Library Files,添加 ***\matlab\extern\lib\win32\microsoft

    2.新建Win32Aplication工程,命名,选择an empty project。

    3.为该工程添加。cpp文件。将***\Matlab\extern\examples\eng_mat\engwindemo.c复制到该工程目录下,然后添加至该工程。

    4,设置工程。工程——设置—— 连接选项卡中,  object/Librarymodules 里添加libmx.lib libmexlib libeng.lib.

    5。可以运行。


    展开全文
  • 按照一个例子做了个VC6.0调用MATLAB引擎,先在创建的win32 application项目中成功调用引擎,并且绘制出了结果曲线,但是同样的程序放到建立的MFC项目中,就不能实现调用MATLAB引擎绘制曲线,虽然是可以运行成功,...
  • 现在我需要在VC调用matlab引擎去计算.就是调用一个m文件计算,然后传递参数出来.现在有两个问题:1,怎么从matlab里传递参数给vc,我使用engGetArray,但是报错,说找不到这个函数,但是我包含了engine.h头文件...
  • VC调用matlab引擎

    2012-05-10 14:50:38
    1. 包含和库目录,还有附加依赖项都选好 ... // matlab engine 4. 加上openEng和closeEng  void open_matEng()  { if( !( ep = engOpen(NULL) ) ) { fprintf(stderr, "\nCan't start MATLAB engine\n")
  •  很多人可能都有这样的疑惑,在用引擎调用matlab程序的时候,循环语句不起作用,如:  engEvalString(ep, " for ii=1:m");  engEvalString(ep, " for jj=1:n");  engEvalString(ep, " H(ii,jj)=1;"); ...
  • VC调用MATLAB函数

    千次阅读 2010-08-20 20:42:00
    通过引擎(Engine)来实现VCMatlab的混合编程。
  • 这是MATLAB自带的例子,我在WindowsXP(SP2), MATLAB R2007b,VC6.0下实现。具体的步骤是:1). 设置系统环境变量path,path里面要包括MATLAB的exe,dll那个路径%MATLAB_PATH%\bin\win32只要MATLAB是正确安装,它应该会...
  • VC调用MATLAB.

    2007-12-29 19:12:00
    Matlab引擎采用客户和服务器计算方式,在运用中,Vc的C语言或C++语言的程序作为前端客户机,它向Matlab引擎传递命令和数据信息,并从Matlab引擎接收数据信息,它提供了下列几个函数: engOpen, engGetArray, ...
  • vc6新建win32application,调用matlab引擎库完成计算示例
  • 在VS2008,VS2010,VC6.0MFC中嵌入MATLAB的command window,调用MATLAB引擎我们在MFC运用的时候,有时候需要调用MATLAB的功能,实现画图,计算的一下功能,这里我们可直接将MATLAB的command window嵌入MFC界面,从而...
  • // test.cpp : 定义控制台应用程序的入口点。#include "stdafx.h" #include #include #include /****************************************/#include /********************************* 引擎
  • 最近因为项目需要,写了一个比较复杂的图像处理算法,是用matlab写的,我按照网上的教程已经可以在vc6.0写的项目中正常使用matlab引擎然后执行我写的图像处理算法 现在我需要将我的vc程序给客户用,但是客户的电脑...
  • C++调用MATLAB引擎

    千次阅读 2011-11-29 19:17:17
    这是MATLAB自带的例子,我在WindowsXP(SP2), MATLAB R2007b, VC6.0下实现。 具体的步骤是: 1). 设置系统环境变量path,path里面要包括MATLAB的exe, dll那个路径 %MATLAB_PATH%\bin\win32 只要MATLAB是正确...
  • opnet调用matlab引擎

    千次阅读 2017-01-03 18:40:46
    matlab2014b (win32) + opnet14.5 (32位)+ win10环境变量设置: include: G:\VS2010\VC\include C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include G:\opnet\opnetinstall\14.5.A\sys\include
  • 文章背景:由于C语言没有使用较为便利的图形库,使得在C语言中画图较不方便,本文使用C语言调用MATLAB引擎plot抛物线函数,希望能向大家介绍写MATLAB引擎在C语言中的用法, 方便大家在C语言中进行相关开发工作。...
  • VC中调用MATLAB的,总结有以下几种方法:1、是调用Matlab引擎;2、是调用Matlab中M函数转化成的dll文件;3、调用Matlab中M函数转化成c语言的函数。  本节之讲解方法1,因为方法1最简单,只要配置好VC的相关...
  • 使用MATLAB引擎方式实现VC与MATLAB混合编程的步骤如下: 1. 对于所有的使用MATLAB引擎方式实现VC与MATLAB混合编程的项目都得对VS2008当且仅进行一次如下设置:  a. 打开VS2008—>“工具”-->“选项”-->...
  • 文章背景:由于C语言没有使用较为便利的图形库,使得在C语言中画图较不方便,本文使用C语言调用MATLAB引擎plot抛物线函数,希望能向大家介绍写MATLAB引擎在C语言中的用法, 方便大家在C语言中进行相关开发工作。...
  • vs2005调用matlab引擎

    千次阅读 2011-04-11 11:32:00
    Matlab是一款将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,适合科学研究、工程设计等众多学科领域使用的一种简洁、高效的编程工具。不过由于Matlab使用的是解释性语言,...

空空如也

空空如也

1 2 3 4 5
收藏数 90
精华内容 36
关键字:

vc调用matlab引擎

matlab 订阅