- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 VC++调用MATLAB的C/C++数学函数库 MATLAB C/C++数学函数库包含大约400个常用的MATLAB数学函数,通过与VC++混合编程,可以充分利用MATLAB矩阵运算的数学函数库,提高程序开发效率。本章将介绍在VC++环境下调用MATLAB C++数学函数库,对函数库中的矩阵进行调用和操作的方法,并给出应用实例。 5.1 MATLAB C++数学库概述 数学库中的数学函数不仅包括MATLAB内建数学函数,还包括许多由M文件编写的数学函数,其调用方式和使用MATLAB函数一样方便。 5.2 VC++环境下调用MATLAB C++数学库 若要在VC++工程中调用MATLAB C++数学库,需要按照以下3个步骤修改VC++工程创建时的默认设置: (1)设置静态链接库; (2)设置VC++选项卡; (3)在VC++程序中加入MATLAB.hpp头文件。 利用MATLAB引擎调用MATLAB命令时,同样要进行这三个步骤的设置。 5.2.1 设置静态链接库 对于使用MATLAB C++数学库的VC++开发人员来说,在VC++工程中可以直接设置需要加入的静态链接库,如图5.1所示。其中链接库文件sg1.lib和libmwsglm.lib只有在用到MATLAB C++图形库时才需要在VC++工程设置中加入。 5.2.2 设置C++选项卡中的选项 单击VC++菜单【project】|【settings】子菜单,在【C/C++】选项卡的【Category】的下拉列表框中选择Code Generation,在【Use run-time library】下拉列表框中选择Multithreaded DLL 5.2.3 设置头文件 在VC++的集成开发环境,由AppWizard应用程序向导新建的应用程序,在工程中包含类的cpp文件开头加入MATLAB.hpp头文件。如果不用MATLAB C++图形库,则只需要包含头文件MATLAB.hpp;如果要用的MATLAB C++图形库,则需要包含头文件MATLAB.hpp和libmwsglm.hpp。 5.3 mwArray阵列及系统函数的调用 MATLAB C++数学库与MATLAB及MATLAB C数学库类似,首先应该选择一个适用于某类数据的MATLAB阵列类型。MATLAB C++数学库使用mwArray类,封装了MATLAB阵列的数据及其基本操作函数。MATLAB C++数学库支持使用类或对象mwArray,来作为与MATLAB所有阵列类型的接口,下面将详细介绍矩阵mwArray阵列的调用及系统函数的调用。 5.3.1 操作矩阵 工程中经常遇到几百甚至上千阶的矩阵,而这些矩阵往往是通过C++语言生成的,且是由二维数组来存储。由于MATLAB C++数学库重载了C++的标准输入cin和输出函数cout,因而可以用cin和cout直接从标准输入/输出设备中输入和输出MATLAB阵列。 下面是通过一个实例讲解利用C++标准输入/输出函数输入和输出MATLAB矩阵。 (1)启动VC++,新建一个win32工程,工程名为ex1。 (2)调用MATLAB VC++数学库。按照5.2节中的描述,在VC++环境中设置静态链接库、设置C++选项卡中的选项和设置头文件。 (3)修改ex1.cpp文件的代码如下: /* * * * * * * * * * * * * * * * * * ex1.cpp* * * * * * ** * * * * * * * * * * */ #include stdafx.h #include MATLAB.hpp // 添加头文件 #include stdlib.h #ifdef GCC //预编译 #ifndef EXIT_SUCCESS //C语言头文件库中定义的一个符号常量 #define EXIT_SUCCESS 0 #endif #endif static double data[] = { 1, 2, 3, 4, 5, 6 }; // 创建静态数组 int main(void) { // 创建矩阵 mwArray mat0(2, 3, data); mwArray mat1(3, 2, data); // 矩阵输出 cout mat0 endl; cout mat1 endl; // 输入矩阵并将输入的矩阵输出 cout Please enter a matrix: endl; cin mat1; cout mat1 endl; return(EXIT_S
您可能关注的文档
- 5.模拟集成电路.ppt
- 美国当代科技.ppt
- 163市场营销.ppt
- 统计过程控制程序.doc
- 乐在工作163.ppt
- 数字集成电路简介.ppt
- 7 发酵过程控制.ppt
- 集成运放的基础知识.ppt
- 模拟电子线路 第6章 集成电路运算放大器.ppt
- 第八章 集成运放1+差动放大器.ppt
- 2025-2026学年初中物理八年级下册(2024)苏科版(2024)教学设计合集.docx
- 2025-2026学年初中信息技术青岛版2024第四册-青岛版2024教学设计合集.docx
- 2025-2026学年初中艺术·美术桂美版2024七年级下册-桂美版2024教学设计合集.docx
- 2025-2026学年初中语文七年级下册统编版(五四学制)(2024)教学设计合集.docx
- 2025-2026学年初中英语仁爱科普版九年级下册-仁爱科普版2012教学设计合集.docx
- 2025-2026学年高中生物学必修1 分子与细胞人教版(2019)教学设计合集.docx
- 2025-2026学年高中化学苏教版2019必修第一册-苏教版2019教学设计合集.docx
- 2025-2026学年高中生物浙科版必修1分子与细胞-浙科版教学设计合集.docx
- 2025-2026学年高中数学湘教版2019选择性必修第二册-湘教版2019教学设计合集.docx
- 2025-2026学年高中生物学必修一北师大版教学设计合集.docx
文档评论(0)