VC调用MATLAB的CC数学函数库.ppt

上传人:小飞机 文档编号:6522796 上传时间:2023-11-08 格式:PPT 页数:17 大小:331.47KB
返回 下载 相关 举报
VC调用MATLAB的CC数学函数库.ppt_第1页
第1页 / 共17页
VC调用MATLAB的CC数学函数库.ppt_第2页
第2页 / 共17页
VC调用MATLAB的CC数学函数库.ppt_第3页
第3页 / 共17页
VC调用MATLAB的CC数学函数库.ppt_第4页
第4页 / 共17页
VC调用MATLAB的CC数学函数库.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《VC调用MATLAB的CC数学函数库.ppt》由会员分享,可在线阅读,更多相关《VC调用MATLAB的CC数学函数库.ppt(17页珍藏版)》请在三一办公上搜索。

1、第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+数学库,需要按

2、照以下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+】

3、选项卡的【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及MA

4、TLAB C数学库类似,首先应该选择一个适用于某类数据的MATLAB阵列类型。MATLAB C+数学库使用mwArray类,封装了MATLAB阵列的数据及其基本操作函数。MATLAB C+数学库支持使用类或对象mwArray,来作为与MATLAB所有阵列类型的接口,下面将详细介绍矩阵mwArray阵列的调用及系统函数的调用。,5.3.1 操作矩阵,工程中经常遇到几百甚至上千阶的矩阵,而这些矩阵往往是通过C+语言生成的,且是由二维数组来存储。由于MATLAB C+数学库重载了C+的标准输入cin和输出函数cout,因而可以用cin和cout直接从标准输入/输出设备中输入和输出MATLAB阵列。下

5、面是通过一个实例讲解利用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#ifdef GCC/预编译#ifndef EXIT_SUCCESS/C语言头文件库中定义的一个符号常量#define EXIT_SUCCESS 0#endif#endifstat

6、ic double data=1,2,3,4,5,6;/创建静态数组int main(void)/创建矩阵 mwArray mat0(2,3,data);mwArray mat1(3,2,data);/矩阵输出 cout mat1;cout mat1 endl;return(EXIT_SUCCESS);程序的运行结果如图5.6所示。图5.6 程序结果显示,5.3.2 操作MATLAB mwArray阵列概述,所有的MATLAB C+数学库函数的输入都是mwArray类型的MATLAB阵列,因而熟悉MATLAB mwArray阵列的操作是使用MATLAB C+数学库的基础。mwArray支持以下

7、阵列类型(或类),5.3.3 创建MATLAB mwArray阵列的操作,创建MATLAB mwArray阵列对象有两种方式,一种是通过mwArray类的构造函数创建MATLAB mwArray阵列;另一种是其他函数如rand等的返回直接创建MATLAB mwArray阵列。,5.3.4 数据阵列的操作,类mwArray包含许多有用的构造函数,用户可以用它们来创建阵列。当用语句mwArrayA创建一个新阵列时,将会调用默认构造函数来创建一个末初始化的阵列。注意:不要使用末初始化的阵列作为参数在MATLAB C+数学函数中传递,阵列使用前必须被赋值。,5.3.5 稀疏矩阵阵列的操作,1.创建稀疏

8、矩阵阵列2.稀疏矩阵的操作,5.3.6 字符型阵列的操作,在MATLAB及MATLAB C+数学库中,一维字符阵列与普通C/C+语言的字符串相对应,二维字符阵列与普通的C/C+语言的字符串数组相对应。对于MATLAB二维字符阵列而言,每行(即字符串数组中的每个字符串)的长度必须一致。因此,MATLAB二维字符阵列每行的长度必须是最长字符串的长度。,5.3.7 单元阵列的操作,采用MATLAB单元阵列可以将不同类型的MATLAB阵列组织到一起,MATLAB C+数学库中同样提供了对MATLAB单元阵列的操作。其中常用的函数如表5.5所示。,5.3.8 结构体阵列的操作,MATLAB结构体阵列的主要操作函数如表5.6所示。在ATLAB C+数学库中,共提供了3种构造结构体阵列对象的方法,5.3.9 调用系统函数,单输入/输出的函数调用是最简单的系统函数调用方法,此时调用MATLABC+数学库的函数与普通C/C+函数的调用方法相同。,5.4 应用实例,本节将讲解如何使用VC+调用MATLAB的C/C+数学函数库的应用实例。该例子主要介绍输入参数不同情况下如何进行处理,包括输入参数个数确定,输入参数个数不定及多输出参数等情况。当输出参数大于一个时,需要将第二个输出参数的引用作为输入参数传递给调用函数。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号