- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                VC与Matlab混合编程总结
                    VC和Matlab混合编程总结       引言 对于计算机图形学的研究,有一些工具软件是我们需要了解和掌握的: Visual C++ Matlab ACIS …… 引言 Visual C++ 基本的编程实现平台(OpenGL) 编译语言,代码运行速度快 可脱离开发平台运行,易于工程中使用 代码编制复杂,不适合算法设计初期使用 缺少通用的常用数值运算功能(矩阵…) 引言 Matlab 解释语言,易于实现,适用于算法设计 具有常用的数值运算功能 代码运行速度慢 不能脱离Matlab开发平台运行 对比 在VC中实现二维矩阵的存储和输出:      矩阵相加,相乘,求逆,稀疏矩阵…… 对比 在Matlab中实现二维矩阵的相关操作      但是Matlab运行速度要比VC慢几百倍 VC和Matlab的混合编程 有多种方法可以进行VC和Matlab的混合编程: VC调用Matlab引擎 matlab程序编译为dll c++程序编译为mex VC调用Matlab c Math Library VC调用Matlab c++ Math Library COM …… 在VC中调用Matlab C++ Math Library实现二维矩阵的操作:       编程方便,有数值运算库;速度快 ? Step by Step… 下面考虑将C++的数组转换为Matlab C++ Math Library的mwArray结构 可以方便地利用mwArray结构,建立顶点相关边长权稀疏矩阵,进行三角网格数据的相关操作 我们还可以不安装Matlab的开发环境,就能使用它的数学库函数 首先看看具体开发工具的设置: 应用举例 求三角网格表面的近似测地线 切原始网格的边,迭代算法,数据结构复杂,直接用VC实现困难 计算量大,一万顶点网格的顶点邻接矩阵的规模为108,直接用Matlab实现算法速度太慢 * * 	double matrix[3][3] = {1,2,3,4,5,6,7,8,9}; 	for (int i=0;i3;i++) 	{ 		for (int j=0;j3;j++) 			coutmatrix[i][j] ; 		cout\n; 	} ? ? a = [1 2 3;4 5 6;7 8 9];      b = 2*a       c = a*b inv(a) sparse(a) 矩阵初始化赋初值      矩阵与标量的相乘       矩阵乘法 矩阵求逆 稀疏矩阵的实现 ? 能否结合VC和Matlab的优点? VC和Matlab混合编程! mwArray a,b,c; a = ones(10,10); b = randon(10,10); c = a*b; c=inv(c); c=sparse(c) 矩阵变量定义 矩阵初始化      矩阵初始化  矩阵乘法 矩阵求逆 稀疏矩阵的实现 I      Matlab C++ Math Library! 1 将Matlab\extern\include下所有的头文件打包为include.rar,解压缩到用户目录/test下 2 将mglinstaller.exe文件复制到用户目录/test下,并运行解压缩出动态库 3 在VC的Tools-Options中将上述的头文件和库文件目录加入到Directory下 4 新建工程,按照下面的图片依次设置 5 在程序中#include matlab.hpp  现在可以使用  Matlab C++ Math Library 了!!! int Faces[4][3] = {1,2,3,2,4,3,3,4,6,4,5,6}; double Vertexs[6][3]={0,0,0,1,1,0,1,-1,0,2,-0.2,                                         0,3,-0.8,0,2.8,1,0};  	// 将网格顶点数据附为mwArray类型变量 	mwArray mVertexes = zeros(6,3); 	for (i=1;i=6;i++) 		for (j=1;j=3;j++) 			mVertexes(i,j) = Vertexs[i-1][j-1];  	// 将网格顶点数据附为mwArray类型变量 	mwArray mFaces = zeros(4,3); 	for (i=1;i=4;i++) 		for (j=1;j=3;j++) 			mFaces(i,j) = Faces[i-1][j-1]; 	// 获得顶点相关边长权稀疏矩阵 	mwArray v2v = sparse(zeros(6,6)); 	for (i=1;i=4;i++) // 对面遍历 	{ 		mwArray v1 = mFace
                您可能关注的文档
- 2013届高三数学第一轮复习《等差数列及其前n项与》讲义.doc
- 2013届高考历史一轮复习仿真预测知能闯关 第12讲 古代中国的农业经济与手工业经济 人民版.doc
- 2012黔东南州中考数学模拟数学试卷(二)(含答案与答题卡).doc
- 2013年合肥新交规与解释.doc
- 2013年厦门市各区小学数学教师招考面试真题与部分重点.doc
- 2012国内外空气悬架现状与发展趋势.ppt
- 2013年高考物理 期末一模联考新题精选分类解析 专题23 振动与波.doc
- 2013年山西省直事业单位招聘考试真题与答案解析.pdf.pdf
- 2013考研暑期复习指导之新闻传播学与金融学(7月版).pdf
- 2013高考英语考点语法单选超级归纳:六、动词的时态与语态.doc
 原创力文档
原创力文档 
                        

文档评论(0)