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

📄 test.cpp

📁 C++调用matlab计算引擎
💻 CPP
字号:
#define PROCESS

#ifdef PROCESS
#include"file.h"
#endif
#include <stdlib.h>
#include<string>
#include "engine.h"
#include "mat.h"
#include <iostream>
using namespace std;

int main()
{

#ifdef TEST
	double vec1[10]={10,10,4,6,20,3,7,30,8,2};
	double vec2[10]={12,6,8,4,3,2,7,5,5,10};
	double vec3[10]={13,14,2,5,6,4,7,3,18,7};
#endif

#ifdef PROCESS
	double vec1[10];
	double vec2[10];
	double vec3[10];
	Filekeyword Ftest;
	Ftest.GetKeyword();
	Ftest.KeywordAnalysis();
	Ftest.vecTurn();
//	Ftest.displayVec();
	for (int i=0;i<10;i++)
	{
		vec1[i]=Ftest.getV1(i);
		vec2[i]=Ftest.getV2(i);
		vec3[i]=Ftest.getV3(i);
	}
#endif
    Engine *ep;
	mxArray *T1=NULL,*T2=NULL,*T3=NULL;
	if(!(ep=engOpen("\0")))
	{
		return EXIT_FAILURE;
	}

    engSetVisible(ep,0);

    T1 = mxCreateDoubleMatrix(1,10,mxREAL);
	T2 = mxCreateDoubleMatrix(1,10,mxREAL);
	T3 = mxCreateDoubleMatrix(1,10,mxREAL);

	memcpy((void *)mxGetPr(T1),(void *)vec1,10*sizeof(double));
	memcpy((void *)mxGetPr(T2),(void *)vec2,10*sizeof(double));
	memcpy((void *)mxGetPr(T3),(void *)vec3,10*sizeof(double));

	engPutVariable(ep,"T1",T1);
    engPutVariable(ep,"T2",T2);
	engPutVariable(ep,"T3",T3);

	engEvalString(ep,"stem3(T1,T2,T3,'d','fill')");
	engEvalString(ep,"title('文本的向量表示演示')");
	engEvalString(ep,"xlabel('关键词1坐标')");
	engEvalString(ep,"ylabel('关键词2坐标')");
	engEvalString(ep,"zlabel('关键词3坐标')");

    engEvalString(ep,"text(T1(1),T2(1),T3(1),'文章《1》','HorizontalAlignment','left')");
	//engEvalString(ep,"text(T1(1),T2(1),T3(1),'T1(1),T2(1),T3(1)','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(2),T2(2),T3(2),'文章《2》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(3),T2(3),T3(3),'文章《3》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(4),T2(4),T3(4),'文章《4》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(5),T2(5),T3(5),'文章《5》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(6),T2(6),T3(6),'文章《6》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(7),T2(7),T3(7),'文章《7》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(8),T2(8),T3(8),'文章《8》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(9),T2(9),T3(9),'文章《9》','HorizontalAlignment','left')");
	engEvalString(ep,"text(T1(10),T2(10),T3(10),'文章《10》','HorizontalAlignment','left')");

	//fgetc(stdin);
	engEvalString(ep,"saveas(gcf,'C:/savebmp.bmp')");//存储位置为:C:/
	engEvalString(ep,"quit;");

	//使用函数fgetc()来停留足够的时间以确保MATLAB能把图形画出来
	printf("Hit return to continue\n\n");
//	fgetc(stdin);

	//释放内存,关闭MATLAB计算引擎
	printf("Done for Part 1.\n");
	mxDestroyArray(T1);
    mxDestroyArray(T2);
	mxDestroyArray(T3);
	engEvalString(ep,"close;");
	engClose(ep);
	return EXIT_SUCCESS;
}




⌨️ 快捷键说明

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