|
程序中使用MATLAB编译产生的DLL
http://www.3sbase.com/typenews.asp?id=694
MatLab R2010b VC2010编程
http://www.3sbase.com/typenews.asp?id=695
M文件内容,实现矩阵的简单运算!
function [y,z] = myadd2(a, b) % dummy function, just to demonstrate the idea y = a+b; z = a+2*b; end
一段小代码,敬请批评指正!vc2010调试通过!
// mattest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "test.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
/* Initialize the MCR */
if( !mclInitializeApplication(NULL,0) )
{
std::cout << "Could not initialize the application!" << std::endl;
return -1;
}
// initialize lib
if( !testInitialize())
{
std::cout << "Could not initialize libmyadd2!" << std::endl;
return -1;
}
mwArray a(2, 2, mxDOUBLE_CLASS);
double *aData;
aData = new double[4];
int i;
for( i=0; i<4; ++i)
{
aData[i] = 1.0*i;
}
// print output
std::cout << "a = " << std::endl;
std::cout << aData[0] << ",t" << aData[1] << std::endl;
std::cout << aData[2] << ",t" << aData[3] << std::endl;
a.SetData(aData, 4);
// declare and initialize b
mwArray b(2, 2, mxDOUBLE_CLASS);
/* b(1,1) = 11;
b(1,2) = 12;
b(2,1) = 21;
b(2,2) = 22;*/
double *bData;
bData = new double[4];
bData[0]=11;bData[1]=12;
bData[2]=21; bData[3]=22;
std::cout << "b = " << std::endl;
std::cout << bData[0] << ",t" << bData[1] << std::endl;
std::cout << bData[2] << ",t" << bData[3] << std::endl;
b.SetData(bData, 4);
mwArray y(2, 2, mxDOUBLE_CLASS);
mwArray z(2, 2, mxDOUBLE_CLASS);
double *yData, *zData;
yData = new double[4];
if( yData == NULL )
{
std::cout << "Failed to allocate memory for yData!" << std::endl;
return -1;
}
zData = new double[4];
myadd(2,y,z,a,b);
y.GetData(yData,4);
cout<<"result:"<<yData[1]<<endl;
// terminate the lib
testTerminate();
// terminate MCR
mclTerminateApplication();
return 0;
}
-------------------------------------------------------------------------------------
mclmcrrt.lib
mclmcr.lib
libmex.lib
libmx.lib
libeng.lib
test.lib
--------------------------------------------------------------------------------------
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 11:30
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社