Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Moncada Albitres
Autores:
Editor:
luisd.moncada@hotmail.com
Trujillo – Perú
ISBN: 978-612-00-5024-8
El capítulo 4 trata sobre como MATLAB puede ser usado para realizar
operaciones con polinomios, el Capítulo 5 muestra el uso de gráficos en tres
dimensiones, en el Capítulo 6 se explican los M-archivos, el diseño de
funciones y la creación de ficheros script.
1. INICIANDO MATLAB
1.1. ¿Qué es MATLAB?
Es una herramienta computacional para realizar cálculos numéricos con
vectores y matrices, además también se puede trabajar con números
escalares, cadenas de caracteres y con otras estructuras de información más
complejas. MATLAB es el nombre abreviado de MATrix LABoratory.
2
1 4
1
Guía de MATLAB – Para principiantes
Importante:
• Para teclear un comando el cursor debe estar situado después del
símbolo >>.
• Una vez que el comando se ha tecleado, se pulsa la tecla Intro para
ejecutarlo.
• Si un comando es demasiado grande (límite máximo de 4096
caracteres) se puede dividir tecleando puntos suspensivos (…) y
pulsando la tecla Intro, luego se continua la escritura del comando
en la línea siguiente.
• Cuando se teclea el símbolo de porcentaje (%) al principio de una
línea, MATLAB considerará dicha línea como un comentario.
Ejemplo:
2
Guía de MATLAB – Para principiantes
1.3. Asignaciones
Uno de los elementos fundamentales en la programación son las variables.
Una variable se define como un objeto que puede tomar el mismo valor a lo
largo de todo el programa o bien puede ir cambiando al ejecutar diferentes
acciones.
Importante:
• Todos los nombres deben comenzar con una letra.
• Los nombres pueden tener cualquier longitud, pero sólo se usan los
primeros 63 caracteres. (Verificarlo con el comando
namelengthmax)
• Los únicos caracteres permisibles son letras, números y el guión
bajo.
3
Guía de MATLAB – Para principiantes
>> isvarname if
ans =
0
>> isvarname luis
ans =
1
• El comando iskeyword hace que MATLAB elabore una lista de
nombres reservados, es decir que no se pueden asignar como
nombres de variable.
Ejemplo:
>> A=0.5
A =
0.50
>> B=pi
B =
3.1416
Ejemplo:
4
Guía de MATLAB – Para principiantes
Ejemplo:
>> x = [5 7 -2 4 -6];
>> x (2) % segundo elemento del vector x
ans =
7
>> x (end) % último elemento del vector x
ans =
-6
>> X=[5 7 9 8; 1 4 5 7; 3 3 2 7]
X =
5 7 9 8
1 4 5 7
3 3 2 7
>> X(3) % tercer elemento de la matriz X
ans =
3
5
Guía de MATLAB – Para principiantes
ans =
8
>> X(end) % último elemento de la matriz X
ans =
7
Ejemplo:
ans =
9
6
Guía de MATLAB – Para principiantes
>> who
Your variables are:
A u vfil x
ans vcol w y
7
Guía de MATLAB – Para principiantes
>> whos
Name Size Bytes Class
A 3x4 96 double array
ans 4x1 32 double array
u 1x1 8 double array
vcol 4x1 32 double array
vfil 1x4 32 double array
w 1x1 8 double array
x 1x1 8 double array
y 1x1 8 double array
>> clear
8
Guía de MATLAB – Para principiantes
2. GRAFICAS 2D EN MATLAB
>> plot(argumentos)
Ejemplos:
9
Guía de MATLAB – Para principiantes
10
Guía de MATLAB – Para principiantes
>> x=0:0.1:2;
>> A=[sin(pi*x); 0.5+0.5*x];
>> plot(x,A);
11
Guía de MATLAB – Para principiantes
>> plot(A,x)
Así por ejemplo, LineSpec=’ys-’ dibuja una línea amarilla, sólida y con
cuadrados como marcadores, exactamente igual que LineSpec=’s-y’ o
LineSpec=’sy-’ aunque siempre es mejor ser homogéneos en cada uno de los
usos de estos parámetros.
12
Guía de MATLAB – Para principiantes
Ejemplos:
>> x=-pi:0.05:pi;
>> plot(x, sin(x).*cos(x),'o');
13
Guía de MATLAB – Para principiantes
e3=x.*exp(-x.^2);
e4=exp(-x);
plot(x,e1,'+',x,e2,'*',x,e3,'o',x,e4,'x'); %Dibujamos
las graficas
14
Guía de MATLAB – Para principiantes
Ejemplo:
15
Guía de MATLAB – Para principiantes
Ejemplo: Los resultados de las elecciones generales del 10 de abril del 2016
al Congreso fueron los siguientes:
16
Guía de MATLAB – Para principiantes
Ejemplo:
17
Guía de MATLAB – Para principiantes
Tanto para el comando pie, como para el comando pie3 existe la posibilidad
de separar uno o más sectores para destacarlos con respecto de los demás.
Ejemplo:
18
Guía de MATLAB – Para principiantes
Ejemplo:
>>x=[10 2 3 5 18 20 15 ];
Y ahora usamos los comandos bar, barh, para generar los gráficos. (Usando
el comando subplot podemos conseguir que aparezcan todos en la misma
figura.)
19
Guía de MATLAB – Para principiantes
Comando area
Similar al comando plot, salvo que rellena las ordenadas de 0 a y.
Ejemplo:
>> x=[1989:2018];
y=rand(1,30)*1000;
area(x,y);
axis([1989 2018 0 1000])
20
Guía de MATLAB – Para principiantes
Comando stairs
Función análoga a bar sin líneas internas.
Ejemplo:
>> x=[1989:2018];
y=rand(1,30)*1000;
stairs(x,y);
axis([1989 2018 0 1000])
Comando stem
Representa una gráfica de tallos
Ejemplo:
>> x=[1989:2018];
y=rand(1,30)*1000;
stem(x,y);
axis([1989 2018 0 1000])
21
Guía de MATLAB – Para principiantes
Comando errorbar
Representa sobre una gráfica –mediante barras– valores de errores
Ejemplo:
>> x=[1989:2018];
y=rand(1,30)*1000;
errorbar(x,y);
axis([0 31 1000 3000])
22
Guía de MATLAB – Para principiantes
Comando compass
Dibuja los elementos de un vector complejo como un conjunto de vectores
partiendo de un origen común
Ejemplo:
>> Z=[2+3i,3-2i,5.6+4i];
compass(Z);
Comando feather
Dibuja los elementos de un vector complejo como un conjunto de vectores
partiendo de orígenes uniformemente espaciados sobre el eje de abscisas
Ejemplo:
>> Z=[2+3i,3-2i,5.6+4i];
feather(Z);
23
Guía de MATLAB – Para principiantes
Comando comet
Crea un gráfico animado en el que un círculo (cometa) recorre los puntos de
datos en la pantalla.
Ejemplo:
>> t = 0:.01:2*pi;
x = cos(2*t).*(cos(t).^2);
y = sin(2*t).*(sin(t).^2);
comet(x,y);
24
Guía de MATLAB – Para principiantes
3. OPERACIONES MATEMÁTICAS
3.1. Aritmética elemental
Comenzaremos viendo con varios ejemplos que las operaciones aritméticas
habituales se realizan del modo esperado con los operadores.
Suma: +
Resta: -
Multiplicación: *
División: /
Potencia: ^
Ejemplos:
Vectores y Matrices
Comencemos con algunos ejemplos elementales de asignaciones y alguna
de las operaciones que se pueden realizar.
25
Guía de MATLAB – Para principiantes
ans=
3 4 5 6 7 8 9 10 11 12
>> a*b %Producto de un vector y un escalar.
ans=
2 4 6 8 10 12 14 16 18 20
26
Guía de MATLAB – Para principiantes
>> c=1:1:5
c=
1 2 3 4 5
>> 2.^c %2 elevado a las potencias que
determina c.
ans=
2 4 8 16 32
>> c.^ 2 %Las componentes de c elevadas
al cuadrado.
ans=
1 4 9 16 25
27
Guía de MATLAB – Para principiantes
Ejemplos:
>> x=ceil(pi)
x =
4
>> round ( [19.54646 13.656 -2.1565 0.78] )
ans =
20 14 -2 1
>> x = round(pi,3) %Aproxima a 3 cifras decimales
X =
3.1420
TRIGONOMETRÍA
28
Guía de MATLAB – Para principiantes
Ejemplos:
OTRAS FUNCIONES
29
Guía de MATLAB – Para principiantes
Ejemplos:
3.3. Ecuaciones
El comando solve, resuelve una ecuación o un sistema de ecuaciones. Por
ejemplo, para calcular las raíces de la ecuación
𝑥 1
𝑥2 + − =0
6 3
>> syms x; %Declaramos variable simbólica
>> solve(x^2+x/6-1/3)
ans =
1/2
-2/3
Vamos a resolver la conocida ecuación de segundo grado
𝑎𝑥 2 + 𝑏𝑥 + 𝑐 = 0
30
Guía de MATLAB – Para principiantes
−𝑏 ± √𝑏 2 − 4𝑎𝑐
𝑥1,2 =
2𝑎
>> syms a b c x; %Declaramos variables simbólicas
>> eq=a*x^2+b*x+c;
>> solve(eq,x) %Resolvemos respecto a la
variable simbólica x
ans =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
3𝑥 + 2𝑦 = −1
{
𝑥−𝑦 =2
31
Guía de MATLAB – Para principiantes
Ejemplos:
2𝑥 + 4𝑦 + 6𝑧 = 18
4𝑥 + 5𝑦 + 6𝑧 = 24
3𝑥 + 𝑦 − 2𝑧 = 4
>> A = [2,4,6;4,5,6;3,1,-2];
>> B = [18;24;4];
>> C = det(A)
C =
6 % Determinante distinto de 0, solución única
>> sol1 = inv(A)*B % Método de la matriz inversa
sol1 =
4.0000
-2.0000
3.0000
ans =
1 0 0 4
0 1 0 -2
0 0 1 3
32
Guía de MATLAB – Para principiantes
3.5. Series
La función symsum(f,a,b) suma la expresión f a medida que la variable
simbólica varía de a a b
5
𝑠 = ∑ 𝑘 2 = 12 + 22 + 32 + 42 + 52 = 55
𝑘=1
>> syms k; %Declaramos variable simbólica
>> symsum(k^2,1,5) %Sumatoria de 1 a 5
ans =
55
𝑁
𝑁(𝑁 + 1)
∑𝑘 =
2
𝑘=0
>> syms k N; %Declaramos variables simbólicas
>> symsum(k,0,N) %Sumatoria de 0 a N
ans =
(N*(N + 1))/2
𝑁
𝑁(𝑁 + 1)(2𝑁 + 1)
∑ 𝑘2 =
6
𝑘=0
>> syms k N; %Declaramos variables simbólicas
>> symsum(k^2,0,N) %Sumatoria de 0 a N
ans =
(N*(2*N + 1)*(N + 1))/6
∞
𝑥𝑘
= 𝑒𝑥 ∑
𝑘!
𝑘=0
>> syms x k %Declaramos variables simbólicas
>> symsum(x^k/sym('k!'),k,0,inf) %Sumatoria de k desde 0
a inf
ans =
exp(x)
33
Guía de MATLAB – Para principiantes
3.6. Límites
𝑥 2 + 2𝑥 − 1
lim ( )=1
𝑥→1 𝑥2 + 1
a x
lim (1 + )
x→∞ x
>> syms x a;
>> limit((1+a/x)^x,x,inf) %Calculamos limite
cuando x tiende a infinito
ans =
exp(a)
3/x2
lim(cos(2x))
x→0
>> syms x;
>> y=cos(2*x)^(3/x^2);
>> limit(y,x,0)
ans =
1/exp(6)
𝑓(𝑥 + ℎ) − 𝑓(𝑥)
𝑓 ′(𝑥) = lim
ℎ→0 ℎ
34
Guía de MATLAB – Para principiantes
>> syms x h;
>> f=@(x) sin(x) %función anónima
>> limit((f(x+h)-f(x))/h,h,0)
ans =
cos(x)
>> syms x;
>> y=(sin(x))^2;
>> yp=diff(y) %derivada con respecto a x
yp =2*cos(x)*sin(x)
>> ypp=diff(yp) %derivada de la derivada
ypp =
2*cos(x)^2 - 2*sin(x)^2
>> diff(y,2) %segunda
derivada (derivada de la derivada)
ans =
2*cos(x)^2 - 2*sin(x)^2
>> syms x y;
>> diff(x*sin(x*y),x) %derivada con respecto a x
ans =
sin(x*y) + x*y*cos(x*y)
>> diff(x*sin(x*y),y) %derivada con respecto a y
ans =
x^2*cos(x*y)
35
Guía de MATLAB – Para principiantes
Integrales indefinidas
Si no ponemos límites a la integral, obtenemos la integral indefinida, la
función cuya derivada es el integrando
𝟏 − 𝒄𝒐𝒔(𝟐𝒙) 𝟏 𝒔𝒊𝒏(𝟐𝒙)
∫ 𝒔𝒊𝒏𝟐 (𝒙)𝒅𝒙 = ∫ 𝒅𝒙 = 𝒙 − +𝒄
𝟐 𝟐 𝟒
Integales definidas
Para calcular la integral
𝜋 𝜋 𝜋
1 − 𝑐𝑜𝑠(2𝑥) 1 𝑠𝑖𝑛(2𝑥) 𝜋
∫ 𝑠𝑖𝑛2 (𝑥)𝑑𝑥 = ∫ 𝑑𝑥 = 𝑥 − | =
0 0 2 2 4 0
2
En este ejemplo,
+∞
∫ 𝑒𝑥𝑝(−𝑎𝑥 2 )𝑑𝑥
−∞
36
Guía de MATLAB – Para principiantes
ans =
>> clear
>> syms x; %Declaramos variable simbólica
>> syms a positive; %Declaramos variable positiva
>> y=exp(-a*x^2);
>> int(y,x,-inf,inf)
ans =
pi^(1/2)/a^(1/2)
37
Guía de MATLAB – Para principiantes
Ejemplo:
1 1
𝑢′ = 𝑢, 𝑢(0) =
2 4
>> u = dsolve('Du= u/2','u(0)= 1/4')
u =
exp(t/2)/4
>> u = dsolve('Du=u/2')
u =
C2*exp(t/2)
Comando ode45
Su sintaxis es la siguiente
[t,x]=ode45(odefun,tspan,x0, options, params)
38
Guía de MATLAB – Para principiantes
Ejemplo:
Para el intervalo de [0,5], calcular:
𝑢′ = 2𝑡 𝑢(0) = 0
Ejemplo:
Resolver el sistema de ecuaciones diferenciales:
𝑑𝑥
= −𝑎𝑥
𝑑𝑡
𝑑𝑦
= 𝑎𝑥 − 𝑏𝑦
𝑑𝑧𝑡
39
Guía de MATLAB – Para principiantes
a=0.5;
b=0.7;
%condiciones iniciales en el vector x0
x0=zeros(1,2);
x0(1)=0;
x0(2)=1;
tf=5 %tiempo final
tspan=[0 tf];
fg=@(t,x) [-a*x(1);a*x(1)-b*x(2)];
[t,x]=ode45(fg,tspan,x0);
plot(t,x,'-o')
Ejemplo:
𝑑𝑦
= −0.2(1 − 0.23𝑥)/𝑦
𝑑𝑧
𝑑𝑥
= 1.5(1 − 𝑥)𝑦/(1 − 0.2𝑥)
𝑑𝑧
Para valores de:
𝑥(0) = 0 , 𝑦(0) = 1.0 , 𝑧(0) = 0 , 𝑧(𝑓) = 3.0
Podemos obtener el resultado de manera directa con el comando ode45:
>> x0=zeros(1,2);
>> x0(1)=0;
40
Guía de MATLAB – Para principiantes
>> x0(2)=1;
>> tspan=[0,3];
>> fg=@(t,x) [1.5*(1-x(1))*x(2)/(1-0.2*x(1));-0.2*(1-
0.23*x(1))/x(2)];
>> [t,x]=ode45(fg,tspan,x0);
>> plot(t,x,'-o')
41
Guía de MATLAB – Para principiantes
>> syms x;
>> sym2poly(x^3-2*x-4) %Polinomio en forma simbólica
ans =
1 0 -2 -4
>> syms x;
>> p=x^5-3.5*x^4+2.75*x^3+2.125*x^2-3.875*x+1.25;
>> subs(p,x,1.5) %Valor de x de 1.5
ans =
-0.6250
42
Guía de MATLAB – Para principiantes
>> p = polyfit(x, y, n)
Ejemplo:
43
Guía de MATLAB – Para principiantes
>> syms x;
>> p1=x^3-2*x-4;
>> p2=x^2+3*x+4;
>> p1+p2
ans =
x^3 + x^2 + x
Para sumar dos polinomios en forma de vectores, los vectores tiene que
tener las mismas dimensiones
44
Guía de MATLAB – Para principiantes
>> syms x;
>> p1=x^3-2*x-4;
>> p2=x^2+3*x+4;
>> p=p1*p2
p =
-(x^2 + 3*x + 4)*(- x^3 + 2*x + 4)
>> expand(p)
ans =
x^5 + 3*x^4 + 2*x^3 - 10*x^2 - 20*x - 16
4.6. Cociente
𝑥 3 + 5𝑥 2 + 11𝑥 + 13 𝑥+1
2
= (𝑥 + 3) + 2
𝑥 + 2𝑥 + 4 𝑥 + 2𝑥 + 4
De forma simbólica
>> syms x;
>> p1=x^3+5*x^2+11*x+13;
>> p2=x^2+2*x+4;
>> p=p1/p2
p =
(x^3 + 5*x^2 + 11*x + 13)/(x^2 + 2*x + 4)
>> simplify(p)
ans =
x + (x + 1)/(x^2 + 2*x + 4) + 3
45
Guía de MATLAB – Para principiantes
4.7. Derivada
La regla de derivación de cada término de un polinomio es
𝑑
𝑎𝑥 𝑛 = 𝑛𝑎𝑛−1
𝑑𝑥
>> syms x;
>> p=x^3+4*x^2-3*x-2;
>> diff(p) %Primera derivada del polinomio
p
ans =
3*x^2 + 8*x - 3
>> diff(p,2) %Segunda derivada del polinomio
p
ans =
6*x + 8
4.8. Integral
La integral de cada uno de los términos del polinomio se calcula mediante la
fórmula
𝑥 𝑛+1
∫ 𝑎𝑥 𝑛 𝑑𝑥 = 𝑎
𝑛+1
46
Guía de MATLAB – Para principiantes
47
Guía de MATLAB – Para principiantes
0.5000
Conocidas las raíces del polinomio podemos calcular el vector que guarda los
coeficientes mediante poly
4.10. Factorización
La función factor convierte un polinomio expresado en forma simbólica en
factores
4.11. Expansión
La función expand realiza operaciones con polinomios, por ejemplo, devuelve
el polinomio p a partir de sus factores
48
Guía de MATLAB – Para principiantes
5. GRAFICAS 3D EN MATLAB
MATLAB tiene posibilidades de realizar varios tipos de gráficos 3D, muchas
de ellas son simples generalizaciones de funciones disponibles para
graficación en dos dimensiones.
Ejemplo:
49
Guía de MATLAB – Para principiantes
Ejemplo:
>> t = 0:pi/50:10*pi;
comet3(sin(t),cos(t),t);
grid on;
xlabel('eje-X'), ylabel('eje-Y'), zlabel('eje-Z');
Ejemplo:
>> z = [ 1 2 3 4 5 6 7 8 9 10; 2 4 6 8 10 12 14 16 18 20
; 3 4 5 6 7 8 9 10 11 12];
mesh(z);
grid on;
xlabel('eje-X'), ylabel('eje-Y'), zlabel('eje-Z');
50
Guía de MATLAB – Para principiantes
>> x=linspace(1,50,10);
y=linspace(500,1000,3);
z = [ 1 2 3 4 5 6 7 8 9 10; 2 4 6 8 10 12 14 16 18 20 ; 3
4 5 6 7 8 9 10 11 12] ;
mesh(x,y,z),
grid on;
xlabel('eje-X'), ylabel('eje-Y'), zlabel('eje-Z');
51
Guía de MATLAB – Para principiantes
Meshgrid
Con la función meshgrid se crean dos matrices X (cuyas filas son copias de
x) y Y (cuyas columnas son copias de y). Estas matrices representan
respectivamente las coordenadas x y y de todos los puntos de la retícula.
Ejemplo:
>> x = 1:3;
y = 1:5;
[X,Y] = meshgrid(x,y)
X =
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
Y =
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
Ejemplo:
>> x= [-2:0.2:2];
y= [-2:0.2:2];
[X,Y]=meshgrid(x,y);
Z= X.*exp(-X.^2 -Y.^2);
mesh(X,Y,Z);
grid on;
xlabel('eje-X'), ylabel('eje-Y'), zlabel('eje-Z');
52
Guía de MATLAB – Para principiantes
Ejemplo:
53
Guía de MATLAB – Para principiantes
Shading flat
Elimina el mallado, asigna un color para cada región de la malla dependiendo
de su altura.
54
Guía de MATLAB – Para principiantes
Shading interp
Sobreado interpolado, que elimina el mallado y difumina los cambios de color.
Shading faceted
Se muestra por defecto, la malla es de color negro y la superficie adopta un
color para cada región dependiendo de su altura.
55
Guía de MATLAB – Para principiantes
Colormap
Establece el mapa de la figura actual en uno de los colormaps predefinidos
Ejemplo:
>> x = -10:0.5:10;
y =x;
[X,Y] = meshgrid(x,y);
Z = sin (sqrt(X .^2 + Y .^2)) ./ sqrt(X .^ 2 + Y .^ 2 +
0.1);
ax1=subplot(1,2,1);
surf (X,Y,Z);
colormap(ax1,jet)
shading interp;
ax2=subplot(1,2,2);
surf (X,Y,Z);
colormap(ax2,spring)
shading interp;
figure
ax3=subplot(1,2,1);
surf (X,Y,Z);
colormap(ax3,hot)
shading interp;
ax4=subplot(1,2,2);
surf (X,Y,Z);
colormap(ax1,autumn)
shading interp;
56
Guía de MATLAB – Para principiantes
57
Guía de MATLAB – Para principiantes
Comando contour
Crea una gráfica de contorno 2-D.
Ejemplo:
>> x = -10:0.5:10;
y =x;
[X,Y] = meshgrid(x,y);
Z = sin (sqrt(X .^2 + Y .^2)) ./ sqrt(X .^ 2 + Y .^ 2 +
0.1);
contour(X,Y,Z);
Comando pcolor
Crea una matriz rectangular de celdas con colores determinados por
MATLAB.
Ejemplo:
58
Guía de MATLAB – Para principiantes
59
Guía de MATLAB – Para principiantes
6. M-ARCHIVOS
Existen dos tipos de M-archivo, es decir, de archivos con extensión *.m. Un
tipo son los ficheros de comandos (es un archivo script) y el otro son la
funciones.
6.1. Editor
Para crear un nuevo archivo .m nos dirigimos al icono New y elegimos la
opción correspondiente (Script, Function, etc.). Aparece entonces la ventana
Editor donde podemos escribir las sentencias.
6.2. Script
Un Script o fichero de comandos contiene simplemente un conjunto de
comandos que se ejecutan sucesivamente cuando se teclea el nombre del
fichero en la línea de comandos de MATLAB o se incluye dicho nombre en
otro fichero *.m.
Para crear el script, se escriben los datos de entrada en el Editor de esta
manera:
60
Guía de MATLAB – Para principiantes
Ejemplo:
% ÁREA DE UN TRAPECIO
% Pide al usuario las dimensiones de un trapecio
b=input('Ingrese la base menor (m):');
B=input('Ingrese la base mayor (m):');
h=input('Ingrese la altura (m): ');
%Calcula el área del trapecio
A=h*(b+B)/2;
%Muestra en pantalla el área del trapecio
disp(['El área del trapecio es: ',num2str(A), 'm2 '])
61
Guía de MATLAB – Para principiantes
6.3. Funciones
Las funciones permiten definir funciones análogas a las de MATLAB, con su
nombre, argumentos y valores de salida. La primera línea que no sea
comentario debe empezar por la palabra function, seguida por los valores de
salida (entre corchetes [ ] y separados por comas si hay más de uno), el
signo igual (=) y el nombre de la función seguido de los argumentos (entre
paréntesis ( ) y separados por comas):
Todas las variables dentro de una función se aíslan del espacio de trabajo de
MATLAB. Las únicas conexiones entre las variables dentro de una función y
el espacio de trabajo de MATLAB son las variables de entrada y salida.
Debemos tener siempre en cuenta que los argumentos pueden ser vectores,
luego si queremos que las operaciones se hagan elemento a elemento y no
vectorialmente debemos usar el punto.
62
Guía de MATLAB – Para principiantes
Ejemplo:
>> x = 1:10;
>> y = 16:-2:-2;
>> [a,b] = calculos (x,y)
a =
17 16 15 14 13 12 11 10 9
8
b =
-15 -12 -9 -6 -3 0 3 6 9
12
63
Guía de MATLAB – Para principiantes
7. DECISIONES y CICLOS
Las decisiones son operaciones computacionales que permiten condicionar la
ejecución de instrucciones dependiendo del resultado de una expresión cuyo
resultado únicamente puede ser: verdadero o falso. Se utiliza la sentencia if.
Los ciclos o bucles son estructuras de control que permiten repetir las
mismas o análogas operaciones sobre datos distintos. MATLAB soporta dos
tipos diferentes de bucles: el bucle for y el bucle while.
if Condición
Instrucciones del bloque A
end
64
Guía de MATLAB – Para principiantes
Matemáticas MATLAB
Operadores relacionales
<, >, ≤, ≥, =, ≠ <, >, <=, >=, ==, ~=
if p > 40
p = 0.9*p;
end
65
Guía de MATLAB – Para principiantes
66
Guía de MATLAB – Para principiantes
if Condición
Instrucciones del bloque A
else
Instrucciones del bloque B
end
67
Guía de MATLAB – Para principiantes
68
Guía de MATLAB – Para principiantes
Antes del bloque, las variables a y b tienen que haber sido asignadas algún
valor, caso contrario sería un error
Variables
c: Cantidad de horas trabajadas en la semana
t: Tarifa por hora
d: Descuentos que se aplican al pago semanal
p: Pago que recibe el obrero
%Pago semanal
c=input('Horas trabajadas ');
t=input('Tarifa por hora ');
d=input('Descuentos ');
if t <= 40
p=c*t - d;
69
Guía de MATLAB – Para principiantes
else
p=40*t + 1.5*t*(c - 40) - d;
end
disp('Valor a pagar');
disp(p);
Ejemplo. Dados dos números enteros, determinar si uno es múltiplo del otro.
%Determinar si un número es múltiplo de otro
a=input('Ingrese el primer número ');
b=input('Ingrese el segundo número ');
if mod(a,b) == 0 | mod(b,a) == 0
disp('son múltiplos');
else
disp('no son múltiplos');
end
Ejemplo: Suponga que un local vende llantas para cierto tipo de carro con la
siguiente política:
70
Guía de MATLAB – Para principiantes
Variables
71
Guía de MATLAB – Para principiantes
for i=a:b:c
Bloque de instrucciones que se repiten
end
72
Guía de MATLAB – Para principiantes
En donde
i: Variable que toma los valores del conteo
a: Valor inicial del conteo
b: Valor con el que se incrementa el conteo
c: Valor final del conteo
Variables
n: Cantidad de números naturales
s: Suma de los cubos
i: Conteo de ciclos (sus valores son los números naturales)
%Suma de cubos
n=input('Ingrese el valor final ');
s=0;
for i=1:n
s=s + i^3;
end
disp('La suma es');
disp(s);
73
Guía de MATLAB – Para principiantes
Ejemplo. Dado un número entero, liste las raíces cuadradas de los enteros
impares entre 1 y el dato dado.
74
Guía de MATLAB – Para principiantes
disp(s);
while Condición
Bloque de instrucciones que se repiten
end
75
Guía de MATLAB – Para principiantes
algún ciclo la condición tenga el resultado falso (F) para salir de la estructura
y continuar la ejecución después del bloque.
76
Guía de MATLAB – Para principiantes
77
Guía de MATLAB – Para principiantes
8.1. Introducción
GUIDE es un entorno de programación visual disponible en MATLAB
para realizar y ejecutar programas que necesiten ingreso continuo de
datos. Tiene las características básicas de todos los programas visuales
como Visual Basic o Visual C++.
8.2. Inicio
Para iniciar nuestro proyecto ejecutamos la siguiente instrucción en la
ventana de comandos:
>> guide
78
Guía de MATLAB – Para principiantes
• GUI with Axes and Menu: Esta opción es otro ejemplo el cual con
tiene el menú File con las opciones Open, Print y Close. En el
formulario tiene un Popup menu, un push button y un objeto Axes,
podemos ejecutar el programa eligiendo alguna de las seis opciones
que se encuentran en el menú despegable y haciendo click en el
botón de comando.
79
Guía de MATLAB – Para principiantes
Alinear objetos
Editor de menú
Editor de orden de etiqueta
Editor de barra de herramientas
Editor del M-file
Propiedades de objetos
Navegador de objetos
Grabar y ejecutar (ctrl. + T).
80
Guía de MATLAB – Para principiantes
Importante:
• El editor permite construir interfaces arrastrando y soltando
componentes en el área de diseño de la GUI
• Todas las GUIs creadas con guide empiezan con una función inical
(callback) que se invoca cuando se invoca la interfaz.
• La operación automática de guardado (sabe) genera un fichero .m y
un fichero .fig
81
Guía de MATLAB – Para principiantes
82
Guía de MATLAB – Para principiantes
handles.output = hObject;
guidata(hObject, handles);
guidata(hObject,handles);
83
Guía de MATLAB – Para principiantes
Por ejemplo, si dentro de una subrutina una operación dio como resultado
una variable luis para poder utilizarla desde el programa u otra subrutina
debemos salvarla de la siguiente manera:
handles.luis=luis;
guidata(hObject,handles);
unt= get(handles.slider1,'Value');
Ejemplo
Calculadora de la presión de vapor para sustancias puras utilizando la
Ecuación de Antoine.
𝐵
𝑙𝑜𝑔𝑃𝑣𝑎𝑝 = 𝐴 −
𝑇+𝐶
84
Guía de MATLAB – Para principiantes
85
Guía de MATLAB – Para principiantes
A=handles.A;
B=handles.B;
C=handles.C;
T=handles.temperatura;
Pv=10^(A-B/(T+C));
set(handles.Pvap,'String',Pv);
86
Guía de MATLAB – Para principiantes
Gracias a este panel Button Group, los radio button que se encuentren
dentro del panel podrán seleccionarse solamente uno a la vez haciéndolo
muy útil para los casos en los cuales e necesitan presentar una de varias
opciones en la GUI.
87
Guía de MATLAB – Para principiantes
estado = get(handles.radiobt1,'Value');
if estado==1
set(handles.txtSalida,'String', 'Opcion 1');
88
Guía de MATLAB – Para principiantes
end
estado = get(handles.radiobt2,'Value');
if estado==1
set(handles.txtSalida,'String', 'Opcion 2');
end
estado = get(handles.radiobt3,'Value');
if estado==1
set(handles.txtSalida,'String', 'Opcion 3');
end
estado = get(handles.radiobt4,'Value');
if estado==1
set(handles.txtSalida,'String', 'Opcion 4');
end
Recuerde que radiobt1 es el nombre del primer radio button sobre la GUI,
con el código estado = get(handles.radiobt1,'Value');
guardamos en la variable estado el estado del radio button, siendo 1 para
seleccionado y 0 para no seleccionado.
De igual modo se repite la acción para los radio button siguientes, radiobt2,
radiobt3 y radiobt4.
if estado==1
set(handles.txtSalida,'String', 'Opcion 2');
end
Determina el String del Static text con nombre de txtSalida, según el valor de
la variable estado.
89
Guía de MATLAB – Para principiantes
8.8. ListBox
90
Guía de MATLAB – Para principiantes
inf=get(hObject,'Value');
gos=get(hObject,'String');
switch inf
case 1
set(handles.text1,'string','Opción 1
seleccionada');
case 2
set(handles.text1,'string','Opción 2
seleccionada');
case 3
set(handles.text1,'string','Opción 3
seleccionada');
91
Guía de MATLAB – Para principiantes
case 4
set(handles.text1,'string','Opción 4
seleccionada');
case 5
set(handles.text1,'string','Opción 5
seleccionada');
case 6
set(handles.text1,'string','Opción 6
seleccionada');
case 7
set(handles.text1,'string','Opción 7
seleccionada');
case 8
set(handles.text1,'string','Opción 8
seleccionada');
end
92
Guía de MATLAB – Para principiantes
9. BIBLIOGRAFIA
- MATLAB Programming, MATLAB The Language of Technical
Computing, 2004, The MathWorks, Inc.
93