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

📄 rvarray.c

📁 这是一个MATLAB与C直接如何进行相互转换的技术资料
💻 C
字号:

#include "mex.h"

int revarray(double*, int) ;
/*
 * timestwo.c - example found in API guide
 *
 * Computational function that takes a scalar and doubles it.
 *
 * This is a MEX-file for MATLAB.
 * Copyright (c) 1984-2000 The MathWorks, Inc.
 */

/* $ Revision: 1.8 $ */

void mexFunction( int nlhs, mxArray *plhs[],
                  int nrhs, const mxArray *prhs[] )
{
  double *input,*status;
  int    size,ncols;

  /* Check for proper number of arguments. */
  if(nrhs != 1) {
    mexErrMsgTxt("One input required.");
  } else if(nlhs > 1) {
    mexErrMsgTxt("Too many output arguments");
  }

  /* The input must be a noncomplex scalar double.*/
  size = mxGetM(prhs[0]);
  ncols = mxGetN(prhs[0]);
 
  /* Create matrix for the return argument. */
  plhs[0] = mxCreateDoubleMatrix(1,1, mxREAL);

  /* Assign pointers to each input and output. */
  input = mxGetPr(prhs[0]);
  status = mxGetPr(plhs[0]);
  if(reverse(input, size) )
	  *status = 1 ;
  else 
	  *status = 0 ;
  
}

int reverse(double * input, int size)
{
	int initptr, endptr;
	initptr = 0; endptr = size-1 ;
	while((endptr-initptr)>= 1)
	{
		input[initptr] = input[initptr] + input[endptr] ;
		input[endptr] = input[initptr] -  input[endptr] ;
		input[initptr] = input[initptr] - input[endptr] ;
		initptr++ ;
		endptr-- ;
	}
	return 1 ;
}

⌨️ 快捷键说明

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