
Crear bucle de carga de datos
Publicado por ALBERTO (5 intervenciones) el 10/11/2016 18:39:15
Buenas tardes,
Estoy usando en complemento de Matlab Matpower. Este complemento no calcula opfs a lo largo del tiempo, por lo que necesito crear un algoritmo que introduzca una columna de datos de una matriz len una matriz (la del programa Matpower), ejecute el comando de cálculo, guarde los resultados, borre los datos cargados en la matriz, cargue los nuevos datos, vuelva a calcular, y guarde los resultados en la misma matriz que se guardaron los resultados previamente y así sucesivamente.
Más en detalle. La función para cargar los datos es la siguiente:
En el comand window se debe poner lo siguiente
LO QUE BUSCO ES QUE EN LA MATRIZ PRIMERA mpc.bus LA TERCERA COLUMNA SEA SUSTITUIDA POR LOS LA SEGUNDA COLUMNA DE LA MATRIZ n (debajo), CALCULE DE NUEVO, Y ALMACENE DE NUEVO LOS RESULTADOS EN UNA NUEVA COLUMNA DE LA MATRIZ DE RESULTASOS Mult_Lagrange, PARA DESPUÉS CARGAR LA TERCERA COLUMNA DE n, Y REPETIR DE NUEVO EL PROCESO.
n = [300 200 300;0 0 0;200 210 220;20 10 20;0 0 2;30 30 30;20 10 10;31 0 31;200 210 190]
No paro de darle vueltas a este tema.
Gracias anticipadas
Estoy usando en complemento de Matlab Matpower. Este complemento no calcula opfs a lo largo del tiempo, por lo que necesito crear un algoritmo que introduzca una columna de datos de una matriz len una matriz (la del programa Matpower), ejecute el comando de cálculo, guarde los resultados, borre los datos cargados en la matriz, cargue los nuevos datos, vuelva a calcular, y guarde los resultados en la misma matriz que se guardaron los resultados previamente y así sucesivamente.
Más en detalle. La función para cargar los datos es la siguiente:
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
function mpc= casomasgrandebucle1
mpc.version = '2';
mpc.baseMVA = 100;
mpc.bus = [
1 3 300 0 0 0 1 0 0 220 1 1.2 0.7
2 2 0 0 0 0 1 0 0 220 1 1.2 0.7
3 2 200 0 0 0 1 0 0 220 1 1.2 0.7
4 2 20 0 0 0 1 0 0 220 1 1.2 0.7
5 2 0 0 0 0 1 0 0 220 1 1.2 0.7
6 2 30 0 0 0 1 0 0 220 1 1.2 0.7
7 1 20 0 0 0 1 0 0 220 1 1.2 0.7
8 1 31 0 0 0 1 0 0 220 1 1.2 0.7
9 1 200 0 0 0 1 0 0 220 1 1.2 0.7
];
mpc.gen = [
1 10 0 200 -200 1 100 1 9.9 2 0 0 0 0 0 0 0 0 0 0 0
2 13 0 200 -200 1 100 1 12.87 2.6 0 0 0 0 0 0 0 0 0 0 0
3 350 0 200 -200 1 100 1 346.5 70 0 0 0 0 0 0 0 0 0 0 0
4 350 0 200 -200 1 100 1 346.5 70 0 0 0 0 0 0 0 0 0 0 0
5 250 0 200 -200 1 100 1 247.5 50 0 0 0 0 0 0 0 0 0 0 0
6 250 0 200 -200 1 100 1 247.5 50 0 0 0 0 0 0 0 0 0 0 0
7 700 0 200 -200 1 100 1 693 5 0 0 0 0 0 0 0 0 0 0 0
];
mpc.branch = [
1 2 0 0.086 0 150 150 150 0 0 1 -360 360
1 3 0 0.081 0 150 150 150 0 0 1 -360 360
1 5 0 0.083 0 150 150 150 0 0 1 -360 360
2 3 0 0.066 0 150 150 150 0 0 1 -360 360
2 4 0 0.083 0 150 150 150 0 0 1 -360 360
3 7 0 0.076 0 150 150 150 0 0 1 -360 360
3 4 0 0.066 0 150 150 150 0 0 1 -360 360
4 5 0 0.083 0 150 150 150 0 0 1 -360 360
4 6 0 0.076 0 150 150 150 0 0 1 -360 360
4 8 0 0.066 0 150 150 150 0 0 1 -360 360
6 9 0 0.083 0 150 150 150 0 0 1 -360 360
7 9 0 0.076 0 150 150 150 0 0 1 -360 360
8 3 0 0.066 0 150 150 150 0 0 1 -360 360
];
mpc.gencost = [
1 0 0 2 0 0 15 9.9
1 0 0 2 0 0 12 12.87
1 0 0 2 0 0 40 346.5
1 0 0 2 0 0 40 346.5
1 0 0 2 0 0 32 24.75
1 0 0 2 0 0 32 29.7
1 0 0 2 0 0 61 693
];
En el comand window se debe poner lo siguiente
1
2
3
4
5
6
mpc=loadcase(casomasgrandebucle1); %carga la base de datos de la función
n = [300 200 300;0 0 0;200 210 220;20 10 20;0 0 2;30 30 30;20 10 10;31 0 31;200 210 190]
rundcopf(casomasgrandebucle1) ; % resuelve el opf.
define_constants;
resultado=rundcopf('casomasgrandebucle1');
Mult_Lagrange=resultado.bus(:,LAM_P)
LO QUE BUSCO ES QUE EN LA MATRIZ PRIMERA mpc.bus LA TERCERA COLUMNA SEA SUSTITUIDA POR LOS LA SEGUNDA COLUMNA DE LA MATRIZ n (debajo), CALCULE DE NUEVO, Y ALMACENE DE NUEVO LOS RESULTADOS EN UNA NUEVA COLUMNA DE LA MATRIZ DE RESULTASOS Mult_Lagrange, PARA DESPUÉS CARGAR LA TERCERA COLUMNA DE n, Y REPETIR DE NUEVO EL PROCESO.
n = [300 200 300;0 0 0;200 210 220;20 10 20;0 0 2;30 30 30;20 10 10;31 0 31;200 210 190]
No paro de darle vueltas a este tema.
Gracias anticipadas
- FIcheros.zip(696,0 B)
Valora esta pregunta


0