Está en la página 1de 59

INGENIERÍA ELECTRÓNICA

CURSO: ENERGÍAS ALTERNATIVAS

PROFESOR: Jorge Antonio Polanía P.


Una excelente integración de las Tecnologías de Información y
comunicación (TIC) es el uso de las simulaciones. Estas es una
excelente herramienta para mejorar la compresión y el aprendizaje en
áreas como las matemáticas, física, estadística, finanzas, etc. La
simulación permite probar, analizar y descubrir cómo funciona o cómo
se comporta un fenómeno.

Matlab es un programa interactivo de cálculo numérico y de


visualización gráfica de datos basado en software de matrices. En las
universidades MATLAB se ha convertido en una herramienta básica
por su amplia gama de programas especializados llamados Toolboxes,
que cubren casi todas las áreas del conocimiento. Dispone de un
programa SIMULINK que es un entorno gráfico interactivo con el que
se puede analizar, modelar y simular sistemas.
El uso de los paquetes de simulación es de gran ayuda
en la solución de los modelos matemáticos de sistemas
ambientales. Matlab es uno de ellos, el cual puede ser
usado para el cálculo directo de los modelos y también da
la opción de elaborar programas de simulación.

Millones de ingenieros y científicos usan MATLAB® para


analizar y diseñar los sistemas y productos transformando
el mundo. Se utiliza además para procesamiento,
comunicaciones, cálculo financiero, control, robótica y en
mucho más disciplinas.
Aunque la mayoría de las personas creen erróneamente
q u e M AT L A B e s s i m p l e m e n t e u n l e n g u a j e d e
programación, MATLAB es un software interactivo que
puede considerarse como un entorno y un lenguaje de
programación a la vez. En MATLAB los usuarios pueden
crear sus propias aplicaciones.

Junto con Simulink, es altamente utilizado en geofísica, en


el diseño de sistemas de control, en procesamiento de
señales, en inteligencia artificial, redes neuronales, en
simulación de sistemas dinámicos, en optimización, en
problemas de modelaje y sistemas dinámicos etc.
CARACTERÍSTICAS DE MATLAB :
§ Cálculos intensivos desde un punto de vista numérico.
§ Gráficos y visualización avanzada.
§ Lenguaje de alto nivel basado en vectores, arreglos
y matrices.
§ Colección muy útil de funciones de aplicación.

M AT L A B p r o v e e a c c e s o i n m e d i a t o a l a s
gráficas especializadas requeridas en ingeniería y ciencias.
Su graficación orientada a objetos, le permite graficar los
resultados de su análisis, incorporar gráficos en
sus modelos de sistemas y rápidamente presentar
complejos objetos 3-D.
VENTANA DE COMANDOS
OPERADORES DE MATLAB

Una variable se crea por asignación. Los operadores


básicos son:

x +y Suma

x–y Diferencia

x*y Producto

x/y División

x ^y Potencia
2. REPRESENTACIÓN DE VECTORES EN MATLAB

Un vector fila de n elementos se puede representar de


dos formas:

V = [v1,v2,v3,…..vn] % con coma entre ellos, o


V = [v1 v2 v3 …..vn] % con espacios entre ellos

EJEMPLO:

Vector = [1 1.2 3.4 4/5 2.25]


COMANDOS DE EJECUCIÓN DE VECTORES
EXPRESIÓN MATLAB SIGNIFICADO

a y b son el primero y último elemento. Los


Vector = [a : b] elementos intermedios se diferencian en una
unidad

a y b son el primero y último elemento. Los


Vector = [a : s : b] elementos intermedios se diferencian en la
cantidad s

a y b son el primero y último elemento. Hay n


Vector = linspace[a,b,n]
elementos uniformemente espaciados entre sí

a y b son el primero y último elemento. Hay n


Vector = logspace[a,b,n] elementos logarítmicamente espaciados entre

EJEMPLOS:

>>Vector1 = [5:5:30] % elementos de 5 a 30 en pasos de 5


Vector1 = 5 10 15 20 25 30

>>Vector2 = [5:10]
Vector2 = 5 6 7 8 9 10 % elementos de 5 a 10 en pasos de 1 (por defecto)

Un vector columna se representa con sus elementos separados por punto y


coma.

>>Vector = [2; 3; 2.5; 4.5; 8]

Vector =
2
3
2.5
4.5
8
Definiciones de variables matriciales

A(m,n) Define el elemento (m,n) de la matriz A

B = A’ Define la transpuesta de A
Define una submatriz formada por las filas que hay
A(a:b,c:d) entre las filas a y b y por las columnas que hay
entre la c y la d columna
Submatriz formada por las filas de A y las
A(: ,c:d)
columnas que hay entre la c y la d
Submatriz formada por las las filas entre a y b y
A(a:b, :)
todas la columnas de A

size(A) Devuelve el tamño u orden de la matriz A

inv(A) Calcula la inversa de la matriz A (cuadrada)

det(A) Determinante de A (cuadrada)


EJEMPLOS:

>>A=[1 3 5;4 7 9;4 2 10] >> B = A'

A= 1 3 5 B=
479 1 4 4
4 2 10 3 7 2
5 9 10

>> C=B(:,2:3) >> D = B(1:2,:) >> size(D)

C= D=
ans =
4 4 1 4 4
7 2 3 7 2 2 3
9 10
OPERACIONES CON MATRICES

Las operaciones básicas son: suma, resta, multiplicación y división.


La suma, resta y división sólo se puede hacer si ambas matrices
tienen la misma dimensión. Por ejemplo,
En división las matrices deben tener la misma dimensión. Ejemplo,
4. FUNCIONES DE MATLAB

FUNCIONES TRIGONOMÉTRICAS
Directas Inversas
sin(x) asin(x)
cos(x) acos(x)
tan(x) atan(x)

FUNCIONES EXPONENCIALES Y LOGARÍTMICAS


exp(x) Función exponencial base e
log10(x) Logaritmo decimal
log(x) Logaritmo natural
sqrt(x) Raíz cuadrada
abs(x) Valor absoluto
EJEMPLOS: Calcular las siguientes expresiones en Matlab

b) y = 2sen(5x) + 3cos(2x) para x = 30º


a)
>> x = 30*pi/180;
>> x=2.5;
>> y = 2*sin(5*x) + 3*cos(2*x)
>> y = exp(sqrt(x^2+2*x-5))
y= 2.5000
y = 12.1825

c) Para x=1.5,

>> x=1.5;
>> y = log10(x + 5)^(1/3) + log(x^2)
y=
1.7442
5. POLINOMIOS Y SU SOLUCIÓN

Los comandos usados por Matlab para trabajar con polinomios son:

Da los coeficientes del polinomio P


p = poly(r)
cuyas raíces son el vector r
r = roots(c) Encuentra las raíces del polinomio c
Polinomio de orden n que ajusta los
p = polyfit(x,y,n)
puntos (x,y)
s = solve(ecuacion1,ecuacion2) Resuelve las ecuaciones
d = det(A) Calcula determinante de A
EJEMPLOS: b) Para x = 2.5 calcular
y = x4 – 3x2 + 5x -2.8
a) >> p=poly([ 2 3 4])
>> x = 2.5;
p= >> p = [1 0 -3 5 -2.8];
1 -9 26 -24 >> y = polyval(p,x)

% El polinomio es x3 – 9x2 +26x – 24 y=


30.0125

c) Encontrar las raíces de: r=


x5 – 3x3 + x2 -5x + 2 -2.1716
1.8905
>> c = [1 0 -3 1 -5 2]; -0.0575 + 1.1076i
>> r = roots(c) -0.0575 - 1.1076i
0.3960
d) Calcular el polinomio interpolador de segundo orden que pasa por los puntos
(-1,4), (0,2) y (1,6)

>> x = [-1,0,1]; y = [4,2,6];


>> p = polyfit(x,y,2)
p=
3.0000 1.0000 2.0000

El polinomio interpolador que más se ajusta es 3x2 + x + 2

e) Resolver el sistema de ecuaciones:


2x + 3y =5
x – 2y = -2

>> syms x y
>> [x,y] = solve(2*x + 3*y == 5',x - 2*y == -2)

% Resp: x = 4/7, y = 9/7


g) Calcular el determinante de la matriz:

>> A = [2 4 -1; 3 -2 5; -1 3 6];


>> d = det(A)

% d = -153
EJEMPLO
6. GRAFICACIÓN

Matlab ofrece diversas formas de representación gráfica.

plot(x,y) Grafica y en función de x


Grafica y en función de x con color y
plot(x,y,’bo’)
caracter
fplot(‘f’,[x1 x2],’y*’) Grafica función f entre x1 y x2
Grafica las funciones en el intervalo
fplot(‘[f1,f2,..]’,[x1 x2])
dado
title(‘texto’) Título de la gráfica

xlabel(‘texto’), ylabel(‘texto’) Rótulos en el eje x y en el eje y

grid Pone rejilla en la gráfica

axis([x1 x2 y1 y2]) Define límite de los ejes

legend(‘rotulo1’,’rotulo2’,….) Coloca legenda en la gráfica

text(x,y,’texto’) Coloca texto en coordenadas (x,y)

subplot(m,n,p) Subgráficas de m filas, n columnas


f) Ejecutar >> x = 0:0.2:20;
>> y = sin(x).*exp(-0.2*x);
>> plot(x,y)
f) Ejecutar >> x = 0:0.2:20;
>> y = sin(x).*exp(-0.2*x);
>> plot(x,y)

31
>>plot(x,y,'r') % colocar color a la gráfica

32
g) Varias gráficas en una sola figura
>> fplot(@(x) [sin(x),sin(2.*x),sin(3.*x)],[0 2*pi])
>> legend('sen(x)','sen(2x)','sen(3x)')

33
VENTANA DE EDICIÓN

34
En la ventana de edición, editar el siguiente programa, para
graficar dos figuras:

x=linspace(0,2,30); % Poner 30 puntos entre 0 y 2


y1=sin(x.^2); %función seno
plot(x,y1) %Primera gráfica
text(1,0.8,'y1=sen(x^2)') %Poner texto en (1,0.8)
hold on %mantenga la gráfica
y2=log(sqrt(x)); %Función logaritmica
plot(x,y2) %segunda gráfica
text(1,-0.1,'y2=log(sqrt(x))') %otro texto en (1,-0.1)
xlabel('Eje x'); %rótulo del eje x
ylabel('Eje y'); %rótulo del eje y
title('Gráficas de y1 y y2') %título de la gráfica

35
EJEMPLOS:
Graficar en dos subgráficas una fila y dos columnas, el
seno y el coseno

x = [0:0.1:2*pi]; %vector eje x


y = sin(x); %y=función seno
z = cos(x); %z=fución coseno
subplot(121); %ventana de gráfica 121
plot(x,y) %gráfica del seno en esta ventana
title('sen(x)') %título de la gráfica
subplot(122); %ventana de gráfica 122
plot(x,z) %gráfica del coseno en esta ventana
title('cos(x)') %título de la gráfica

37
Graficar en dos subgráficas dos fila y una columna, el seno y el
coseno:

x = [0:0.1:2*pi]; %vector eje x


y = sin(x); %y=función seno
z = cos(x); %z=fución coseno
subplot(211); %ventana de gráfica 211
plot(x,y) %gráfica del seno en esta ventana
title('sen(x)') %título de la gráfica
subplot(212); %ventana de gráfica 212
plot(x,z) %gráfica del coseno en esta ventana
title('cos(x)') %título de la gráfica

39
Graficar en cuatro subgráficas dos filas y dos columnas, del seno,
coseno, cosecante y secante:

subplot (221); %ventana 221


fplot(@(x)[sin(x)],[-2*pi 2*pi]); %gráfica del seno
subplot (222); %ventana 222
fplot(@(x)[cos(x)],[-2*pi 2*pi]); %gráfica del coseno
subplot (223); %ventana 223
fplot(@(x)[csc(x)],[-2*pi 2*pi]); %gráfica del cosecante
subplot (224); %ventana 224
fplot(@(x)[sec(x)],[-2*pi 2*pi]); %gráfica del secante

41
42
Graficar en diferentes escalas la función:

x = 0:0.01:3; %Vector del eje x


y = abs(exp(-0.5*x).*sin(5*x));
subplot(221);
plot(x,y) %Grafica con ejes normales
title('normal')
hold on %Mantenga la gráfica
subplot(222)
loglog(x,y) %Grafica con ejes logarítmicos
title('logaritmica')
subplot(223)
semilogx(x,y) %Grafica con eje logarítmico en x
title('semilogaritmico en eje x')
subplot(224)
semilogy(x,y) %Grafica con eje logarítmico en y
title('semilogaritmico en eje y')
43
44
GRÁFICAS EN TRES DIMENSIONES

plot3(x,y,z): Gráficar en los ejes x,y,z


x, y ,z son las coordenadas de la función
Por ejemplo: graficar en: x=sen(t), y=cos(t), z= t

%Gráfica tridimensional usando plot3


t=linspace(0,10*pi,500); %vector tiempo
x=sin(t); y=cos(t); z=t; %funciones a graficar
plot3(x,y,z) %gráfica tridimensional
title('Espiral tridimensional') %título de la gráfica
text(0,0,0,'Origen') %poner texto en (0,0,0)
grid %poner rejilla

45
46
Gráficas de malla: mesh(x,y,z)

Ejemplo: Graficar
Primero hay que definir la rejilla con meshgrid que genera la
matrices x,y

%crear una malla de cuadrícula de 0.5 en el plano x , y


entre -10 y 10
[x,y]=meshgrid(-10:0.5:10);
%Función a graficar en eje z
z=sqrt(x.^2+y.^2);
%Graficar z en rejilla
mesh(x,y,z);
%Rótulos
xlabel('Eje x');
ylabel('Eje y');
zlabel('Eje z');

47
48
Gráficas de contorno: contour3(x,y,z,n)

Gráficar en dos dimensiones los contornos de una gráfica. Ejemplo,


graficar la función peaks. La función peaks es una función de dos
.
variables, que se obtiene mediante escalamiento de una distribución
Gaussiana

%peaks es una función de dos variables de Matlab


[x,y,z]=peaks(30);
%Poner 16 colores
contour3(x,y,z,16)
xlabel('Eje x')
xlabel('Eje x')
title('Gráfica de contorno tridimensional')

49
Función peaks
51
Graficar N líneas de contorno en un plano

%peaks es una función de dos variables de Matlab


[x,y,z]=peaks(30);
%Poner 16 colores
contourf(x,y,z,16)
%rótulos de los ejes
xlabel('Eje x')
xlabel('Eje x')
%título de la gráfica
title('Gráfica de contorno en el plano')

52
53
SOLUCIÓN DE ECUACIONES DIFERENCIALES

%SOLUCIÓN DE UNA ECUACIÓN DIFERENCIAL


%Variable simbólica y(t) en función del tiempo
syms y(t)
%Primera derivada dy/dt
Dy = diff(y);
%Segunda derivada d2y/dt2
D2y = diff(y,2);
%Solución de la ecuación diferencial sin condiciones
%iniciales
y=dsolve(D2y+y==4)
%Respuesta:
y = C1*cos(t) + C2*sin(t) + 4

54
%SOLUCIÓN DE UNA ECUACIÓN DIFERENCIAL
%Variable simbólica y en función del tiempo
syms y(t)
%Primera derivada
Dy = diff(y);
%Segunda derivada
D2y = diff(y,2);
%Solución de la ecuación diferencial con condiciones
%iniciales
y=dsolve(D2y+y==4, y(0)==1,Dy(0)==0)
%Resp:
y = 4 - 3*cos(t)

55
%SOLUCIÓN DE UNA ECUACIÓN DIFERENCIAL
%Variable simbólica y(x) en función de variable x
syms y(x)
%Primera derivada
Dy = diff(y);
%Segunda derivada
D2y = diff(y,2);
%Solución de la ecuación diferencial
y=dsolve(D2y+y==4)
%Resp: y = C7*cos(x) + C8*sin(x) + 4

56
%SOLUCIÓN DE UN SISTEMA DE ECUACIONES DIFERENCIALES
%x'=3x+4y, y'= -7x+6y
%Condiciones iniciales: x(0)=2, y(0)=1
clear
syms x(t) y(t)
%Solución del sistema de ecuaciones diferenciales
Dx=diff(x); Dy=diff(y);
[x,y]=dsolve(Dx==3*x+4*y,Dy==-7*x+6*y, x(0)==2,y(0)==1);
%Hallar x ,y para t=2 sg
x=subs(x,2); y=subs(y,2);
x=eval(x)
y=eval(y)
%Resp: x = -1.3198e+04 y = 7.1534e+03

57
SOLUCIÓN SISTEMA DE E.D. USANDO LA FUNCIÓN ode45

%Esta rutina se guarda en


%archivo: sistema.m
function dy=sistema(t,y)
dy=zeros(3,1);
dy(1)=y(2)*y(3);
dy(2)=y(1)*y(3);
dy(3)=-0.5*y(1)*y(2);
end

%solución del sistema de ecuaciones diferenciales


tiempo=[0 12]; %eje tiempo
y0=[0 1 1 ]; %condiciones iniciales
[t,y]=ode45(@sistema,tiempo,y0); %llama la functión
plot(t,y(:,1),'-',t,y(:,2),'--',t,y(:,3),'-.') %graficar y1, y2, y3
legend('y1','y2','y3')

58
59

También podría gustarte