当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 精通VC与Matlab联合编程(六)
| 精通VC与Matlab联合编程(六) 下载源代码 * ex1.c * * Copyright (c) 1995-1999 by The Mathworks, Inc. All Rights Reserved. */ /* $Revision: 1.6 $ */ #include <stdio.h>#include <stdlib.h> /* used for EXIT_SUCCESS */#include <string.h>#include "matlab.h"/*matlab.h为C数学函数库的头文件static double real_data[] = { 1, 2, 3, 4, 5, 6 };static double cplx_data[] = { 7, 8, 9, 10, 11, 12 };int main(){ /* 声明两个mxArray矩阵变量并赋初值为NULL */ mxArray *mat0 = NULL; mxArray *mat1 = NULL; /* 使用自动内存管理*/ mlfEnterNewContext(0, 0); /* 创建矩阵mat0,mat1并赋值 */ mlfAssign(&mat0, mlfDoubleMatrix(2, 3, real_data, NULL));/*该矩阵为2*3矩阵 mlfAssign(&mat1, mlfDoubleMatrix(3, 2, real_data, cplx_data));/*该矩阵为2*3矩阵,并为复数矩阵 /* 打印矩阵 */ mlfPrintMatrix(mat0); mlfPrintMatrix(mat1); /* 释放矩阵所占的内存*/ mxDestroyArray(mat0); mxDestroyArray(mat1); /* 禁用自动内存管理*/ mlfRestorePreviousContext(0, 0); return(EXIT_SUCCESS);}三、如果有图像,请在图像文件中表明图像索引编号,如“myappimg1.gif”,“myappimg2.gif”等,在图像显示的下方注明图像描述:![]() 图一 程序运行结果 下面在VC中实现该程序的功能,步骤如下: 1、在VC中打开ex1.c文件(该文件在该目录下:matlab根目录\extern\examples\cmath) 2、设置头文件和库文件路径:工具->选择,目录 在inlude选项中添加如下路径: D:\matlab\extern\include\cpp D:\matlab\extern\include 结果如图2: ![]() 图二 头文件路径设置 在Library选项中添加如下路径:如图三D:\matlab\extern\lib\win32\microsoft\msvc60D:\matlab\extern\libD:\matlab\bin ![]() 图三 库文件路径设置 3、添加库文件:工程->设置->Link在General选项中的“对象库/模块”中将目录D:\matlab\extern\lib\win32\microsoft\msvc60目录下的所有库文件名写上:如图四 ![]() 图四 库文件添加 所有设置完成后就可以运行了。Matlab内建函数库包括Matlab C数学函数中最基本的数学函数,任何使用C数学函数库编写的应用程序必须使用Matlab内建函数。Matlab M文件函数库包含了从M文件转换来的函数,这些函数相比内建函数其内容更加丰富,并且包含了大量特殊功能函数在Matlab C函数库中,Matlab阵列被声明为mxArray的结构体,该结构体的定义在目录Matlab\extern\include\matrix.h文件中,很好的理解mxArray结构体有助于使用Matlab C数学库。 Matlab C内建数学库常用的函数有:通用功能函数;运算符和特殊矩阵;基本的矩阵操作函数初等数学函数线形代数函数数据分析和傅立叶转换函数字符串函数文件输入输出函数常用数据类型函数Matlab M文件函数库运算和特殊功能功能函数基本的矩阵 |