-added 6.1.1 (diff function)

This commit is contained in:
Patrice Matz 2018-01-06 17:17:50 +01:00
parent 1ba2157d70
commit 48c98cf6d2
2 changed files with 46 additions and 0 deletions

41
Mex/a611.cpp Normal file
View File

@ -0,0 +1,41 @@
#include "mex.h"
#include "matrix.h"
#include "stdlib.h"
void mexFunction(int nlhs, mxArray *plhs[], // Output
int nrhs, const mxArray *prhs[]) // Input
{
int num_data_points = *mxGetPr(prhs[0]);
double* x = (double *)mxCalloc(num_data_points, sizeof(double));
double* y = (double *)mxCalloc(num_data_points, sizeof(double));
double* temp = (double *)mxCalloc(num_data_points, sizeof(double));
for(int j=0; j < num_data_points; j++)
{
x[j] = mxGetPr(prhs[1])[j];
y[j] = mxGetPr(prhs[2])[j];
}
//diff
for (int i=0; i < num_data_points; ++i)
{
temp[i] = y[i+1] - y[i];
}
// Output
nlhs = num_data_points;
for(int j=0; j < num_data_points; j++){
plhs[j]=mxCreateDoubleScalar(temp[j]);
}
return;
}

5
Mex/a611.m Normal file
View File

@ -0,0 +1,5 @@
% function accepts 1 double and 2 vectors of double
% a611(#num_of_points, vector_a, vector_b)
% number of datapoints in both vectors must be equal,
% or else the result will not be correct
%