?? matplot.cpp
字號:
#include <stdio.h>
#include "matplot.h"
#include "system.h"
#include "engine.h"
#include <memory.h>
void matDraw( double uArray[], double yArray[],double ydArray[] )
{
Engine* ep;
mxArray* u;//輸入信號
mxArray* y;//系統輸出
mxArray* yd;//參考輸出
//打開引擎
if( !( ep= engOpen(NULL) ) )
printf("cannot open the engine!");
//構建各矩陣值
u = mxCreateDoubleMatrix(1, OPS, mxREAL);
memcpy( (void*) mxGetPr( u ), (void*) uArray, OPS*sizeof(double) );
engPutVariable( ep, "u", u );
y = mxCreateDoubleMatrix(1, OPS, mxREAL);
memcpy( (void*) mxGetPr( y ), (void*) yArray, OPS*sizeof(double) );
engPutVariable( ep, "y", y );
yd = mxCreateDoubleMatrix(1, OPS, mxREAL);
memcpy( (void*) mxGetPr( yd ), (void*)ydArray, OPS*sizeof(double) );
engPutVariable( ep, "yd", yd );
//畫圖
engEvalString(ep,"t= [0:1:59];");
engEvalString(ep,"plot(t,u);");
engEvalString(ep,"title('RBF網絡輸出');");
engEvalString(ep,"xlabel('t');");
engEvalString(ep,"ylabel('u');");
engEvalString(ep,"figure;");
engEvalString(ep,"t= [0:1:59];");
engEvalString(ep,"plot(t, y,'r+:', t, yd,'r*-');");
engEvalString(ep,"title('參考系統輸出及控制系統輸出');");
engEvalString(ep,"xlabel('t');");
engEvalString(ep,"ylabel('yd y');");
engEvalString(ep,"legend('+ 控制輸出','* 參考輸出');");
getchar();
//關閉引擎
engClose( ep );
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -