⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex2.c

📁 c++ 调用matlab的程序 c 调用matlab的程序例子
💻 C
字号:
/* * ex2.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"static double real_data1[] = { 1, 2, 3, 4, 5, 6 };static double real_data2[] = { 6, 5, 4, 3, 2, 1 };mxArray *Automated_Mem_Example(mxArray **z_out, mxArray *x_in,                    mxArray *y_in){    mxArray *result_local = NULL;    mxArray *q_local = NULL;    mlfEnterNewContext(1, 2, z_out, x_in, y_in);    /* In MATLAB: result = sqrt(sin(x) + cos(x)) */    mlfAssign(&result_local,              mlfSqrt(mlfPlus(mlfSin(x_in), mlfCos(x_in))));    /* In MATLAB: q = sqrt(cos(y) - sin(y)) */    mlfAssign(&q_local,              mlfSqrt(mlfMinus(mlfCos(y_in), mlfSin(y_in))));    /* In MATLAB: z = q * result - q^3 */    mlfAssign(z_out,              mlfMinus(mlfTimes(q_local, result_local),                  mlfPower(q_local, mlfScalar(3))));    mxDestroyArray(q_local);    mlfRestorePreviousContext(1, 2, z_out, x_in, y_in);    return mlfReturnValue(result_local);}int main(){    mxArray *mat0 = NULL;    mxArray *output_array = NULL;    mxArray *result_array = NULL;    mlfEnterNewContext(0, 0);    mlfAssign(&mat0, mlfDoubleMatrix(2, 3, real_data1, NULL));    mlfAssign(&result_array,              Automated_Mem_Example(&output_array,                         mat0,                         mlfDoubleMatrix(2, 3, real_data2, NULL)));    /* Print the matrices. */    mlfPrintf("mat0:\n");    mlfPrintMatrix(mat0);    mlfPrintf("output_array:\n");    mlfPrintMatrix(output_array);    mlfPrintf("result_array:\n");    mlfPrintMatrix(result_array);    mxDestroyArray(mat0);    mxDestroyArray(result_array);    mxDestroyArray(output_array);    mlfRestorePreviousContext(0, 0);    return(EXIT_SUCCESS);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -