?? plotpi.m
字號:
% ====================================
% 互偶水槽PID整定比較和響應指標計算
% ====================================
%
% 清屏,清理工作空間,命令窗口
clear all;
close all;
clc
% PI整定效果數據加載
wwa=load('responsePI5'); % 加載響應曲線法整定PID的數據responsePI5
wwb=load('SMCPI5'); % 加載SMC法整定PID的數據SMCPI5
wwc=load('boundPI5');
wwa(:,2)=wwa(:,5); % T2高度傳感器檢測數據放到wwa(:,2)
wwb(:,2)=wwb(:,5); % T2高度傳感器檢測數據放到wwa(:,2)
wwc(:,2)=wwc(:,5); % T2高度傳感器檢測數據放到wwa(:,2)
% 兩種PID響應曲線比較(數據未濾波)
figure;
plot(wwa(:,1),wwa(:,2),'r',wwa(:,1),wwa(:,3),'g',wwb(:,1),wwb(:,2),'k',wwb(:,1),wwb(:,3),'y',wwc(:,1),wwc(:,2),'m',wwc(:,1),wwc(:,3),'b')
grid;
legend('響應曲線法整定PI響應','響應曲線法整定輸入','SMC整定PI響應','SMC整定輸入','穩定邊界整定PI響應','穩定邊界整定輸入',4);
title('PI整定效果響應曲線(未濾波)')
xlabel ('Time(s)');
ylabel('Respones(V)')
% 移動平均濾波器M=25進行濾波處理
M = 25;
b = ones(M,1)/M;
%y1 = medfilt1(wwa(:,2),55); % Median filtering
%y2 = medfilt1(wwb(:,2),55); % Median filtering
[y1,delay] = filter(b,1,wwa(:,2)); % 響應曲線法濾波
[y2,delay] = filter(b,1,wwb(:,2)); % SMC濾波
[y3,delay] = filter(b,1,wwc(:,2)); % 穩定邊界法濾波
figure; % 數據響應曲線比較
plot(wwa(:,1),y1,'r',wwa(:,1),wwa(:,3),'g',wwb(:,1),y2,'k',wwb(:,1),wwb(:,3),'y',wwc(:,1),y3,'m',wwc(:,1),wwc(:,3),'b')
grid;
legend('響應曲線法整定PI響應','響應曲線法整定輸入','SMC整定PI響應','SMC整定輸入','穩定邊界整定PI響應','穩定邊界整定輸入',4);
xlabel ('Time(s)');
ylabel('Respones(V)')
title('移動平均濾波器(M=25)處理')
% --------------------------------
% 響應曲線法整定PID綜合指標
% --------------------------------
disp('***************************************************************************************')
disp(' 響應曲線法整定指標')
disp('***************************************************************************************')
for i6=1:length(wwa(:,1))-1
if wwa(i6,3)~=wwa(i6+1,3)
temp9=i6; % temp9為t0時所對應的數組下標
end
end
quanlity(y1,wwa,temp9);
% --------------------------------
% 響應曲線法整定PID綜合指標
% --------------------------------
disp('****************************************************************************************')
disp(' SMC法整定指標')
disp('****************************************************************************************')
for i6=1:length(wwb(:,1))-1
if wwb(i6,3)~=wwb(i6+1,3)
temp9=i6; % temp9為t0時所對應的數組下標
end
end
quanlity(y2,wwb,temp9);
% --------------------------------
% 穩定邊界法整定PID綜合指標
% --------------------------------
disp('****************************************************************************************')
disp(' 穩定邊界法整定指標')
disp('****************************************************************************************')
for i6=1:length(wwc(:,1))-1
if wwc(i6,3)~=wwc(i6+1,3)
temp9=i6; % temp9為t0時所對應的數組下標
end
end
quanlity(y3,wwc,temp9);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -