精通VC与Matlab联合编程(六),精通VC与Matlab联合编程(六)
【 tulaoshi.com - C语言心得技巧 】
精通VC与Matlab联合编程(六)
作者:邓科
下载源代码
浅析VC与MATLAB联合编程<一
浅析VC与MATLAB联合编程<二
浅析VC与MATLAB联合编程<三
浅析VC与MATLAB联合编程<四
浅析VC与MATLAB联合编程<五
Matlab CC++函数库是Matlab扩展功能重要的组成部分,包含了大量的用CC++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数、特殊数学函数、多项式函数、插值函数等,用户可以在自己的CC++程序中调用这些函数,实现复杂的矩阵计算功能,从而减少程序设计工作量,需要说明的是C函数库和C++函数库是两个不同的函数库。
在使用前需要进行安装:
在Matlab命令窗口中输入:
mbuild -setup
按照提示选择VC的编译器,完成后在Matlab命令窗口中输入:
mex -setup
同样选择VC的编译器,就完成编译器的安装和配置。
首先介绍下C函数库,C数学函数库所需要的库函数在该目录下:Matlab根目录:externlib
下面来看matlab自带的一个使用C函数库的例子(所有使用c函数例子在:matlab根目录externexamplescmath):
* 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”等,在图像显示的下方注明图像描述:
Matlab C内建数学库常用的函数有:通用功能函数;运算符和特殊矩阵;基本的矩阵操作函数初等数学函数线形代数函数数据分析和傅立叶转换函数字符串函数文件输入输出函数常用数据类型函数Matlab M文件函数库运算和特殊功能功能函数基本的矩
来源:http://www.tulaoshi.com/n/20160129/1486125.html
看过《精通VC与Matlab联合编程(六)》的人还看了以下文章 更多>>