stateestimation-self-deriva.../run.m

31 lines
939 B
Matlab

addpath('.\Powerflow')
[~, ~, ~, ~,Volt,Vangle,Y,Yangle,r,c,newwordParameter]=pf('ieee4.dat', '0');
%% 量测量
% 电压 节点电流 支路电流 节点功率 支路功率
%%
%% 状态量
% 电压 相角
%%
%% 开始生成量测量
sigma=0.05;% 标准差
%% 电压
%电压幅值
rVolt=Volt; %幅值
mVolt=rVolt.*(normrnd(0,sigma,length(Volt),1)+1);%电压量测量
%% 电流
%注入电流
cmpY=Y.*exp(1j*sparse(r,c,Yangle,length(Y),length(Y)));%复数导纳矩阵
cmpV=Volt.*exp(1j*Vangle); %复数电压
cmpI=cmpY*cmpV;% 注入电流
rI=abs(cmpI); %注入电流量测量要的是电流幅值
mI=rI.*(normrnd(0,sigma,length(rI),1)+1);%电流量测量
%% 支路电流
% 支路电流
lineI=newwordParameter.line.lineI;
lineJ=newwordParameter.line.lineJ;
lineR=newwordParameter.line.lineR;
lineX=newwordParameter.line.lineX;
lineB2=newwordParameter.line;
cmpBranchI=(cmpV(lineI)-cmpV(lineJ))./(lineR+1j*lineX);%复数支路电流
rBranchI=abs(cmpBranchI);% 支路电流幅值
mBranchI=rBranchI.*(normrnd(0,sigma,length(rBranchI),1)+1);%支路电流量测量