www.gusucode.com > MATLAB2008应用程序接口编程技术源码程序 > MATLAB2008应用程序接口编程技术源码程序/code/第8章/8.7/exam2.cpp
/* 头文件包含 */ #include "mex.h" #include <stdlib.h> #include "MATLAB.hpp" #include <string.h> static double data0[3][3] = {{2,6,4},{1,3,4},{3,5,6}}; static double data1[3] = {5,3,7}; double data2[3]; void main() { int i,j; /* 使用mxArray构造函数由数组data1来初始化阵列b*/ mxArray b(3,1,data1); /* 定义二维阵列A */ mxArray(3,3); /* 使用循环语句对阵列A赋值 */ for(i=0;i<3;i++) { for(j=0;j<3;j++) { A(i+1,j+1) = data0[i][j]; } } /* 调用数学函数来求解线性方程 */ mxArray x = mldivide(A,b); /* GetData为类mxArray的成员函数,用于获取mxArray类型的真列数据 */ double *real_data = mxGetPr(x.GetData()); /* 将解得的阵列复制给C++语言的数组,并输出 */ for(i=0;i<3;i++) { data2[i] = *(real_data+i); cout<<data2[i]<<"\n"; } return; }