Академический Документы
Профессиональный Документы
Культура Документы
Análisis de circuitos eléctricos y electrónicos con MATLAB
2.1 Manejo de números complejos
Matlab permite números complejos en la mayoría de sus operacones y funciones. Hay tres formas de introducir
matrices complejas:
B =
B =
B =
Ejemplo de introducción de un vector columna complejo:
>> a = [1;2;3;4];
b = [2;2;7;7];
c = complex(a,b)
c =
1.0000 + 2.0000i
2.0000 + 2.0000i
3.0000 + 7.0000i
4.0000 + 7.0000i
1
abs(X)
Devuelve un arreglo Y donde cada elemento es el valor absoluto del elemento correspondiente en X. Si X es
complejo, abs(X) devuelve el módulo o magnitud del complejo, que es lo mismo que
sqrt(real(X).^2 + imag(X).^2)
Ejemplos:
abs(-5)
ans =
5
abs(3+4i)
ans =
5
abs([1+3i, -3+6i, 0+9i])
ans =
3.1623 6.7082 9.0000
angle(Z)
Devuelve el ángulo de fase, en radianes, de cada complejo del arreglo Z. Los ángulos están entre ±π.
Para un Z complejo, la magnitud R y el ángulo de fase teta están dados por:
R = abs(Z)
teta = angle(Z)
y la sentencia
Z = R.*exp(i*teta)
Hace la conversion inversa al Z complejo original.
Ejemplos:
Z = [ 1 - 1i 2 + 1i 3 - 1i 4 + 1i
1 + 2i 2 - 2i 3 + 2i 4 - 2i
1 - 3i 2 + 3i 3 - 3i 4 + 3i
1 + 4i 2 - 4i 3 + 4i 4 - 4i ];
P = angle(Z)
P =
-0.7854 0.4636 -0.3218 0.2450
1.1071 -0.7854 0.5880 -0.4636
-1.2490 0.9828 -0.7854 0.6435
1.3258 -1.1071 0.9273 -0.7854
2
Fasores de voltaje de un sistema trifásico balanceado
v =
1.0000 -0.5000 - 0.8660i -0.5000 + 0.8660i
>> magnitud=abs(v)
magnitud =
1.0000 1.0000 1.0000
>> angulo=angle(v)*180/pi
angulo =
0 -120.0000 120.0000
v =
1.0000 -0.5000 - 0.8660i -0.5000 + 0.8660i
sign(X)
Devuelve un arreglo Y del mismo tamaño que X, donde cada elemento de Y es:
• 1 si el elemento correspondiente de X es mayor que 0.
• 0 si el elemento correspondiente de X es igual a 0.
• ‐1 si el elemento correspondiente de X es menor que 0.
Para un complejo X que no es cero, sign(X) = X./abs(X)
>> c=(1-3i);
>> sign(c)
ans =
0.3162 - 0.9487i
imag(Z)
Devuelve la parte imaginaria de los elementos del arreglo Z.
Ejemplo:
>> imag([2+3i, 3-5i])
ans =
3 -5
3
real(Z)
Devuelve la parte real de los elementos del arreglo Z.
Ejemplo:
>> real([2+3i, 3-5i])
ans =
2 3
conj(Z)
Devuelve el complejo conjugado de los elementos de Z.
Si Z es un arreglo complejo:
Ejemplo:
isreal(A)
Devuelve un lógico 1 (true) si A no tiene una parte imaginaria. En caso contrario devuelve un lógico 0 (false).
Ejemplo 1:
Si un cálculo resulta en un componente con parte imaginaria cero, isreal devuelve true.
x=3+4i;
y=5-4i;
isreal(x+y)
ans =
1
Ejemplo 2:
Estos ejemplos usan isreal para detectar la presencia o ausencia de números imaginarios en un arreglo.
Haga
x = magic(3);
y = complex(x);
4
isreal(x) devuelve true porque ningún elemento de x tiene un componente imaginario.
isreal(x)
ans =
1
isreal(y) devuelve false, porque cada elemento de x tiene un componente imaginario, aún cuando el valor
del componente imaginario es 0.
isreal(y)
ans =
0
La siguiente expresión detecta estrictamente arreglos reales, es decir, los elementos con
componentes imaginarios de valor 0 son tratados como reales.
~any(imag(y(:)))
ans =
1
Ejemplo 3:
Dadas las siguientes celdas de arreglo,
C{1} = pi; % double
C{2} = 'John Doe'; % char array
C{3} = 2 + 4i; % complex double
C{4} = ispc; % logical
C{5} = magic(3); % double array
C{6} = complex(5,0) % complex double
C =
[3.1416] 'John Doe' [2.0000+ 4.0000i] [1] [3x3 double] [5]
isreal muestra que todas, excepto C{1,3} y C{1,6} son arreglos reales.
for k = 1:6
x(k) = isreal(C{k});
end
x =
1 1 0 1 1 0
5
CONVERSIONES DE RECTANGULAR-POLAR Y POLAR-RECTANGULAR EN
MATLAB
Ejemplo:
ANGULO =
MAG =
ANGULO_G=
53.1304
Ejemplo: Convertir 5 ∟53.13034
Solución:
ANGULO_R= 53.13034*pi/180
ANGULO _R=
0.9273
X=
3.0000
Y=
4.0000
O también;
X=
3.0000
Y=
4.0000
Otra manera de convertir de POLAR A RECTANGULAR es:
ans =
7.5000 +12.9904i
Va_polar =
15.0000 60.0000
r = sqrt(x^2+y^2);
theta = atan2(y,x);
z = r*exp(i*theta);
r = abs(z);
theta = angle(z);