Matlab - Sistema de ecuaciones fsolve.

 
Vista:
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 15:40:46
Hola buenas tardes, tengo una pregunta sobre un programa en matlab que me esta dando un error.
quiero hallar un sistema de ecuaciones no lineales con 12 ecuaciones y 6 incognitas. el problema que tengo es que me da este error:


Solver stopped prematurely.

fsolve stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 1200 (the default value).

y estas son las soluciones que me da pero estan mal.
x =
1.0000 1.5115 10.4640 -0.0604 1.8599 -0.0664 1.0008 0.0000 2.3995 -0.0847 13.9261 0.0257

he subido el numero de MAXFunEvals a 100000 incluso pero no me da la solución correctamente.
la semilla que utilizo para los valores es esta:
z=[1 1 1 0 1 0 1 0 1 0 1 0];

Adjunto los archivos por si alguien me puede ayudar y ver el programa. lo hacemos en 2 scripts diferentes.

muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones fsolve.

Publicado por Royeth (1818 intervenciones) el 03/01/2017 16:39:14
si tienes 12 ecuaciones y 6 incógnitas los grados de libertad no son 0 , el solver se está deteniendo antes de la convergencia , si ya le colocaste un número alto de iteraciones y no encuentras un buen resultado , utiliza otro método de optimización o intenta colocar el resultado que obtienes en solve como la semilla vuelves a ejecutar solve obtienes otro resultado que lo ingresas en una semilla hasta que obtengas una cierta tolerancia , si dado el caso no converge entonces utiliza un método de optimización estocástico


saludos
https://www.facebook.com/royethmatlab/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 18:05:55
Vale muchas gracias. la putada es que no se como se hace el metodo de optimización estocástico. lo mirare a ver. la cosa es que si no me da el error de maxfunevals ni el de Maxiter el resultado obtenido me da solo ceros. y no se porque. muchas gracias por la respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 18:23:38
Las soluciones que tenemos de clase son:

3.15 1.47 0.9455 -0.0901 0.9112 -0.1517 0.8491 -0.223 0.9687 -0.959 0.9968 -0.019

lo que no entiendo es que haciendo un de 14 ecuaciones 7 incognitas de el resultado sin problemas.

gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones fsolve.

Publicado por Royeth (1818 intervenciones) el 03/01/2017 18:22:46
metodos de optimización estocásticoshay muchos, el mas común para problemas de optimización es usar algoritmos genéticos, estos te van a dar una respuesta muy óptima

debes forzar a que te dé error pero utiliza try catch dentro de un while para que tu programa no se detenga
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 18:25:34
Vale muchas gracias! lo intento buscar si tengo problemas volvere a escribir. mil gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones fsolve.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/01/2017 19:36:18
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
x =
 
   1.0e+05 *
 
    0.0000
    3.8593
    0.0000
   -0.0000
    0.0000
   -0.0000
   -0.0000
    0.0000
    0.0000
   -0.0000
    0.0000
   -0.0000
 
 
fval =
 
   1.0e-13 *
 
    0.0622
   -0.0813
    0.0600
   -0.0014
   -0.0167
   -0.0177
         0
    0.0075
    0.0244
   -0.0069
   -0.0150
    0.1417
 
 
exitflag =
 
     1

1
2
3
4
5
6
7
8
9
10
11
12
x( 1)=      3.0520520       f(      3.0520520)=      0.0000000
x( 2)= 385928.4422582       f( 385928.4422582)=     -0.0000000
x( 3)=      0.9652642       f(      0.9652642)=      0.0000000
x( 4)=     -0.0853378       f(     -0.0853378)=     -0.0000000
x( 5)=      0.9421600       f(      0.9421600)=      0.0000000
x( 6)=     -0.1421776       f(     -0.1421776)=     -0.0000000
x( 7)=     -0.2230826       f(     -0.2230826)=      0.0000000
x( 8)=      0.0650368       f(      0.0650368)=      0.0000000
x( 9)=      0.9686600       f(      0.9686600)=     -0.0000000
x(10)=     -0.0958531       f(     -0.0958531)=     -0.0000000
x(11)=      0.9967836       f(      0.9967836)=      0.0000000
x(12)=     -0.0190296       f(     -0.0190296)=      0.0000000





Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 19:52:12
No salen tampoco los resultados no?
he mirado un programa de algoritmos geneticos pero me da error tambien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones fsolve.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/01/2017 20:38:36
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
function flujopot_sol6n
clc
z=rand(12,1);
while 1
    clc
%Solución del sistema de ecuaciones de la función flujopot
options = optimoptions('fsolve','Display','iter'); % Option to display output
[x,fval,exitflag,output] =fsolve(@flujopot6n,z,options)
if exitflag==1
     resultado=funcion(x(1), x(2), x(3), x(4), x(5), x(6),x(7), x(8), x(9), x(10), x(11), x(12));
    for i=1:length(x)
    fprintf('x(%2d)=%11.7f\n',i, x(i))
    end
   for i=1:length(x)
    fprintf('%2d     f%2d(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))=%20.18f\n',i,i,resultado(i))
 
   end
   return;
end
 
 
%Ordenación de datos y soluciones
u1=1;%Debe aparecer aquí porque es distinta u1 que en la función flujopot
d1=0;%Idem
z1=x(1);
z2=x(2);
z3=x(3);
z4=x(4);
p2=-0.19;
q2=-0.075;
z5=x(5);
z6=x(6);
p3=-1.7;
q3=-0.59;
u4=0.95;
z8=x(7);
z7=x(8);
p4=-0.15;
z9=x(9);
z10=x(10);
p5=-0.98;
q5=-0.32;
z11=x(11);
z12=x(12);
p6=0;
q6=0;
%Expresión en complejos
U1=u1*cos(d1)+j*u1*sin(d1);
S1=z1+j*z2;
U2=z3*cos(z4)+j*z3*sin(z4);
S2=p2+j*q2;
U3=z5*cos(z6)+j*z5*sin(z6);
S3=p3+j*q3;
U4=u4*cos(z7)+j*u4*sin(z7);
S4=p4+j*z8;
U5=z9*cos(z10)+j*z9*sin(z10);
S5=p5+j*q5;
U6=z11*cos(z12)+j*z11*sin(z12);
S6=p6+j*q6;
%Cálculo del flujo de potencia en la línea 12
Z12=2.5216e-3+j*0.02171+j*0.01917;%en pu (dato del problema)
y12=1/Z12;%no es igual que el elemento 12 de la matriz Ybus
I12=y12*(U1-U2);%Corriente de 1 a 2
I21=y12*(U2-U1);
S12=U1*conj(I12);%flujo de potencia en la línea 12
S21=U2*conj(I21);
SL12=S12+S21;%pérdidas en la línea 12
%Cálculo del flujo de potencia en la línea 23
Z23=3.3393e-3+j*0.02875;%dato del problema
y23=1/Z23;
I23=y23*(U2-U3);%corriente de 2 a 3
I32=y23*(U3-U2);
S23=U2*conj(I23);%flujo de potencia en la línea 23
S32=U3*conj(I32);
SL23=S23+S32;%pérdidas en la línea 23
%Cálculo del flujo de potencia en la línea 34
Z34=0.1235+j*0.396+j*0.03233;
y34=1/Z34;
I34=y34*(U3-U4);%Corriente de 3 a 4
I43=y34*(U4-U3);
S34=U3*conj(I34);%flujo de potencia en la línea 34
S43=U4*conj(I43);
SL34=S34+S43;%pérdidas en la línea 34
%Cálculo del flujo de potencia en la línea 16 (transformador T1)
Z16=j*0.01917;
y16=1/Z16;
I16=y16*(U1-U6);
I61=y16*(U6-U1);
S16=U1*conj(I16);
S61=U6*conj(I61);
%Cálculo del flujo de potencia en la línea 56
Z56=8.9955e-3+j*0.07746;
y60=j*0.1267;
y56=1/Z56;
I56=y56*(U5-U6)+y60*U5;
I65=y56*(U6-U5)+y60*U6;
S56=U5*conj(I56);
S65=U6*conj(I65);
%Interpretación de los resultados de flujo
%Los flujos presentados son S12, S23 y S13
%Se define positivo en la dirección 12 (23 y 13)
%Es decir, si sale positivo en la parte real e imaginaria, el flujo de
%activa y reactiva va de 1 a 2 (o de 2 a 3; o de 1 a 3)
%Si sale positivo en la parte real y negativo en la parte imaginaria, el
%flujo de activa va de 1 a 2, pero el de reactiva de 2 a 1.
z=x;
end
 
end
 
function f=flujopot6n(z)
% if nargin<1
%     z=rand(1,12);
% end
%Datos
u1=1;%Módulo tensión nudo 1 (slack) en pu
d1=0;%Argumento tensión nudo 1 (slack)
PD2=0.19;%en pu
QD2=0.075;%en pu
PD3=1.7;%en pu
QD3=0.59;%en pu
PD4=0.15;
u4=0.95;
PD5=0.98;
QD5=0.32;
PD6=0;
QD6=0;
PG2=0;
QG2=0;
PG3=0;
QG3=0;
PG4=0;
QG4=0;
PG5=0;
QG5=0;
PG6=0;
QG6=0;
%Cálculo de las potencias inyectadas en cada nudo
p2=PG2-PD2;
q2=QG2-QD2;
p3=PG3-PD3;
q3=QG3-QD3;
p4=PG4-PD4;
p5=PG5-PD5;
q5=QG5-QD5;
p6=PG6-PD6;
q6=QG6-QD6;
%La construcción de la matriz de admitancias Ybus es manual en este ejemplo
Ybus=[1.5031-76*5079*j -1.5031+24.3695*j 0 0 0 52.1739*j;
    -1.5031+24.3695*j 5.480-58.6011*j -3.9849+34.3142*j 0 0 0;
    0 -3.9849+34.3142*j 4.6111-36.4277*j -0.6262+2.1635*j 0 0;
    0 0 -0.6262+2.1635*j 0.6262-2.1605*j 0 0;
    0 0 0 0 1.4792-12.6111*j -1.4792+12.7378*j;
    52.1739*j 0 0 0 -1.4792+j*12.7378 1.4792-64.7850*j];
 
%Matriz de módulos de Ybus
y=abs(Ybus);
%Matriz de argumentos de Ybus
g=angle(Ybus);
%Definición del vector solución
%Para el nudo 1 (slack) las incógnitas son z1 y z2
z1=z(1);
z2=z(2);
%Para el nudo 2 (PQ) las incógnitas son z3 y z4
z3=z(3);
z4=z(4);
%Para el nudo 3 (PQ) las incógnitas son z5 y z6
z5=z(5);
z6=z(6);
z7=z(7);
z8=z(8);
z9=z(9);
z10=z(10);
z11=z(11);
z12=z(12);
%Sistema de ecuaciones
%Como son 3 nudos, deben aparecer 6 ecuaciones
f=[u1*(u1*y(1,1)*cos(d1-d1-g(1,1))+z3*y(1,2)*cos(d1-z4-g(1,2))+z5*y(1,3)*cos(d1-z6-g(1,3))+u4*y(1,4)*cos(d1-z7-g(1,4))+z9*y(1,5)*cos(d1-z10-g(1,5))+z11*y(1,6)*cos(d1-z12-g(1,6)))-z1;
    z3*(u1*y(2,1)*cos(z4-d1-g(2,1))+z3*y(2,2)*cos(z4-z4-g(2,2))+z5*y(2,3)*cos(z4-z6-g(2,3))+u4*y(2,4)*cos(z4-z7-g(2,4))+z9*y(2,5)*cos(z4-z10-g(2,5))+z11*y(2,6)*cos(z4-z12-g(2,6)))-p2;
    z5*(u1*y(3,1)*cos(z6-d1-g(3,1))+z3*y(3,2)*cos(z6-z4-g(3,2))+z5*y(3,3)*cos(z6-z6-g(3,3))+u4*y(3,4)*cos(z6-z7-g(3,4))+z9*y(3,5)*cos(z6-z10-g(3,5))+z11*y(3,6)*cos(z6-z12-g(3,6)))-p3;
    u4*(u1*y(4,1)*cos(z7-d1-g(4,1))+z3*y(4,2)*cos(z7-z4-g(4,2))+z5*y(4,3)*cos(z7-z6-g(4,3))+u4*y(4,4)*cos(z7-z7-g(4,4))+z9*y(4,5)*cos(z7-z10-g(4,5))+z11*y(4,6)*cos(z7-z12-g(4,6)))-p4;
    z9*(u1*y(5,1)*cos(z10-d1-g(5,1))+z3*y(5,2)*cos(z10-z4-g(5,2))+z5*y(5,3)*cos(z10-z6-g(5,3))+u4*y(5,4)*cos(z10-z7-g(5,4))+z9*y(5,5)*cos(z10-z10-g(5,5))+z11*y(5,6)*cos(z10-z12-g(5,6)))-p5;
    z11*(u1*y(6,1)*cos(z12-d1-g(6,1))+z3*y(6,2)*cos(z12-z4-g(6,2))+z5*y(6,3)*cos(z12-z6-g(6,3))+u4*y(6,4)*cos(z12-z7-g(6,4))+z9*y(6,5)*cos(z12-z10-g(6,5))+z11*y(6,6)*cos(z12-z12-g(6,6)))-p6;
    u1*(u1*y(1,1)*sin(d1-d1-g(1,1))+z3*y(1,2)*sin(d1-z4-g(1,2))+z5*y(1,3)*sin(d1-z6-g(1,3))+u4*y(1,4)*sin(d1-z7-g(1,4))+z9*y(1,5)*sin(d1-z10-g(1,5))+z11*y(1,6)*sin(d1-z12-g(1,6)))-z2;
    z3*(u1*y(2,1)*sin(z4-d1-g(2,1))+z3*y(2,2)*sin(z4-z4-g(2,2))+z5*y(2,3)*sin(z4-z6-g(2,3))+u4*y(2,4)*sin(z4-z7-g(2,4))+z9*y(2,5)*sin(z4-z10-g(2,5))+z11*y(2,6)*sin(z4-z12-g(2,6)))-q2;
    z5*(u1*y(3,1)*sin(z6-d1-g(3,1))+z3*y(3,2)*sin(z6-z4-g(3,2))+z5*y(3,3)*sin(z6-z6-g(3,3))+u4*y(3,4)*sin(z6-z7-g(3,4))+z9*y(3,5)*sin(z6-z10-g(3,5))+z11*y(3,6)*sin(z6-z12-g(3,6)))-q3;
    u4*(u1*y(4,1)*sin(z7-d1-g(4,1))+z3*y(4,2)*sin(z7-z4-g(4,2))+z5*y(4,3)*sin(z7-z6-g(4,3))+u4*y(4,4)*sin(z7-z7-g(4,4))+z9*y(4,5)*sin(z7-z10-g(4,5))+z11*y(4,6)*sin(z7-z12-g(4,6)))-z8;
    z9*(u1*y(5,1)*sin(z10-d1-g(5,1))+z3*y(5,2)*sin(z10-z4-g(5,2))+z5*y(5,3)*sin(z10-z6-g(5,3))+u4*y(5,4)*sin(z10-z7-g(5,4))+z9*y(5,5)*sin(z10-z10-g(5,5))+z11*y(5,6)*sin(z10-z12-g(5,6)))-q5;
    z11*(u1*y(6,1)*sin(z12-d1-g(6,1))+z3*y(6,2)*sin(z12-z4-g(6,2))+z5*y(6,3)*sin(z12-z6-g(6,3))+u4*y(6,4)*sin(z12-z7-g(6,4))+z9*y(6,5)*sin(z12-z10-g(6,5))+z11*y(6,6)*sin(z12-z12-g(6,6)))-q6];
end
 
 
function f=funcion(z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12)
% if nargin<1
%     z=rand(1,12);
% end
%Datos
u1=1;%Módulo tensión nudo 1 (slack) en pu
d1=0;%Argumento tensión nudo 1 (slack)
PD2=0.19;%en pu
QD2=0.075;%en pu
PD3=1.7;%en pu
QD3=0.59;%en pu
PD4=0.15;
u4=0.95;
PD5=0.98;
QD5=0.32;
PD6=0;
QD6=0;
PG2=0;
QG2=0;
PG3=0;
QG3=0;
PG4=0;
QG4=0;
PG5=0;
QG5=0;
PG6=0;
QG6=0;
%Cálculo de las potencias inyectadas en cada nudo
p2=PG2-PD2;
q2=QG2-QD2;
p3=PG3-PD3;
q3=QG3-QD3;
p4=PG4-PD4;
p5=PG5-PD5;
q5=QG5-QD5;
p6=PG6-PD6;
q6=QG6-QD6;
%La construcción de la matriz de admitancias Ybus es manual en este ejemplo
Ybus=[1.5031-76*5079*j -1.5031+24.3695*j 0 0 0 52.1739*j;
    -1.5031+24.3695*j 5.480-58.6011*j -3.9849+34.3142*j 0 0 0;
    0 -3.9849+34.3142*j 4.6111-36.4277*j -0.6262+2.1635*j 0 0;
    0 0 -0.6262+2.1635*j 0.6262-2.1605*j 0 0;
    0 0 0 0 1.4792-12.6111*j -1.4792+12.7378*j;
    52.1739*j 0 0 0 -1.4792+j*12.7378 1.4792-64.7850*j];
 
%Matriz de módulos de Ybus
y=abs(Ybus);
%Matriz de argumentos de Ybus
g=angle(Ybus);
 
%Definición del vector solución
%Para el nudo 1 (slack) las incógnitas son z1 y z2
% z1=z(1);
% z2=z(2);
% %Para el nudo 2 (PQ) las incógnitas son z3 y z4
% z3=z(3);
% z4=z(4);
% %Para el nudo 3 (PQ) las incógnitas son z5 y z6
% z5=z(5);
% z6=z(6);
% z7=z(7);
% z8=z(8);
% z9=z(9);
% z10=z(10);
% z11=z(11);
%z12=z(12);
%Sistema de ecuaciones
%Como son 3 nudos, deben aparecer 6 ecuaciones
f=[u1*(u1*y(1,1)*cos(d1-d1-g(1,1))+z3*y(1,2)*cos(d1-z4-g(1,2))+z5*y(1,3)*cos(d1-z6-g(1,3))+u4*y(1,4)*cos(d1-z7-g(1,4))+z9*y(1,5)*cos(d1-z10-g(1,5))+z11*y(1,6)*cos(d1-z12-g(1,6)))-z1;
    z3*(u1*y(2,1)*cos(z4-d1-g(2,1))+z3*y(2,2)*cos(z4-z4-g(2,2))+z5*y(2,3)*cos(z4-z6-g(2,3))+u4*y(2,4)*cos(z4-z7-g(2,4))+z9*y(2,5)*cos(z4-z10-g(2,5))+z11*y(2,6)*cos(z4-z12-g(2,6)))-p2;
    z5*(u1*y(3,1)*cos(z6-d1-g(3,1))+z3*y(3,2)*cos(z6-z4-g(3,2))+z5*y(3,3)*cos(z6-z6-g(3,3))+u4*y(3,4)*cos(z6-z7-g(3,4))+z9*y(3,5)*cos(z6-z10-g(3,5))+z11*y(3,6)*cos(z6-z12-g(3,6)))-p3;
    u4*(u1*y(4,1)*cos(z7-d1-g(4,1))+z3*y(4,2)*cos(z7-z4-g(4,2))+z5*y(4,3)*cos(z7-z6-g(4,3))+u4*y(4,4)*cos(z7-z7-g(4,4))+z9*y(4,5)*cos(z7-z10-g(4,5))+z11*y(4,6)*cos(z7-z12-g(4,6)))-p4;
    z9*(u1*y(5,1)*cos(z10-d1-g(5,1))+z3*y(5,2)*cos(z10-z4-g(5,2))+z5*y(5,3)*cos(z10-z6-g(5,3))+u4*y(5,4)*cos(z10-z7-g(5,4))+z9*y(5,5)*cos(z10-z10-g(5,5))+z11*y(5,6)*cos(z10-z12-g(5,6)))-p5;
    z11*(u1*y(6,1)*cos(z12-d1-g(6,1))+z3*y(6,2)*cos(z12-z4-g(6,2))+z5*y(6,3)*cos(z12-z6-g(6,3))+u4*y(6,4)*cos(z12-z7-g(6,4))+z9*y(6,5)*cos(z12-z10-g(6,5))+z11*y(6,6)*cos(z12-z12-g(6,6)))-p6;
    u1*(u1*y(1,1)*sin(d1-d1-g(1,1))+z3*y(1,2)*sin(d1-z4-g(1,2))+z5*y(1,3)*sin(d1-z6-g(1,3))+u4*y(1,4)*sin(d1-z7-g(1,4))+z9*y(1,5)*sin(d1-z10-g(1,5))+z11*y(1,6)*sin(d1-z12-g(1,6)))-z2;
    z3*(u1*y(2,1)*sin(z4-d1-g(2,1))+z3*y(2,2)*sin(z4-z4-g(2,2))+z5*y(2,3)*sin(z4-z6-g(2,3))+u4*y(2,4)*sin(z4-z7-g(2,4))+z9*y(2,5)*sin(z4-z10-g(2,5))+z11*y(2,6)*sin(z4-z12-g(2,6)))-q2;
    z5*(u1*y(3,1)*sin(z6-d1-g(3,1))+z3*y(3,2)*sin(z6-z4-g(3,2))+z5*y(3,3)*sin(z6-z6-g(3,3))+u4*y(3,4)*sin(z6-z7-g(3,4))+z9*y(3,5)*sin(z6-z10-g(3,5))+z11*y(3,6)*sin(z6-z12-g(3,6)))-q3;
    u4*(u1*y(4,1)*sin(z7-d1-g(4,1))+z3*y(4,2)*sin(z7-z4-g(4,2))+z5*y(4,3)*sin(z7-z6-g(4,3))+u4*y(4,4)*sin(z7-z7-g(4,4))+z9*y(4,5)*sin(z7-z10-g(4,5))+z11*y(4,6)*sin(z7-z12-g(4,6)))-z8;
    z9*(u1*y(5,1)*sin(z10-d1-g(5,1))+z3*y(5,2)*sin(z10-z4-g(5,2))+z5*y(5,3)*sin(z10-z6-g(5,3))+u4*y(5,4)*sin(z10-z7-g(5,4))+z9*y(5,5)*sin(z10-z10-g(5,5))+z11*y(5,6)*sin(z10-z12-g(5,6)))-q5;
    z11*(u1*y(6,1)*sin(z12-d1-g(6,1))+z3*y(6,2)*sin(z12-z4-g(6,2))+z5*y(6,3)*sin(z12-z6-g(6,3))+u4*y(6,4)*sin(z12-z7-g(6,4))+z9*y(6,5)*sin(z12-z10-g(6,5))+z11*y(6,6)*sin(z12-z12-g(6,6)))-q6];
end


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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
>>flujopot_sol6n
 
 
x =
 
   1.0e+05 *
 
    0.0000
    3.8593
    0.0000
   -0.0000
    0.0000
   -0.0000
   -0.0000
    0.0000
    0.0000
   -0.0000
    0.0000
   -0.0000
 
 
fval =
 
   1.0e-13 *
 
    0.0178
    0.0361
   -0.0111
    0.0047
    0.0089
   -0.0443
         0
    0.0074
    0.0899
   -0.0037
   -0.0150
    0.2833
 
 
exitflag =
 
     1
 
 
output =
 
       iterations: 54
        funcCount: 715
        algorithm: 'trust-region-dogleg'
    firstorderopt: 1.8409e-12
          message: 'Equation solved.

fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the pro...'
 
x( 1)=  3.0520520
x( 2)=385928.4422582
x( 3)=  0.9652642
x( 4)= -0.0853378
x( 5)=  0.9421600
x( 6)= -0.1421776
x( 7)= -0.2230826
x( 8)=  0.0650368
x( 9)=  0.9686600
x(10)= -0.0958531
x(11)=  0.9967836
x(12)= -0.0190296
 1     f 1(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))=-0.000000000021680435
 2     f 2(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))=-0.000000000196996058
 3     f 3(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000222031726
 4     f 4(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000019713675
 5     f 5(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000003775
 6     f 6(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000003984
 7     f 7(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))=-0.000000001629814506
 8     f 8(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000083540092
 9     f 9(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000094977137
10     f10(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000003843398
11     f11(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000008493
12     f12(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000014165

If exitflag is 1, then the Function f converged to a solution x.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones fsolve.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/01/2017 20:58:08
observación: Solucion clase, no es una buena solución .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
c( 1)=  3.1500000
c( 2)=  1.4700000
c( 3)=  0.9455000
c( 4)= -0.0901000
c( 5)=  0.9112000
c( 6)= -0.1517000
c( 7)=  0.8491000
c( 8)= -0.2230000
c( 9)=  0.9687000
c(10)= -0.9590000
c(11)=  0.9968000
c(12)= -0.0190000
 1     f 1(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))=-0.001024884028623330
 2     f 2(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))=-0.006384064896418490
 3     f 3(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))=-1.587279671179233000
 4     f 4(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))= 1.999358273850665700
 5     f 5(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))=-8.407011442128707700
 6     f 6(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))= 9.571931412739116900
 7     f 7(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))=385927.456667719700000000
 8     f 8(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))=-0.075704021550272518
 9     f 9(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))= 0.985508110264303290
10     f10(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))= 0.705862500285634690
11     f11(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))= 6.053278466078606500
12     f12(c(1),c(2),c(3),c(4),c(5),c(6),c(7),c(8),c(9),c(10),c(11),c(12))= 3.965865288355018500



observacion: solucion con digo mejorado es una solución optima

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
x( 1)=  3.0520520
x( 2)=385928.4422582
x( 3)=  0.9652642
x( 4)= -0.0853378
x( 5)=  0.9421600
x( 6)= -0.1421776
x( 7)= -0.2230826
x( 8)=  0.0650368
x( 9)=  0.9686600
x(10)= -0.0958531
x(11)=  0.9967836
x(12)= -0.0190296
 1     f 1(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))=-0.000000000021680435
 2     f 2(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))=-0.000000000196996058
 3     f 3(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000222031726
 4     f 4(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000019713675
 5     f 5(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000003775
 6     f 6(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000003984
 7     f 7(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))=-0.000000001629814506
 8     f 8(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000083540092
 9     f 9(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000094977137
10     f10(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000003843398
11     f11(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000008493
12     f12(x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12))= 0.000000000000014165

problema resuelto

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 21:20:20
muchas gracias!!!! lo malo que los resultados no son los esperados. no se porque. se lo agradezco!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones fsolve.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/01/2017 21:29:16
justifique el enunciado :"lo malo que los resultados no son los esperados".
Espero su justificación.

Es evidente que con la solución que le dieron en clase la función no converge cero y se eso nota claramente en líneas arribas , en cambio con la solución que yo he hallado, claramente la función f converge a cero, si x es la solución de la función, entonces la función evaluada en el punto x, debe converger cero y eso hace el código.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones fsolve.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/01/2017 21:55:26
mire este ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>> syms x; f=inline(exp(x)-2)
 
f =
 
     Inline function:
     f(x) = exp(x)-2.0
 
>> f(0.6931)
 
ans =
 
  -9.4359e-05
 
 
>> f(0.6832)
 
ans =
 
   -0.0198


ambos son soluciones de la función f(x)=exp(x)-2, pero el detalle que la solución 0.6931 es la solución más óptima porque f(x) converge al valor de -9.4359e-05 más cercano a cero. comparado con la solución 0.6832 con la cual la función f(x) converge a -0.0198 que no es tan cercano a cero. Haciendo analogía, la solución 0.6931 es hallado por matlab y la solución 0.6832 es lo que le dieron en clase.

Por lo tanto revise las valores fijos que ha puesto en el código, quizás en esos valores debe de estar el error . En valores fijos ya no tengo incidencia, porque el ud a puesto esos valores.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 22:09:21
el valor primero y el segundo son las potencias. lo demas son tensiones con sus angulos.el primer valor que es 3.05 es aceptable, pero el segundo no. digo ya en el tema del ejercicio. que es un valor de potencia( hablo en electricidad).
tiene que ser un valor cercano a todas las sumas QD1,QD2..... hasta 6. no igual.
tendre que revisar otra vez el problema.

pero ante todo muchas gracias por la atención.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 03/01/2017 22:21:07
Vale!!! ya he visto el fallo!!!! lo único una última pregunta. en el sistema de ecuaciones pones z1 z2 z3.... a las incognitas que tu quieres, eso lo haces de forma manual? o hay alguna forma para hacerlo y que se cambie automático según lo que elijas?

mil gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sistema de ecuaciones fsolve.

Publicado por Iñigo (9 intervenciones) el 04/01/2017 05:11:22
Pero en el sistema de ecuaciones donde están las ecuaciones, las incógnitas las has sustituido por z1, z2, z3. Es decir si mi incognita es p1, le cambiado por z(1). Si mi otra incógnita es u2, la he sustituido por z(2) por ejemplo. Eso lo haces manual cambiando tu los valores? O lo programas para decir que por ejemplo es p1=z(1) etc. No se si me explico.

El fallo m refiero a un dato , el segundo valor da erróneo pero me he equivocado en un dato pensaba que daba mal pero se aproxima mucho. Pero el segundo dato parece que se va mucho. Pero solo ese.

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar