📄 standex.cpp
字号:
// StandEx.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#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(int argc, char* argv[])
{
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)));
////////输出结果值
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(0);
// return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -