求助:如何在vc++.net下调用 matlab 来实现两个矩阵相乘
但在vc++.net下不行,错误显示为:"未处理的“System.TypeLoadException”类型的异常出现在 未知模块 中。其他信息: 未能从程序集 mmm, Version=1.0.2322.37277, Culture=neutral, PublicKeyToken=null 中加载类型 engine。"
我的代码如下:
一.设置
1) 通过菜单工具/选项,打开设置属性页,进入Directories页面,在目录下拉列表框中选择Include files,添加路径:"C:\matlab\extern\include"(假定matlab安装在C:\matlab目录)。
2) 选择Library files,添加路径:C:\matlab\extern\lib\win32\microsoft\msvc60。
3) 通过菜单工程/设置,打开工程设置属性页,进入Link页面,在Object/library modules编辑框中,添加文件名libmx.lib libmat.lib libeng.lib。
二.源代码
#include <iostream>
#include <math.h>
#include "engine.h"
using namespace std;
void main(){
//**************************矩阵赋值***************
const int M = 3;
const int K = 4;
const int N = 3;
double a[M][K] = { {1,0,2,1}, {2,1,1,1}, {0,1,2,0} };
double b[K][N] = { {0,2,1}, {1,3,3}, {1,2,0}, {1,1,1} };
//*************************************
Engine *ep = engOpen(NULL);
if( !ep ){
cout<<"不能打开matlab引擎"<<endl;
exit(1);
}
mxArray *aa = mxCreateDoubleMatrix(K, M, mxREAL);
mxArray *bb = mxCreateDoubleMatrix(N, K, mxREAL);
mxArray *cc = mxCreateDoubleMatrix(N, M, mxREAL);
memcpy(mxGetPr(aa), a, M*K*sizeof(double));
memcpy(mxGetPr(bb), b, K*N*sizeof(double));
memcpy(mxGetPr(cc), c, M*N*sizeof(double));
engPutVariable(ep, "aa", aa);
engPutVariable(ep, "bb", bb);
engPutVariable(ep, "cc", cc);
engEvalString(ep, "cc = bb*aa;");
cc = engGetVariable(ep, "cc");
memcpy(c, mxGetPr(cc), M*N*sizeof(double));
mxDestroyArray(aa);
mxDestroyArray(bb);
mxDestroyArray(cc);
engClose(ep);
for(i=0; i<M; i++){ //
for(j=0; j<N; j++){ //
cout<<c[i][j]<<" "; //
}
}
}
相关推荐
redis可视化工具:RedisDesktopManager
RedisDesktopManager是redis可视化工具,解压即用,无需安装,里面有简单说明文件。
【Redis管理工具】RedisDesktopManager可视化管理工具的功能介绍与应用:提升开发运维效率
内容概要:本文介绍了 RedisDesktopManager(RDM),一款跨平台的 Redis 可视化管理工具。RDM 通过直观的图形界面简化了 Redis 的管理和操作,适用于开发人员和运维人员。文章详细讲解了 RDM 的安装配置、基本操作(如数据库导航、键值对操作、命令执行)、高级应用(如数据导入导出、集群管理、监控与分析),以及常见问题的解决方法。RDM 提供了连接管理、数据操作、可视化展示、命令执行、数据导入导出、配置管理等功能,极大提升了 Redis 的管理效率。; 适合人群:具备一定 Redis 使用基础的开发人员和运维人员,尤其是那些希望通过图形界面简化 Redis 操作的人群。; 使用场景及目标:①开发人员在调试阶段快速查看和修改 Redis 数据;②运维人员在生产环境中对 Redis 进行监控和管理;③在数据迁移、备份和恢复场景中使用数据导入导出功能;④对 Redis 集群进行管理和监控;⑤通过监控与分析功能实时了解 Redis 服务器的性能状况。; 其他说明:RDM 作为一款功能强大的 Redis 可视化管理工具,未来有望增加更多自动化管理功能和对 Redis 新特性的支持,进一步优化用户体验,满足全球不同地区用户的需求。
RedisDesktopManager.zip
redis的可视化工具,可以连接远程redis数据库。无需其它安装程序,windows版本都适用。操作简便,查看数据明了
RedisDesktopManager0.8.8
RedisDesktopManager0.8.8 支持redis链接可视化小工具
RedisDesktopManager 0.9.9
RedisDesktopManager,windows版本Redis的可视化管理工具,0.9.9版本。


