3,882
社区成员




#include <iostream>
#include <math.h>
#include <mex.h>
#include <engine.h>
#include <matrix.h>
#include <vector>
#pragma comment(lib, "libmx.lib")
#pragma comment (lib, "libmat.lib")
#pragma comment(lib,"libeng.lib")
#pragma comment(lib,"libmex.lib")
using namespace std;
int main()
{
Engine* eng;
if (!(eng=engOpen(NULL)))
{
cout<<endl<<"Error"<<endl;
exit(1);
}
int num=2;
mxArray* p_result_matlab=mxCreateDoubleMatrix(1*num,1,mxREAL);
double *pc;
/*engEvalString(eng,"fs=@(x)([2*x(1)-x(2)-exp(-x(1));x(1)+2*x(2)-exp(-x(2))]);");
engEvalString(eng,"x0=[1;1];");
engEvalString(eng,"x=fsolve(fs,x0)");*/
engEvalString(eng,"fs=@(x)(x.^2-2*x.+1);");
engEvalString(eng,"x=solve(fs)");
p_result_matlab=engGetVariable(eng,"x");
pc=mxGetPr(p_result_matlab);
for (int i=0;i<1*num;i++)
{
cout<<pc[i]<<endl;
}
mxDestroyArray(p_result_matlab);
engClose(eng);
return 0;
}