El programa hace un pequeña simulación del Teorema de Ferrari, el cual nos permite hacer la equivalencia entre un campo pulsante y dos campos rotativos de sentido contrario de la mitad de amplitud que el campo inicial.
El programa es el siguiente:
# teorema_de_ferrari.m
#Licensed under GPL_v3.
# Un campo pulsante se puede escribir como dos
# campos rotativos de la mitad de amplitud que el original.
clear;
#Se establecen las condiciones basicas:
freq=60; # 60Hz
w=2*pi*freq; # velocidad angular (rad/s)
t=[0:1/6000:1/60]; # el tiempo para 60Hz
theta=0; # desfasaje de 0 grados
# Se definen los campos rotativos
Bsmr=0.5*cos(w*t-theta)-0.5*j*sin(w*t-theta);
Bscmr=0.5*cos(w*t-theta)+0.5*j*sin(w*t-theta);
# Se calcula el campo resultante:
Bs=Bsmr + Bscmr;
# Este circulo representa el valor maximo
# que esperamos:
circle_max=1*(cos(w*t)+j*sin(w*t));
circle=0.5*circle_max;
for ii=1:length(t)
plot(circle_max,'k');
hold on;
plot(circle,'k');
title("Terorema de Ferrari:\n Un campo pulsante se puede escribir como dos campos rotativos de la mitad de amplitud que el original.");
grid on;
# Se dibujan los cuatro campos magnéticos:
plot([0 real(Bsmr(ii))],[0 imag(Bsmr(ii))],'k','LineWidth',2);
plot([0 real(Bscmr(ii))],[0 imag(Bscmr(ii))],'b','LineWidth',2);
plot([0 real(Bs(ii))],[0 imag(Bs(ii))],'r','LineWidth',2);
axis square;
axis ([-1 1 -1 1]);
drawnow;
hold off;
endfor
La salida es por GNUPlot:
No hay comentarios.:
Publicar un comentario