www.pudn.com > matlabsimulink.rar > c7e2.m, change:2010-05-24,size:1323b


%--- 两点乘积算法的MATLAB辅助分析文件 ----- 
clc; 
clear; 
% 测量到的电压和电流量 
N=12; 
t1=(0:0.02/N:0.02); 
m=size(t1); 
% 电压 
Va=100*sin(2*pi*50*t1); 
% 电流 
Ia=50*sin(2*pi*50*t1-pi/6); 
% 利用两点乘积算法计算 
%电压 
for jj=4:m(2) 
    U(jj)=sqrt((Va(jj)*Va(jj)+Va(jj-3)*Va(jj-3))/2); 
end 
%电流 
for jj=4:m(2) 
    I(jj)=sqrt((Ia(jj)*Ia(jj)+Ia(jj-3)*Ia(jj-3))/2); 
end 
%电阻、电抗,相角差 
for jj=4:m(2) 
    R(jj)=((Va(jj)*Ia(jj)+Va(jj-3)*Ia(jj-3))/(Ia(jj)*Ia(jj)+Ia(jj-3)*Ia(jj-3))); 
    X(jj)=((Va(jj-3)*Ia(jj)-Va(jj)*Ia(jj-3))/(Ia(jj)*Ia(jj)+Ia(jj-3)*Ia(jj-3))); 
    O(jj)=180/pi*atan((Va(jj-3)*Ia(jj)-Va(jj)*Ia(jj-3))/(Va(jj)*Ia(jj)+Va(jj-3)*Ia(jj-3))); 
end 
% 输出波形 
subplot(231); 
plot(t1,Va,'-ro',t1,Ia,'--bo');  % 测量到的电压和电流量 
subplot(232); 
plot(t1,U,'-bo');                     % 计算得到的电压有效值 
ylabel('V'); 
subplot(233); 
plot(t1,I,'-bo');                     % 计算得到的电流有效值 
ylabel('I'); 
subplot(234); 
plot(t1,R,'-bo');                     % 计算得到的电阻值 
ylabel('R'); 
subplot(235); 
plot(t1,X,'-bo');                     % 计算得到的电抗值 
ylabel('X');  
subplot(236); 
plot(t1,O,'-bo');                     % 计算得到的相位差 
ylabel('angle'); 
 
%叠加直流分量和4,8次谐波分量 
Va1=35+100*sin(2*pi*50*t1)+30*sin(4*pi*100*t1)+10*sin(8*pi*100*t1); 
 
grid on