本帖最后由 51黑dd 于 2016-4-6 20:08 编辑
完整ppt下载:
VCMatlab.zip
(738.39 KB, 下载次数: 8)
Matlab
解释语言,易于实现,适用于算法设计
具有常用的数值运算功能
代码运行速度慢
不能脱离Matlab开发平台运行
在VC中实现二维矩阵的存储和输出:
double matrix[3][3] = {1,2,3,4,5,6,7,8,9};
for (int i=0;i<3;i++)
{
for (int j=0;j<3;j++)
cout<<matrix[ i][j]<<" ";
cout<<'\n';
}
矩阵相加,相乘,求逆,稀疏矩阵……
在Matlab中实现二维矩阵的相关操作
a = [1 2 3;4 5 6;7 8 9];
b = 2*a
c = a*b
inv(a)
sparse(a)
矩阵初始化赋初值
矩阵与标量的相乘
矩阵乘法
矩阵求逆
稀疏矩阵的实现
有多种方法可以进行VC和Matlab的混合编程:
VC调用Matlab引擎
matlab程序编译为dll
c++程序编译为mex
VC调用Matlab c Math Library
VC调用Matlab c++ Math Library
COM
……
下面考虑将C++的数组转换为Matlab C++ Math Library的mwArray结构
可以方便地利用mwArray结构,建立顶点相关边长权稀疏矩阵,进行三角网格数据的相关操作
我们还可以不安装Matlab的开发环境,就能使用它的数学库函数
首先看看具体开发工具的设置:
1 将Matlab\extern\include下所有的头文件打包为include.rar,解压缩到用户目录/test下
2 将mglinstaller.exe文件复制到用户目录/test下,并运行解压缩出动态库
3 在VC的Tools-Options中将上述的头文件和库文件目录加入到Directory下
4 新建工程,按照下面的图片依次设置
但是Matlab运行速度要比VC慢几百倍
|