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

📄 exm12032_2.c

📁 这是学习matlab的好的程序
💻 C
字号:
#include <stdlib.h>			//
#include <stdio.h>			//
#include <string.h>
#include "engine.h"			//
#define  BUFSIZE 512
int main()
{
  Engine *ep;
  mxArray *Pz = NULL, *result = NULL;
  char buffer[BUFSIZE];
  double zeta[4] = {0.2, 0.4, 0.8, 1.2 };		//
	if (!(ep = engOpen("\0")))	//<12>
	{
		fprintf(stderr, "\nCan't start MATLAB engine\n");
		return EXIT_FAILURE;
	}
//----------------------------------------------------------------------------------------------------------------
//程序段1:
//----------------------------------------------------------------------------------------------------------------
	Pz = mxCreateDoubleMatrix(1, 4, mxREAL);	//
	mxSetClassName(Pz, "z");								//
	memcpy((void *)mxGetPr(Pz), (void *)zeta, sizeof(zeta));
												//
	engPutVariable(ep,"z",Pz);	//
	engEvalString(ep, "engzzy(z);");														//<25>
							//
	printf("按Enter键继续!\n\n");	//
	fgetc(stdin);		//
	printf("程序段1运行已经结束。下面处于程序段2运行过程中!\n");
	mxDestroyArray(Pz);						//
	engEvalString(ep, "close;");				//
//----------------------------------------------------------------------------------------------------------------
//程序段2:	
//			
//			
//----------------------------------------------------------------------------------------------------------------
	engOutputBuffer(ep, buffer, BUFSIZE);
								//
								//
	while (result == NULL) {
		char str[BUFSIZE];
		printf("注意:\n");
		printf("· 此界面上,可输入任何MATLAB指令。\n");
		printf("· 若想退出,请对Exit变量赋任何数值。\n");
		printf(">> ");
		fgets(str, BUFSIZE-1, stdin);		//
		engEvalString(ep, str);				//
		printf(" %s", buffer);				//
		if ((result = engGetVariable(ep,"Exit")) == NULL)
												//
			printf("可继续运行!\n");
	}
	printf("运行结束!\n");
	mxDestroyArray(result);
	engClose(ep);
	return EXIT_SUCCESS;
}

⌨️ 快捷键说明

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