WEB开发网
开发学院软件开发VC 精通VC与Matlab联合编程(六) 阅读

精通VC与Matlab联合编程(六)

 2006-07-20 22:57:30 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 Matlab C\C++函数库是Matlab扩展功能重要的组成部分,包含了大量的用C\C++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数、特殊数学函数、多项式函数、插值函数等,用户可以在自己的C\C++程序中调用这些函数,实现复杂的矩阵

本文示例源代码或素材下载

Matlab C\C++函数库是Matlab扩展功能重要的组成部分,包含了大量的用C\C++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数、特殊数学函数、多项式函数、插值函数等,用户可以在自己的C\C++程序中调用这些函数,实现复杂的矩阵计算功能,从而减少程序设计工作量,需要说明的是C函数库和C++函数库是两个不同的函数库。

在使用前需要进行安装:

在Matlab命令窗口中输入:

mbuild -setup

按照提示选择VC的编译器,完成后在Matlab命令窗口中输入:

mex -setup

同样选择VC的编译器,就完成编译器的安装和配置。

首先介绍下C函数库,C数学函数库所需要的库函数在该目录下:Matlab根目录:\extern\lib

下面来看matlab自带的一个使用C函数库的例子(所有使用c函数例子在:matlab根目录\extern\examples\cmath): * 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”等,在图像显示的下方注明图像描述:

1 2  下一页

Tags:精通 VC Matlab

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接