📄 exm12033_1.cpp
字号:
#include "engine.h"
#include "mat.h"
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
#include <iomanip.h>
void main()
{
double * b,a[9]={1,4,7,2,5,8,3,6,9};
const char *file="mymat.mat";
mxArray *Ain,*Aout,*SV;
Engine * ep;
MATFile *mat;
mat=matOpen(file,"w");
Ain = mxCreateDoubleMatrix(3,3,mxREAL);
mxSetClassName(Ain,"z");
memcpy((char *)mxGetPr(Ain),(char *)a,9*sizeof(double));
matPutVariable(mat,"z",Ain);
matClose(mat);
mxDestroyArray(Ain);
mat=matOpen(file,"r");
Aout =matGetVariable(mat,"z");
if(ep=engOpen(NULL))
{
engPutVariable(ep,"z",Aout);
engEvalString(ep,"sv=svd(z);");
SV=engGetVariable(ep,"sv");
b=mxGetPr(SV);
cout<<"奇异值为";
cout<<"\n";
for(int i=0;i<3;i++)
{
cout<<setw(16)<<b[i];
}
engClose(ep);
matClose(mat);
mxDestroyArray(Aout);
mxDestroyArray(SV);
}
else
cout<<"Can't open matlab";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -