Sunteți pe pagina 1din 11

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

FACULTAD DE INGENIERIA ELECTRICA, ELECTRONICA,


INFORMATICA Y MECANICA

ASIGNATURA: MAQUINAS ELECTRICAS

DOCENTE:

Ing. Manuel Lau Pacheco

ESTUDIANTES:

Calvo Gonzales Miguel Angel


Hancco Churata Luis Felipe
Morveli Mayorga Wilinthon
Melo Orccon Alex Augusto
Aslla Tutacano Mishael
Gutierres Taquere Cristian
Cruz Halanoqa Clinton
CUSCO – PERÚ
2018
INDICE

Optimización…………………………………………………………………………………...……3

Métodos clásicos de optimización……………………………………………………….3

Método del gradiente descendiente…………………………………………….3

Calculo del gradiente……………………………………………………………..4

Código en matlab………………………………………………………….……………….4

grafica en matlab…………………………………………………………………………..6

Corriente transitoria de la maquina síncrona……………………………………………………7

Grafica en matlab……………………………………………………………………...…10

Programa en guide…………………………………………………………………..…..10
OPTIMIZACION

Introducción:

La optimización representa el proceso de encontrar la “mejor solución” a un problema


entre un conjunto muy grande de soluciones posibles.

Un problema de optimización puede ser formulado como un proceso donde se desea


encontrar el valor óptimo “x” que maximiza o minimiza la función objetivo 𝑓(𝑥). Tal que:

Minimizar/Maximizar 𝑓(𝑥), 𝑿 = (𝑥1 , … . . , 𝑥𝑏 )𝜖ℝ𝑏 … … … … … … … … … … … … . (1.0)

Considerando 𝒙𝝐𝑿

Donde x es el vector de variables de decisión mientras que b especifica su número. X


representa el conjunto de soluciones, conocido también como espacio de búsqueda o
espacio de soluciones.

𝑿 = {𝒙 ∈ ℝ𝒃 |𝑙𝑖 ≤ 𝑥𝑖 ≤ 𝑢𝑖 , 𝑖 = 1, … , 𝑏}

Algunas veces es necesario minimizar y en otras maximizar con la siguiente relación:

max

𝑓(𝑥) ↔ min
+
−1 ∗ 𝑓(𝑥) … … … … … … … … … … … … … . . … … (2.0)
𝑎 𝑎

Métodos clásicos de optimización

En general la función 𝑓(𝑥) puede tener una forma no lineal con respecto a las variables de
decisión 𝑿. Debido a esta complejidad, los métodos de optimización planten procesos
iterativos para la exploración eficiente del espacio de búsqueda.

 Método del gradiente descendiente


En este método, partiendo de un punto inicial 𝑿0 , el vector de decisión se modifica
iterativamente hasta que transcurra un número Niter de iteraciones pueda
encontrarse la solución óptima x.

𝑿𝒌+𝟏 = 𝑿𝒌 − 𝜶 ∗ 𝒈(𝒇(𝒙)) … … … … … … … … … … … … … … … . (1.3)

Donde k representa la iteración actual y 𝛼 representa el tamaño del paso de la búsqueda

El termino 𝒈(𝒇(𝒙)) representa la función del 𝒇(𝒙). El gradiente g de la función 𝒇(𝒙)


en el punto x expresa la dirección en la función 𝒇(𝒙) presenta su máximo
crecimiento.
 Calculo del gradiente
El gradiente de una función multidimensional 𝒇(𝒙) (𝒙 = (𝑥1 , … . . , 𝑥𝑏 )𝜖ℝ𝑏 )
representa la manera en que la función varia con relación a uno de sus
dimensiones. Dicho gradiente es definido apropiadamente como:

𝜕𝑓(𝒙)
𝑔𝑥1 = … … … … … … … … … … … … … … … … … … . (4.0)
𝜕𝑥1

Para calcular nuevamente el gradiente 𝑔𝑥1 se sigue el siguiente procedimiento:


1. se genera un nuevo vector de decisión 𝒙̅𝒊 dicho vector es igual en todos las
variables de decisión que x excepto en . este valor será suministrado en 𝑥𝑖 +
ℎ, donde ℎ es un valor muy pequeño.

𝒙̅𝒊 = (𝑥1 , 𝑥2 , … , 𝑥𝑖 + ℎ, . . . , 𝑥𝑏 ) … … … … … … … … … … … … … … … . (5.0)

2. se calcula el gradiente 𝑔𝑥1 mediante el siguiente modelo:

𝑓(𝒙̅𝒊 ) − 𝑓(𝑥)
𝑔𝑥1 = … … … … … … … … … … … … … … … … … (6.0)

Código en matlab

close all
clear all
d=2;
l=[-5,-5];
u=[10,10];
Max_iter=500;
Part_N=50;
x=l(1)+rand(Part_N,d).*(u(1)-l(1));
for i=1:Part_N
obj_func(i,:)=rosenbrock(x(i,:));
end
[glob_opt, ind]=min(obj_func);
G_opt=ones(Part_N,d);

G_opt(:, 1)=x(ind, 1);


G_opt(:, 2)=x(ind, 2);
Mejor_pos=[x(ind,1),x(ind,2)];
Loc_opt=x;
v=zeros(Part_N,d);
t=1;
while t<Max_iter
v=v+rand(Part_N,d).*(Loc_opt-x)+rand(Part_N,d).*(G_opt-x);
x=x+v;
for i=1:Part_N
if x(i,1)>u(1)
elseif x(i,1)<l(1)
x(i,1)=l(1);
elseif x(i,2)>u(2)
x(i,2)=u(2);
elseif x(i,2)<l(2)
x(i,2)=l(2);
end
Nva_obj_func(i,:)=rosenbrock(x(i,:));
if Nva_obj_func(i,:)<obj_func(i,:)
Loc_opt(i,:)=x(i,:);
obj_func(i,:)=Nva_obj_func(i,:);
end
end
[Nvo_glob_opt, ind]=min(obj_func);

if Nvo_glob_opt<glob_opt
glob_opt=Nvo_glob_opt;
G_opt(:,1)=x(ind,1);
G_opt(:,2)=x(ind,2);
Mejor_pos=[x(ind,1),x(ind,2)];
end
Evol_func_obj(t)=glob_opt;
t=t+1;
end
plot(Evol_func_obj)
xlabel(f(x1,x2))
ylabel(Iteraciones)
disp(['mejor posicion x: ',num2str(Mejor_pos)])
disp(['mejor valor funcion objetivo: ',num2str(glob_opt)])
grafica en matlab
CORRIENTE TRANSITORIA DE LA MAQUINA SINCRONA

Calculo de la corriente transitoria para una falla trifásica en terminales de una máquina
síncrona si inicialmente la máquina está en vacío. Graficar la corriente y sus componentes
en sus tres estados si estaba trabajando a tensión nominal y velocidad nominal.

Fig. 1

r pL

Xt = 0
e(t)

𝑎
ℒ𝑝 = ;
𝑎𝑡

𝑃𝑙𝑎𝑛𝑜: 𝑆 = 𝑎 ± 𝑗𝑏

Si:

𝑒(𝑡) = 𝑉𝑚 sin(𝑤𝑡 + 𝜃) …………………………………………(1.0)

El circuito:

Laplace (Ec. 1.0):

𝐸(𝑠) = 𝑉𝑚 × 𝐿𝑎𝑝𝑙𝑎𝑐𝑒(sin 𝑤𝑡 × cos 𝜃 + sin 𝜃 × cos 𝑤𝑡) ................................... (2.0)


𝑤
𝑙𝑎𝑝𝑙𝑎𝑐𝑒(sin 𝑤𝑡) =
𝑠2 + 𝑤2
𝑤
𝑙𝑎𝑝𝑙𝑎𝑐𝑒(cos 𝑤𝑡) =
𝑠2 + 𝑤2
𝑤 sin 𝜃×𝑠
𝐸(𝑠) = 𝑉𝑚 (cos 𝜃 × + )………………………………..(3.0)
𝑠2 +𝑤 2 𝑠2 +𝑤 2

Luego:
𝑟
𝑍(𝑠) = 𝑟 + 𝑠𝐿 = (𝑠 + 𝐿) 𝐿……………………………………….(4.0)
Fig. 2

Z(s)

r SL
e(t)

𝐸(𝑠) 𝑉𝑚 ×(cos 𝜃×𝑊+sin 𝜃×𝑆)


𝐼(𝑠) = = 𝑟 ………………………………….(5.0)
𝑍(𝑠) 𝐿(𝑠+ )(𝑠2 +𝑤 2 )
𝐿

Por fracciones parciales:


𝐸(𝑠) 𝑉𝑚 ×(cos 𝜃×𝑊+sin 𝜃×𝑆) 𝐴 𝐵 𝐵
𝐼(𝑠) = 𝑍(𝑠) = 𝑟
1
= (𝑠+𝛼) + (𝑠+𝑎) 2
+ (𝑠+𝑏) …………………………(6.0)
𝐿(𝑠+ )(𝑠2 +𝑤 2 )
𝐿

𝑉𝑚 (cos 𝜃×𝑊+sin 𝜃×𝑆) 𝐴 𝐵 𝐵


𝐿
× 𝑟
1
= (𝑠+𝛼) + (𝑠+𝑎) 2
+ (𝑠+𝑏)……………………………. (7.0)
(𝑠+ )(𝑠+𝑗𝑤)(𝑠−𝑗𝑤)
𝐿

𝐴 𝐵1 𝐵2
𝐼(𝑠) = + + ……………………………………….(8.0)
(𝑠+𝛼) (𝑠+𝑎) (𝑠+𝑏)

Dónde:
𝑟
𝛼= 𝑉𝑚 (cos 𝜃 × 𝑊 + sin 𝜃 × 𝑆) 𝐴 𝐵1 𝐵2
𝐿
𝑎 = 𝑗𝑤 ; × 𝑟 = + +
𝐿 (𝑠 + )(𝑠 + 𝑗𝑤)(𝑠 − 𝑗𝑤) (𝑠 + 𝛼) (𝑠 + 𝑎) (𝑠 + 𝑏)
𝑎∗ = −𝑗𝑤 = 𝑏 𝐿

𝑉𝑚
(Wcos 𝜃 + 𝑆 sin 𝜃) = 𝐴(𝑠 + 𝑎)(𝑠 + 𝑏) + 𝐵1 (𝑠 + 𝐿)(𝑠 + 𝑏) + 𝐵2 (𝑠 + 𝛼)……(9.0)
𝐿

Cálculo de A:
𝑟
𝑆 = −𝛼 = 𝐿

𝑉𝑚 𝑟 1
𝐴= 𝐿
(cos 𝜃 × 𝑊 − 𝐿) × 𝑟 𝑟 ……………………………………(10)
(𝑗𝑤− )(− )
𝐿 𝐿−𝑗𝑤

𝑉𝑚 (cos 𝜃×𝑊×𝐿−𝑟 sin 𝜃) 𝑉𝑚 (cos 𝜃×𝑊×𝐿−𝑟 sin 𝜃)


𝐴= 𝑟2
= (𝑟 2 +𝑤 2 𝐿2 )
……………………………..(11)
𝐿×𝐿( 2 2 )
𝐿 +𝑤
Haciendo:

Fig. 3

|Z|
|jwL| = wL

ϕ
r

|𝑍| = √𝑟 2 + (𝑤𝐿)2 ; |𝑍|∠𝜙 = 𝑍̅ = 𝑟 + 𝑗𝑊𝐿 ⇒ ̅̅̅


𝑍 ∗ = 𝑟 − 𝑗𝑊𝐿; |𝑍| = √𝑟 2 + (𝑤𝐿)2

|𝑍̅|2 = 𝑟 2 + (𝑤𝐿)2 ……………………………………………..(12)

𝑟 = |𝑍̅| cos 𝜙…………………………………………………(13)

𝑉𝑚 (cos 𝜃 × 𝑊 × 𝐿 − 𝑟 sin 𝜃) |𝑍̅| × 𝑉𝑚 (cos 𝜃 × sin 𝜙 − sin 𝜃 cos 𝜙)


𝐴= =
(𝑟 2 + 𝑤 2 𝐿2 ) |𝑍̅|2
𝑉𝑚
𝐴= |𝑍̅|
sin(𝜃 − 𝜙)……………………………………………..(14)

Luego, idénticamente se calcula B1 y B2:


𝑉
𝑚
𝐵1 = |𝑍̅|×2 𝑒 −𝑗(𝜃−𝜙−90°) ; 1∠ − 𝜙 − 90° = 𝑒 −𝑗(𝜙+90°) ………………………..(15)

𝑉𝑚 (cos 𝜃×𝑊−𝑗𝑊 sin 𝜃) 𝑉


𝐵2 = 𝑟
𝑚
; 𝐵2 = |𝑍̅|×2 𝑒 𝑗(𝜃−𝜙−90°)…………………………..(16)
(𝑗𝑤+ )(𝑗𝑤+𝑗𝑤)
𝐿

Aplicando la transformada inversa de Laplace a i(s), se tendrá i en función del tiempo:

𝑖(𝑡) = 𝐴𝑒 −𝛼𝑡 + 𝐵1 𝑒 −𝑗𝑤𝑡 + 𝐵2 𝑒 −𝑗𝑤𝑡 ……………………………………(17)

Reemplazando los valores de A, B1, B2 se tiene finalmente:


𝑟
𝑉
𝑖(𝑡) = − |𝑍𝑚
̅|
[𝑒 −𝐿𝑡 × sin(𝜃 − 𝜙) + sin(𝑤𝑡 + 𝜃 − 𝜙)]…………………………….(18)

Introduciendo el signo negativo en la ecuación 18 se tendrá:

𝑉𝑚 −𝑟𝑡
𝑖(𝑡) = [𝑒 𝐿 × (− sin(𝜃 − 𝜙)) + (−sin(𝑤𝑡 + 𝜃 − 𝜙))]
|𝑍̅|
𝑟
𝑉𝑚 − 𝑡
𝑖(𝑡) = |𝑍̅|
[𝑒 𝐿 × cos(90° + 𝜃 − 𝜙) + cos(90° + 𝑤𝑡 + 𝜃 − 𝜙)]…………… (19)
Para la gráfica se consideran los siguientes datos:

Vm = 250v; r = 0.1Ω; L = 0.05H; Z = 1.16Ω; θ = 40°; ϕ = 44°; reemplazando estos valores en


la ecuación 19 se tendrá:

𝑖(𝑡) = 15𝑒 −2𝑡 + cos(377𝑡 + 1.5)……………………………………..(20)

Grafica en matlab

t= 0:0.001:pi/4;
x=15*exp(-2*t)+cos(377*t+1.5);
plot(t,x)
ylabel('Corriente transitoria, Sub transitoria y Permanente')
xlabel('Tiempo')
grid on

Programa en guide

function pushbutton1_Callback(hObject, eventdata, handles)


a1=get(handles.Vm,'string');
Vm=str2double(a1);
a2=get(handles.r,'string');
r=str2double(a2);
a3=get(handles.L,'string');
L=str2double(a3);
a4=get(handles.Z,'string');
Z=str2double(a4);
a5=get(handles.te,'string');
te=str2double(a5);
a6=get(handles.fi,'string');
fi=str2double(a6);

t=0:0.001:pi/4;
a=abs(Vm/Z);
b=r/L;
It=(a*(((exp(-b*t))*cosd(90+te-fi))))+cos((377*t)+1.5);
axes(handles.axes1);
plot(t,It,'r')
ylabel('Corriente transitoria, Sub transitoria y Permanente')
xlabel('Tiempo')
zoom on
grid on
hold on

function pushbutton2_Callback(hObject, eventdata, handles)


set(handles.Vm,'string','');
set(handles.r,'string','');
set(handles.L,'string','');
set(handles.Z,'string','');
set(handles.te,'string','');
set(handles.fi,'string','');
axes(handles.axes1);
cla reset

S-ar putea să vă placă și