?? exm12032_2.c
字號(hào):
#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鍵繼續(xù)!\n\n"); //
fgetc(stdin); //
printf("程序段1運(yùn)行已經(jīng)結(jié)束。下面處于程序段2運(yùn)行過程中!\n");
mxDestroyArray(Pz); //
engEvalString(ep, "close;"); //
//----------------------------------------------------------------------------------------------------------------
//程序段2:
//
//
//----------------------------------------------------------------------------------------------------------------
engOutputBuffer(ep, buffer, BUFSIZE);
//
//
while (result == NULL) {
char str[BUFSIZE];
printf("注意:\n");
printf("· 此界面上,可輸入任何MATLAB指令。\n");
printf("· 若想退出,請對Exit變量賦任何數(shù)值。\n");
printf(">> ");
fgets(str, BUFSIZE-1, stdin); //
engEvalString(ep, str); //
printf(" %s", buffer); //
if ((result = engGetVariable(ep,"Exit")) == NULL)
//
printf("可繼續(xù)運(yùn)行!\n");
}
printf("運(yùn)行結(jié)束!\n");
mxDestroyArray(result);
engClose(ep);
return EXIT_SUCCESS;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -