-
Notifications
You must be signed in to change notification settings - Fork 0
/
ler_dados.m
53 lines (45 loc) · 2.85 KB
/
ler_dados.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
% <ESTIMADOR DE ESTADOS MQP NÃO LINEAR - NON LINEAR WMS STATE ESTIMATION V1.0.
% This is the main source of this software that estimates the sates of a power network (complex voltages at nodes) described using an excel input data file >
% Copyright (C) <2017> <Sebastián de Jesús Manrique Machado> <e-mail:[email protected]>
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program. If not, see <http://www.gnu.org/licenses/>.
%ESTIMADOR DE ESTADOS NÃO LINEAR MQP
% Sebastián de Jesús Manrique Machado
% Estudante_Doutorado Em Engenharia Elétrica
% EESC/USP - 2017.
function [P_base, V_base, num_linhas, num_barras, num_medidas, num_pmedidas, Dados_linhas, Dados_medidas, Dados_pmedidas] = ler_dados(nome_sis)
%|| Ler dados ||
%================
Valrs_base = xlsread(nome_sis, 'Hoja1', 'B1:B4'); %Por enquanto não ingresar ao programa barras slack com cergas
P_base = Valrs_base(1);
V_base = Valrs_base(2);
num_linhas = uint8(Valrs_base(3)); %Convertir a valor inteiro sem signo
num_medidas = uint8(Valrs_base(4));
num_pmedidas= uint8(xlsread(nome_sis, 'Hoja1', 'E4:E4'));
flag_pu = xlsread(nome_sis, 'Hoja1', 'E1:E1');
clear Valrs_base;
Dados_linhas = xlsread(nome_sis, 'Hoja1', strcat( 'A8:E',num2str(num_linhas+7) ));
vetor_aux = unique([Dados_linhas(:,1) ; Dados_linhas(:,2)].'); % Coloca em ordem ascendente e sem repetir; Transpuesto
num_barras = length(vetor_aux); % Conhecer num de barras
%---------------------------------------------------------------------------------------------------------------------
Dados_medidas = xlsread(nome_sis, 'Hoja1', strcat( 'A',num2str(num_linhas+10),':E',num2str(num_linhas+10+num_medidas) ));
%|| Colocar Potências em p.u. ||
% if(~flag_pu)
% Dados_medidas(:, [3,4,5,6]) = (1/P_base)*Dados_medidas(:, [3,4,5,6]);
% end
%---------------------------------------------------------------------------------------------------------------------
Dados_pmedidas = xlsread(nome_sis, 'Hoja1', strcat( 'A',num2str(num_linhas+num_medidas+13),':E',num2str(num_linhas+num_medidas+13+num_pmedidas) ));
clear flag_pu;
%---------------------------------------------------------------------------------------------------------------------
end