Anda di halaman 1dari 49

UPS

IMA
MatLab Fundamentos y Aplicaciones
en Ingeniera

Carrera de Ingeniera Mecnica


Automotriz
Jos Bermeo Vallejo
2012
Cuenca Ecuador

MatLab Fundamentos y aplicaciones en Ingeniera


Introduccin
Matlab es una herramienta de gran potencial de aplicaciones generales
que realiza clculos en base a matrices y es de aqu su nombre (Matrix
Laboratory). Dentro de su programacin se encuentran comandos que
permiten resolver de manera rpida y directa ecuaciones, que dispondremos
segn aplicaciones de ciencias especficas.
La utilidad de MatLab comprende cualquier campo que involucre la
matemtica, y al ser toda la naturaleza quien la domine, podemos hacer uso
de este mediante cualquiera de sus ramas el software, ya sea para explicar,
calcular, indagar y hasta pronosticar cualquier fenmeno que se pueda
presentar, utilizando matemticas, con resultados precisos en funcin de los
modelos y ecuaciones que dispongamos.
De esta manera tenemos claro el alcance del programa, dependiendo del
campo en el requerimos trabajar, y si se debe trabajar con ecuaciones
complicadas y gran cantidad de datos, sabremos disponer de los software
para optimizar nuestro tiempo e incluso mejorar nuestras presentaciones.
El campo de la ingeniera, sera un lugar ideal por su sinfn de aplicaciones
matemticas, en consecuencia el uso de MatLab por parte del ingeniero es
substancial, pues este le permite obtener resultados de forma casi inmediata,
sin importar las veces que necesite variar los datos de entrada, pues estos se
ejecutarn siempre con una lgica que el mismo ingeniero ha escrito, y la
mayor parte del tiempo se podr dedicar a la interpretacin de los resultados
hasta obtener una aceptable o muy buena conclusin de su proyecto.
En el presente documento, se aborda el manejo de MatLab y se trabajar
enfticamente en aplicaciones de ingeniera. Los pocos comandos que se
tomarn tienen amplia aplicacin en ingeniera, por supuesto depender en lo
posterior del refuerzo y uso especfico de la herramienta, y ser el mismo
ingeniero que de acuerdo a sus necesidades quien desarrolle sus propios tiles
que le permitirn realizar de mejor manera sus trabajos.

Jos Bermeo Vallejo

MatLab Fundamentos y aplicaciones en Ingeniera


Acerca de este manual
Contiene informacin de comandos y procesos que se ha compilado de
varias experiencias de manejo del software. No pretende ser la ltima palabra
en programacin del software pero s un soporte para el ya ingeniero o
aspirante a serlo o el aficionado que desee explorar MatLab.
Se asume que el lector tiene algn conocimiento de manejo de
computadores y software en Windows, no precisamente de matemticas.
No existe prerrequisito mayor, pero se aconseja conocer el clculo, algebra
y matemticas en general, pues el manual se desarrolla con ejemplos de
ingeniera, sin embargo cada usuario de este manual encontrar pautas que
podr aplicar en campos especficos.
Se anima al lector y futuro programador de MatLab a finalizar el documento
y reforzar sus conocimientos, al final del libro se recomendar alguna
bibliografa de las aplicaciones que se tiene en el manual.

Nota: El uso de MatLab no resulta complicado ni imposible de manejar,


contrario al pensamiento comn, programar en este programa y generar
resultados de manera inmediata es bastante reconfortante, lo difcil es llegar a
obtener todo el conocimiento cientfico para utilizarlo en nuestra rea de
inters.

Si uno avanza confiadamente en la direccin de sus sueos y deseos para


llevar la vida que ha imaginado, se encontrar con un xito inesperado.

Henry David Thoreau

II

MatLab Fundamentos y aplicaciones en Ingeniera


Captulo I. Entorno de MatLab
La ventana de MatLab, segn se observa en la figura 1.1, dispone
bsicamente de 3 sub ventanas que son: Command Window, Workspace y
Command Hystori, y su funcin se desribe:
-

Command Window. En esta sub ventana se ingresan todos los datos y


comandos que se ejecutarn de manera directa, en esta ventana
podemos realizar una simple suma o resolver una ecuacin diferencial.

Workspace: En esta sub ventana podremos estar informados de todas


las variables simblicas o numricas creadas, as como tambin de los
vectores o arreglos que hayamos generado, ya sean en la misma
Comman Window o al ejecutar un archivo m-file. Esta ventana permitir
consultar los datos del valor de las variables o su edicin, esta ltima se
podr realizar en una sub ventana adicional de edicin de variables
denominada Variable Editor que veremos ms adelante.

Command Hystori. Almacena todos los comandos o datos ingresados,


con el encabezado que estar compuesto de la fecha y la hora que
hayamos abierto el programa.

Varible editor. De acuerdo a su nombre en ingls, esta es la sub ventana


de edicin de variables (figura 1.3), y esta de la ventana que hablamos
anteriormente. Se puede ejecutar directamente desde el Workspace
seleccionando la variable que deseamos editar y haciendo clic en el
botn Open seleccin que se muestra en la figura 1.2.
De igual manera que otros programas tenemos tambin barras de
herramientas en la ventana principal. Segn se ve en la figura 1.4
tenemos una barra de herramientas estndar - con funciones similares
a otros programas y la MatLab toolbar que tiene un sector de
herramienta estndar de Copiar, pegar, cortar, deshacer y deshacer,
pero adems posee sectores adicionales propios de MatLab, que
deberemos ubicar e identificar. Se indican en la figura 1.4 y su utilidad y
aplicacin se retomar al tratar cada tema en captulos posteriores.

Command history

Command Window

Workspace

MatLab Fundamentos y aplicaciones en Ingeniera

Figura 1.1 Ventana de MatLab y sub ventanas bsicas de trabajo

Figura 1.2 Botn de apertura de la subventana Variable editor

Segn se puede observar en la figura 1.2 se ha seleccionado el arreglo o


Matriz A y a continuacin se presiona el botn Open selection (indicado con
la flecha). En la segunda columna de la ventana del workspace, est el valor
de cada variable, vemos que es una matriz de 9x10 y es de tipo double (tipo
de variable que soporta decimales), nos indica en la tercera y cuarta columna
el menor y mayor valor numrico de los elementos de la matriz.

MatLab Fundamentos y aplicaciones en Ingeniera

Figura 1.3 Sub Ventana Variable Editor

Iniciar GUIDE

Iniciar Simulink

Iniciar m-file

En esta ventana podremos variar el valor de todos los elementos de la


matriz si as lo requiriramos, se han seleccionado algunas celdas para mostrar
su edicin y su tratamiento ser muy similar a las hojas de clculo de Excel.
Podemos tambin comprobar que es una matriz de 9 filas por 10 columnas, y
podemos continuar incrementando elementos en la misma.

Figura 1.4 Barras de herramientas de MatLab y botones de acceso a funciones


complementarias

Como se comento anteriormente, los tres botones que se muestran en la


figura 1.4 muestran el acceso al m-file, a Simulink y al GUI, no se entrar en
detalle en este captulo y se tratar de estas aplicaciones en captulos
posteriores, pero se las deber tener en cuenta al momento de trabajar con
las mismas.

MatLab Fundamentos y aplicaciones en Ingeniera


Captulo 2. Clculos bsicos en MatLab
Normalmente, el principiante en MatLab encuentra solo las ventanas que se
mostraron en la figura 1.1 y pierden el inters optando por otros programas de
matemticas. Esto es debido a que no existen botones para realizar
directamente una grfica o smbolos que permitan realizar una integral u otra
operacin matemtica. En este captulo se indicar como se deben ingresar
algunos comandos para realizar fundamentalmente operaciones aritmticas o
de clculo. Tambin se harn operaciones algebraicas como por ejemplo
despejar una variable y evaluar una ecuacin al reemplazar variables
numricas por numricas. Todo lo que se aprenda en los captulos ser
acumulativo y en las siguientes secciones se escribirn cdigos que involucren
estos y otros comandos con objetivos especficos.

2.1 Operaciones aritmticas


La aritmtica es la rama de las matemticas que trata de proceso numrico
elemental que son suma, resta multiplicacin y divisin.
Realizar operaciones aritmticas en MatLab es muy sencillo, si estamos
familiarizados con una calculadora bsica, observaremos que se mantiene el
proceso.
En la tabla 2.1 se muestran los operadores con los que MatLab interpretar
la operacin que deseemos realizar.
Operador
+
*
/
sqrt(x)
x^y

Operacin
Suma
Resta
Multiplicacin
Divisin
Raz cuadrada del valor de x
Potencia del nmero x a y

Mtodo de ingreso
>> 5 + 4 (enter)
>> 6 - 5 (enter)
>> 2 * 3 (enter)
>> 16 / 4 (enter)
>> sqrt (16) (enter)
>> 5^2(enter)

El smbolo >> se conoce como promt e indica que MatLab est listo para
que el usuario pueda ingresar datos. En la figura 2.1 podemos ver la realizacin
de una potenciacin y una raz cuadrada como primera y segunda operacin
respectivamente. Vemos tambin que luego de dar enter, aparece ans e
inmediatamente la respuesta, esto se debe a que MatLab crea
automticamente una variable con el nombre ans que almacenar el
resultado, esto lo podemos confirmar observando la ventana Workspace con
la variable creada y su valor. Como valor, luego de realizar la operacin de
raz cuadrada tenemos 15, este valor cambiar mientras continuemos
realizando operaciones sin asignar el resultado a una variable creada por el
usuario. En la ltima operacin de una raz cuadrada sin concluir se activ
4

MatLab Fundamentos y aplicaciones en Ingeniera


automticamente un cuadro que indica como es el correcto ingreso del
comando, esta ayuda est disponible en versiones actuales de MatLab.

Figura 2.1 Operaciones aritmticas bsicas

Una pregunta que se tiene inmediatamente es cmo realizar races de


mayor grado, si recordamos que la raz es la operacin inversa de la potencia,
entonces tendremos que realizarlo de la siguiente manera:

>> (81)^(1/4)
ans =
3
que es la raz cuarta de 81, probemos ahora extrayendo la raz cuadrada
de cualquier nmero con el mtodo recin aprendido, y el resultado ser el
mismo que utilizar sqrt.

MatLab Fundamentos y aplicaciones en Ingeniera


1.2 Funciones trascendentes
Para operar de MatLab con funciones trascendentes, se debe indicar
con la digitacin respectiva de cada una. A continuacin se presenta la
manera de efectuarlo.
En la figura 2.2, se puede observar la ayuda sobre el ingreso de estas
funciones. Esta ayuda de MatLab es muy til si se conoce el comando pero no
se recuerda el mtodo de ingreso, se digita help seguida del comando a
consultar. En esta ocasin se ha consultado el ingreso de la funcin logartimo y
la funcin exponencial. En la primera consulta se tiene >> help log (enter) y
aparece una ayuda indicando que Log(x)es el logaritmo natural de la
funcin o valor x que en las calculadoras se tiene normalmente como Ln,
nos indica tambin que para un logaritmo de base 10 de una funcin o
varialbe x se debe ingresar >> log10(x) (enter) y si deseamos continuar con
los dems logaritmos lo podremos realizar haciendo clic cobre los vnculos en
azul.

Figura 1.2 Ayuda de MatLab para funciones trascendentes

En la segunda consulta tenemos la funcin exponencial, de igual manera


nos indica el mtodo de ingreso y la defincin del comando. Se debe tener

MatLab Fundamentos y aplicaciones en Ingeniera


cuidado de no confundir >> exp ( x ) con >> e ( x ), puesto que el segundo
caso la e se utiliza para notacin cientfica, como ejemplo tenemos:

>> 56^12
ans =
9.5117e+020

En ocasiones, vamos a necesitar ingresar un nmero con notacin cientfica


y su ingreso ser:

>> 5e-12
ans =
5.0000e-012

1.3 Declaracin de variables


Las variables en MatLab pueden ser numricas o simblicas, las variables
numricas tendrn un valor numrico que puede cambiar de acuerdo al valor
que nosotros le asignemos, sea en una operacin o al darle directamente un
valor. Las variables simblicas son muy tiles al trabajar con algebra y con
ecuaciones que van a ser despejadas, estas variables podrn ser ms tarde
reemplazadas con una valor numrico, pero podemos conservar la ecuacin
original.
Trabajemos en primera instancia con variables numricas. Recordemos que
la variable ans era creada por defecto por MatLab, y a esta se le asignaba
el valor del resultado de una operacin. El objetivo de trabajar con variables
numricas es de que estas, se podrn utilizar tantas veces sean necesarias en
operaciones que posteriormente vayamos a necesitar, veamos con un
ejemplo sencillo con operaciones aritmticas.

MatLab Fundamentos y aplicaciones en Ingeniera

Figura 1.3 Declaracin de variables numricas

Observemos en la figura 1.3 primeramente el workspace, tenemos las


variables a, b, c y d, que hemos creado y tenemos tambin el valor que les
hemos asignado en el Command Window, se puede apreciar la manera
sencilla de declarar estas variables, esta es >> b = 3 (enter). Por ltimo
realizamos una operacin aritmtica que consiste en una potenciacin
sumada a una multiplicacin, de igual manera podemos utilizar constantes
numricas que es el valor que se utiliz para multiplicar a la variable b
Con estos simples ejemplos hemos manipulado un poco de aritmtica con
variables simblicas, sera buen momento para continuar con el ingreso de
nuevas variables, podemos incluso probar con algunas formulas matemticas
y comprobar su resultado, esto servir tambin para familiarizarnos con el
correcto ingreso de la informacin que vayamos a procesar para evitar errores
por un parntesis o una divisin o no poner un * en la multiplicacin.
Debemos cerrar los parntesis que hayamos abierto y utilizar el asterisco para
realizar las multiplicaciones

Para declarar variables simblicas existen dos mtodos, pero el ms sencillo


y efectivo es el siguiente
8

MatLab Fundamentos y aplicaciones en Ingeniera


>> syms x y t n
en este ejemplo hemos declarado las variables simblicas x, y, t y n pero no
podemos declarar ms incluso formar palabras si necesitamos ser ms
explcitos en alguna variable. A continuacin se presenta algunas variables
reservadas de MatLab y que no podremos declarar, de lo contrario
generaremos un error de proceso.

Variable
pi
i
j
Inf
NaN
ans

Significado
valor de
Indicador de nmero complejo
Indicador de nmero complejo
Infinito
Not a Number comnmente en indeterminaciones
Variable creada automticamente para asignar un valor
numrico de un resultado

Tabla 2.2 Variables simblicas propias de MatLab, no se recomienda su uso como


variables simblicas

1.4 Matemtica simblica

Hemos visto hasta ahora como realizar clculos aritmticos y declaracin de


variables, en esta seccin haremos aplicacin de los dos anteriores, pero con
aplicaciones de clculo, algebra y ecuaciones para despejar
automticamente una variable. Los comandos que sern necesarios se
presentan en la siguiente tabla.

MatLab Fundamentos y aplicaciones en Ingeniera


Comando
>> pretty (f)

>> simplify (f)


>> solve (f(x)=b,x)
>> eval (f,x)
>> subs (f,x,n)
>> subs (f,{x,y,..},{n,m,...})
>> limit(f,x,inf)
>>
>>
>>
>>

limit(f,x,a)
diff(f,x)
diff(f,x,n)
int(f,x)

>> int(f,x,-a,a)
>> int(int(f,x,-a,a),y,-b,b)
>> dsolve(f(x),x)
>> dsolve(f(x),c1,c2,..,cn,x)

Funcin que cumple


Ordena la ecuacin de manera
simblica
a
forma
de
escritura
matemtica
Simplificacin
de
la
ecuacin
f
reducindola a su expresin ms corta
posible
Despeja y resuelve la ecuacin f(x) para
la variable x
Evala la ecuacin f con los valores de x y
devuelve su resultado
Reemplaza en la ecuacin f la variable x
con el valor de n
Reemplaza en la ecuacin f las variable
x,y, con el los valores de n,m,.
Lmite de la funcin f cuando x tiende al
infinito
Lmite de la funcin f cuando x tiende a a
Derivada de la funcin f respecto de x
Derivada n-esima de la funcin f
Integral indefinida de f respecto de x
Integral definida de una funcin f en el
rango de -a hasta a
Doble integral definida de la funcin f,
primero respecto de x y luego respecto
de y
Resuelve la ecuacin diferencial f(x) cuya
variable es x
Resuelve la ecuacin diferencial f(x) con
condiciones iniciales ci

Tabla 2.3 Operadores de uso generalizado

Veamos adems las funciones trigonomtricas, para luego proceder con


algunos ejemplos y que sea el lector quien contine con ms ejercicios.

10

MatLab Fundamentos y aplicaciones en Ingeniera

Funcin
>> sin(f)
>> cos(f)
>> tan (f)
>> sind(f)
>> cosd(f)
>> tand(f)

Operacin
Seno de la funcin
o variable x
Coseno de f
Tangente de f
Seno de f y se
tomar de grados
(degrees)
Coseno en grados
de f
Tangente en
grados de f

Funcin

Operacin

>> acos(f)

Arco coseno de f

>> asin(f)
>> atan(f)

Arco seno de f
Arco tangente de f

>> sinh(f)

Seno hiperblico
de f

>> cosh(f)
>> tanh(f)

>> cot(f)

Cotangenere de f

>> asinh(f)

>> sec(f)

Secante de f

>> acosh(f)

>> csc(f)

Cosecante de f

>>atanh(f)

Coseno hiperblico
de f
Tangente
hiperblico de f
Arco seno
hiperblico de f
Arco coseno
hiperblico de f
Arco tangente
hiperblico de f

Tabla 2.4 Funciones trigonomtricas

A continuacin se presentan algunos ejemplos:

>> syms x y t
>> simplify (-3*x*y + 5*x^2 2*x*y)
ans =
- 5*x*y + 5*x^2
>> diff (x^2 + sin(x^2) - y,x)
ans =
2*x 2*x*cos(x^2)
>> int(int ( x + y ,x) ,y)
ans =
x^2/2 + y^2/2

Se proponen algunos ejercicios para que puedan ser resueltos en MatLab,


sin embargo queda a libertad del usuario realizar los ejercicios que creyera
conveniente a fin de adquirir ms destreza.

11

MatLab Fundamentos y aplicaciones en Ingeniera

Lmites

Derivadas

Integrales
cos ( )

3 + 2
lim

7 + 3

lim

+ 2 +
3 + 1 + 4

sin ( )

2 sin( ) + 1

ln ( )
cos ( )

cos (

+3 )

Es prueba bastante evidente de la optimizacin de tiempo que se logra, por


mucha habilidad y conocimiento matemtico que poseamos, no podemos
comparar el tiempo ahorrado por el software.

12

MatLab Fundamentos y aplicaciones en Ingeniera


Capitulo 3. Operaciones con vectores y matrices.

De acuerdo a lo descrito en la introduccin, MatLab ejecuta sus


operaciones con matrices, esto nos lleva a dedicar un captulo completo a
trabajar con matrices y vectores, pues son de mucha utilidad cuando se
maneja cantidad importante de informacin numrica.
En el presente captulo aprenderemos a ingresar matrices y operar con ellas,
en funcin de los procesos que necesitemos, nos daremos cuenta de su
importancia.

3.1 Ingreso de una Matriz o un vector.


Primero definamos lo que es una matriz, es el conjunto de elementos
ordenado en filas y columnas, tambin se les conoce como arreglos o arrays, y
un vector puede ser una sola fila o una sola columna de elementos, si es ms
de una sera una matriz.
Comentamos al inicio que se asume que el lector posee conocimientos de
matemticas aplicables en ingeniera, por lo tanto no se profundizar
demasiado en su definicin y pasos de resolucin, mas se harn operaciones
con las mismas.
Es recomendable asignar el arreglo a una variable numrica, esto es para
luego poderla utilizar en cualquier momento. Bsicamente la matriz se
describe:
M(n,m)
Siendo M el nombre de la matriz, n el nmero de filas y m el nmero de
columnas, de hecho cuando tengamos ya una matriz definida, podemos
referirnos a un elemento de la fila y columna especficos, indicando esta
posicin con los valores dentro de los parntesis.
En el siguiente ejemplo se va a ingresar una matrix M de 3x3, y seguida de
esta se har su explicacin de funcin de caracteres.

>> M =[1 3 4 5; 2 7 -1 8; 4 0 -3]


M =
1
2
4

3
7
0

4
-8
-3

13

MatLab Fundamentos y aplicaciones en Ingeniera


En este ejemplo se ha ingresado una matriz, a continuacin se describir el
mtodo. La matriz o arreglo va entre corchetes, para separa los elementos se
puede dar un espacio (de la barra espaciadora) o utilizar la coma , , siendo
el primero ms conveniente, se ingresan las filas en el orden de izquierda a
derecha y para indicar que se va a iniciar una nueva fila utilizamos el punto y
coma ; , al finalizar toda la matriz se cierran los corchetes.
Sin importar el nmero de filas que ingresemos, debemos ingresar el mismo
nmero de columnas en todas las filas que ingresemos, de lo contrario
MatLab no reconocer el arreglo

Con todas las instrucciones anteriores, para ingresar un vector columna se lo


hara:
>> N = [8; -1; 3]
N =
8
-1
4

y un vector fila

>> P = [0 2 0]
P =
0

Ahora si necesitamos consultar el valor de un determinado elemento


podemos hacerlo de esta manera

>> M(2,3)
ans =
-8

Es decir, necesito el valor de la fila 2 y la columna 3, si revisamos la matriz M


ingresada, podemos constatar que efectivamente es el valor que nos ha
devuelto. En ocasiones necesitaremos varios valores a la vez, posiblemente
para asignarlo a un nuevo arreglo, y podemos realizarlo con los dos puntos :
14

MatLab Fundamentos y aplicaciones en Ingeniera


y MatLab interpretar que son todos los valores ya sea de la columna o fila, por
ejemplo

>> Q = M(:,2)
ans =
3
7
0

>> R = M(2,:)
ans =

-8

Para el primer caso, toma todos los elementos de la columna 2 de la matriz


M y los asigna a Q, y para el segundo caso, toma todos los elementos de la fila
2 de la matriz M y los asigna a R.

3.2 Operaciones aritmticas con matrices


Las operaciones que se pueden realizar con matrices, son de igual manera
la suma, resta, multiplicacin y divisin, pero estas dos ltimas, por lo general se
las realiza de punto a punto como se conoce en MatLab, pero de manera
comn sera elemento a elemento, habrn algunos casos en los que
necesitemos proceder de esa manera, y veremos un ejemplo ms adelante.
Sin embargo al operar la matriz con un escalar sea multiplicando o sumando
etc., se mantendr el principio
Revisemos los siguientes ejemplos

>> N = [0 -1 4; 2 -2 0; 3 0 -3]
N =
0
2
3

-1
-2
0

4
0
-3

15

MatLab Fundamentos y aplicaciones en Ingeniera


>> P = M+N
P=
1
4
7

2
5
0

8
-8
-6

>> Q = P*2
Q =
2
4
8 10
14
0

16
-16
-12

Para multiplicacin punto a punto el ingreso es .* y la divisin ./ ,


respecto de la forma normal se antepone el punto antes del operador, para la
potencia y radical tiene la misma nomenclatura .^ , y lo que vaya luego del
operador definir una de las dos.
>> A = Q ./ N
A =
inf
4
4.66667

-4
4
-5 Inf
NaN
4

>> B = M * N
B =
18
-10
-9

-7
-16
-4

-8
32
25

-3
-14
0

16
0
9

>> C = M .* N
C =
0
4
12

Con estos ejemplos verificamos la diferencia entre un proceso y otro, cada


una tiene su aplicacin especfica, se recomienda tener presente la operacin
punto a punto.

16

MatLab Fundamentos y aplicaciones en Ingeniera


3.2 Operaciones matriciales
Vamos a trabajar un poco ms con el ordenamiento de las matrices y en
realidad existen comandos propios para reordenarlas, sin embargo si no lo
tenemos a mano o recordamos su declaracin nos dificultar el trabajo, por lo
que se recomienda el siguiente proceso.
Si queremos formar una nueva matriz con matrices existentes, podemos
ordenarlas de forma vertical u horizontal, depender de la forma en que
ingresemos la variable de las matrices, es decir si las separamos con un
espacio las dos matrices se alinearn de forma horizontal, pero si las
separamos por punto y coma, se alinearn de forma vertical. Esto es:

>> D = [B C]
D =
18
-10
-9

-7
-16
-4

-8
32
25

-7
-16
-4
-3
-14
0

-8
32
25
16
0
9

0
-3
4 -14
12
0

16
0
9

>> E = [B; C]
E =
18
-10
-9
0
4
12

Los comandos directos para realizarlo son: horzcat y vertcat , y como


se ha demostrado tendrn la misma utilidad.
Esta reubicacin de matrices tambin es vlida si deseamos cambiar
valores de un elemento, una fila o una columna de una matriz que tengamos
declarada, por ejemplo si deseamos cambiar toda la columna de la matriz E
por nuevos valores, el procedimiento sera

>> E(:,2) = [ 0; 0; 0; 0; 0; 1]
E =
18
-10
-9

0
0
0

-8
32
25
17

MatLab Fundamentos y aplicaciones en Ingeniera


0
4
12

0
0
1

16
0
9

Debemos tomar en cuenta que como son elementos de columna, cada


valor que ingresemos debe estar seguido del ; .
Por ltimo, la traspuesta de una matriz es el intercambio de filas por
columnas, para realizarlo en MatLab uncamente deberemos escribir la comilla
simple luego de la matriz, sea esta con una varialbe o el primer ingreso,,
ejemplo.
>> H = M
H =
1
3
4

2
7
-8

4
0
-3

Otra operacin importante es el determinante de la matriz, que existe


igualmente un comando directo det (x) y MatLab calcular el
determinante de la matriz x, por ejemplo.

>> F = det (M)


F =
- 211

Si pudiramos calcular manualmente la determinante de la matriz a travs


de la regla de la regla de Sarrus u otro mtodo el resultado obtenido sera el
arriba calculado con la varialbe F.
Para sumar internamente los elementos de una matriz, podemos utilizar el
comando sum, y realizar la suma en columnas de sus elementos, pero si es
un vector ya sea fila o columna, sumar todos sus elementos.

>> sum (M)


ans =
7 10

-7

18

MatLab Fundamentos y aplicaciones en Ingeniera


>> T = [3 5 -8]
T =
3

-8

>> sum(T)
ans =
0

3.4 Resolucin de ecuaciones con matrices


Este tema resulta es de mucha utilidad al momento de resolver matrices de
n variables, u obtener las races de ecuaciones polinmicas de orden n, ahora
que sabemos cmo ingresar matrices o vectores, el siguiente paso es
aprovecharlo para algo til y esto se logra con la resolucin de lo antes
mencionado y adems es necesario para graficar ya sea funciones o vectores.
Veamos como se lo realiza.

Ecuaciones simultneas
Observemos las siguientes ecuaciones simultneas
2x+ 5y+ 4z -2t = -3
-x + 2z + t = 7
x+ y+ -3z = 2
-3x +2y -5z +2t= 0

Tenemos cuatro variables con cuatro incgnitas, muy fcil de resolver en


MatLab. En primera debemos ingresar una matriz con todos los coeficientes de
las variables, en caso de no existir alguna, se la completar con un ceros a fin
de que la matriz sea cuadrada, y el segundo paso es ingresar los trminos
independientes en un vector columna.
>> A = [2 5 4 -2; -1 0 2 1; 1 1 -3 0; -3 2 -5 2]
A =
2
-1
1
-3

5
0
1
2

4
2
-3
-5

-2
1
0
2

19

MatLab Fundamentos y aplicaciones en Ingeniera


Es de notar los ceros en los lugares que no existe la variable, con esto
completamos todo los trminos de la matriz. Ac ontinuacin los trminos
independientes
>> B = [-3; 7; 2; 0;]
B =
-3
7
2
0

Para resolver una ecuacin simultanea utilizamos el operador back slash \


y obtendremos el resultado de manera directa.

>> C = A\B
C =
4.8929
0.4286
1.1071
9.6786

Que es el resultado de los coeficientes x, y, z y t respectivamente. Con esto


tenemos nuestra primera utilidad de las matrices en MatLab
En MatLab podemos formatear la forma en que nos van a aparecer los
resultados, por ejemplo el formato por defecto es el formato short que
presenta cuatro decimales, como se presentan los resultados de las variables
de las ecuaciones recin resueltas, pero si utilizamos el formato rat,
racionalizar los resultados y ocurrir lo siguiente:

>> format rat


>> C
C =
137/28
3/7
31/28
271/28

20

MatLab Fundamentos y aplicaciones en Ingeniera


Existen otros formatos de resultados, estos los podremos consultar en la
ayuda.

>> help format

Nota: el formato que escojamos se setear para los siguientes resultados


que obtengamos.

Ecuaciones polinmicas
Si tenemos la siguiente ecuacin
4

+7

Para resolverla se debe ingresar los coeficientes como un vector fila. Se


debe tomar en cuenta la ausencia de , tendremos que darle un coeficiente
de cero, de lo contrario MatLab tomar nicamente como una ecuacin de
4to grado.

>> A = [4 1 0 -2 -1 7]
A =
4

-2

-1

>> roots (A)

-0.4393
-0.4393
0.8766
0.8766

+
+
-

-1.1246
1.1224i
1.1224i
0.5501i
0.5501i

Con el comando roots se extraen las races de la ecuacin, en este caso son
cinco valores de x.

3.5 Fracciones parciales


Las expresiones racionales pueden tener en el denominador y el
denominador expresiones algebraicas, un mtodo de simplificarlas para
trabajar es expresndola en fracciones parciales. No se entrar en ms detalle

21

MatLab Fundamentos y aplicaciones en Ingeniera


y se ejemplificar la manera de obtener fracciones parciales y su operacin
inversa, es decir volverla a expresin algebraica racional.
SI tenemos la siguiente funcin

+6 +3 +6
+ 6 + 11 + 6

Para pasarla a fracciones parciales, procedemos de la siguiente manera,


debemos ingresar como vector fila tanto al numerador como el denominador,
en el mismo orden de las funciones polinmicas, finalmente con el comando
residue nos dar los resultados de los coeficientes del numerador, trminos del
denominador y valores directos. Esto se expresa en el siguiente ejemplo

>> b = [3 6 3 6]
b =
3

>> a = [1 6 11 6]
a =
1

11

>> [r, p, k]=residue(b,a)


r =
-15.0000
-0.0000
3.0000

p =
-3.0000
-2.0000
-1.0000

k =
3

22

MatLab Fundamentos y aplicaciones en Ingeniera


Si una fraccin parcial est definida por

+ +

+ +

Las fracciones parciales de la funcin racional propuesta seran

15
3
+
+3
+3
+1

El numerador del segundo trmino es muy prximo a cero, por lo que lo


omite en la expresin. El proceso inverso sera, teniendo una fraccin parcial
pasarla a funcin racional, y se procede de la siguiente manera

>> r = [1 4 -8]
r =
1

>> p = [3 5 7]
p =
3

>> k = 3
k =
3
>> [num,den] = residue (r,p,k)
num =
3

-48 225

-316

-15

-105

den =
71

23

MatLab Fundamentos y aplicaciones en Ingeniera


En el caso de que se quiera ver ordenado como funcin de transferencia
(su definicin se ver ms adelante), se utiliza el comando

>> G = tf (num,den)
3 s^3 48 s^2 + 225 s - 316
________________________
s^3 -15 s^2 + 71 s - 105

24

MatLab Fundamentos y aplicaciones en Ingeniera


Captulo 4. Graficas
A diferencia de otros programas de matemticas, MatLab no grafica
funciones directamente, sino es necesario indicar el intervalo que se desean
graficar y luego indicar la funcin.
El rango a graficar se lo hace a travs de vectores para el caso de grficos
en el plano, y para graficas en el espacio se debe trabajar con arreglos
numricos. Existen diversos tpos de grficas y se podra extender mucho en
este documento para tratar de indicar todas las funciones. Sin embargo se
mostrar las ms demostrativas tanto en el plano como en el espacio. Adems
se har algunas recomendaciones para tener una mejor presentacin tanto
explicativa como esttica y el aspecto no sea tan slido.

4.1 Graficas en el plano


Para asignar el rango de valores en que vamos a graficar de manera
rpida y uniforme, y como se sabe que debe der un vector, se lo puede
realizar de la siguiente manera

>> x = -a:p:a

Se asigna al vector x, un rango de valores desde a hasta a con un paso p.


El paso, de manera general nos definir la suavidad de la malla, es decir
mientras ms pequeo sea el paso la grfica ser ms fina. As por ejemplo si
queremos graficar la funcin sin(x) tendremos.

>> x = 0:2*pi;

Asignamos al vector x los intervalos desde 0 hasta 2 pero no le damos un


paso, en este caso se interpreta como el paso de una unidad. Notaremos
tambin que al final de la expresin se ha digitado punto y coma ; que
para este caso indicar que no se desean observar los valores que se han
generado.
La variable que se declare con el vector, deber ser siempre de tipo
numrico, no se pueden graficar variables simblicas.

25

MatLab Fundamentos y aplicaciones en Ingeniera


>> y = sin(x);

Se indica la funcin a graficar, debemos utilizar siempre una variable para


la funcin, dado que el comando para graficar utiliza dos variables para
graficas en el plano.

>> grid on
>> plot(x,y)

Figura 4.1 Grfica de la funcin Seno, en el intervalo desde 0 hasta 2pi, con paso de 1

Aparentemente la grfica es del Seno, pero por su paso muy elevado,


resultan rectas, esto se debe a que se evala la funcin solo con los valores del
vector asignado.
Se han utilizado dos comandos especficos para graficar, el primero es
grid seguido de on que activa las rejillas que se pueden apreciar en la
grfica, y el comando plot (x,y) que manda a graficar la funcin y con los
valores del vector x.
Si variamos el paso a un valor ms reducido tendremos
26

MatLab Fundamentos y aplicaciones en Ingeniera


>> x = 0:0.01:2*pi;
>> y = sin(x);
>> grid on
>> plot(x,y)

Figura 4.2 Grfica de la funcin Seno, en el intervalo de 0 a 2pi y un paso de 0.01

El resultado evidentemente es mejor, tiene la forma de la funcin Seno y no


como en la figura 4.1 que solo se observa lneas rectas. Cuando se varen los
valores del vector, es necesario actualizar los valores de la funcin, por lo tanto
se la volver a escribir.

Cuando se tienen datos ingresados y se requiere variarlos, se puede


presionar la flecha hacia arriba de las teclas del cursor y
aparecern los datos ingresados previamente

A continuacin, se presenta una tabla con los comandos para graficar, en


este documento no se har uso de todos ellos, sin embargo el usuario podr
experimentar con todos e incluso consultar por ms comandos.

27

MatLab Fundamentos y aplicaciones en Ingeniera


Comando
>> plot(x,y)
>> bar(x,y)
>> polar(r,t)
>> fplot(f,[-a,a]
>> ezplot(f,[-a,a]
>> stem(x,y)
>> loglog(x,y)
>> semilogx(x,y)
>> semilogy(x,y)

Funcin
Grafica la funcin y con valores de x
Grafica la funcin y con valores de x en
forma de barras
Grafica en coordenadas polares la funcin t
con valores de r
Grafica la funcin f en el intervalo [-a,a]. f
debe ser tipo string
Grafica la funcin f en el intervalo [-a,a] y
le asigna de ttulo la funcin. La funcin
debe ser tipo string
Grafica una funcin de manera discreta,
representando los valores de x
Grafica la funcin y los valores de x en
escala logartmica
Grafica con escala logartmica en x y
normal en y
Grafica con escala logartmica en y y
normal en x

Tabla 4.1 Comandos comnmente utilizados para graficar en el plano.

Los comandos fplot y ezplot indican que la funcin fdebe estar en


formato string, este es una variable tipo texto, y podemos utilizarla de igual
manera que los dems, la nica diferencia es que la funcin se deber
declarar dentro de las comillas, tal como se indica en el formato, manteniendo
la nomenclatura en lo que respecta a la ubicacin correcta de los operadores
(*, /, ./, .*, .^).

>> x = -2*pi:0.5:2*pi;
>> y = sin(x)
>> bar(x,y)

28

MatLab Fundamentos y aplicaciones en Ingeniera


Figura 4.3 Grfica del Seno, con el comando bar (x,y)
Usando ezplot
>> y = tan(sin(x^2));
>> ezplot(y,[-2*pi,2*pi]
>> xlabel(x);ylabel(y);grid

Figura 4.4 Grfica de tan(sin(x^2)) usando ezplot , se define el rango de la grfica


pero el mismo programa define el paso.

Se ha declarado la funcin y previamente entre comillas para indicar que


est en formato string. Ntese que el ttulo de la grfica lo asigna el mismo
programa y se adicionado las etiquetas en el eje x e y usando xlabel y
ylabel respectivamente. Dentro de las comillas se puede escribir cualquier
texto sin restriccin de caracteres y se puede ubicar con cualquier comando
para graficar.

29

MatLab Fundamentos y aplicaciones en Ingeniera


Usando el comando polar(r,t)
>> r = -pi:0.01:pi;
>> t

= sin(3*r).*cos(3*r);

>> polar(r,t, '--r')

Figura 4.5 Grfica polar de sin(3*r)*cos(3*r)


En esta grfica ntese el uso del operador .* para realizar la
multiplicacin entre las dos funciones trigonomtricas, en esta caso la variable
x que va variando un trmino a la vez y se deber realizar la multiplicacin con
el valor que tenga la posicin idntica tanto en la variable como la funcin. Se
ha adicionado - - r luego de especificar las variables a graficar, con este
ltimo le damos el aspecto que tiene la grfica de la figura 4.5, lneas
entrecortadas con los dos guiones - - y r que le da el color rojo. Mayor
informacin sobre este ltimo encontramos en >> help plot, que se
desprende como en la figura 4.6.

30

MatLab Fundamentos y aplicaciones en Ingeniera

Figura 4.6 Ayuda del comando plot

De acuerdo a la ayuda que presenta MatLab, enfocando la atencin en


tres columnas dentro del rectngulo azul de lneas entrecortadas o de trazos,
la primera hace referencia al color de la lnea y la segunda y tercera columna
indica el tipo de marca utilizado para la grfica.
Por defecto la grfica siempre se presentar en color azul y la marca ser el
punto. Si deseamos tener por ejemplo una grfica formada por lneas de trazos
y de color magenta, se debe digitar.

31

MatLab Fundamentos y aplicaciones en Ingeniera


>> x = -2*pi:.05:2*pi;
>> y = atan(sin(x)).*exp(cos(x.^2));
>> plot(x,y,'--m')
>> title('y=atan(sin(x))*exp(cos(x^2))');xlabel('x');ylabel('y')
>> grid

Figura 4.7 Grfica con lnea de trazos y en color magenta - - m

En resumen, como regla general se debe utilizar en las operaciones que


involucren multiplicacin, potencia o sus inversas como operacin punto a
punto si trabajamos con arreglos.

32

MatLab Fundamentos y aplicaciones en Ingeniera

>> x = -2*pi:0.25:2*pi;
>> y = (x.^3 + 4.*x.^2-4)./(x.^4-x+3);
>> stem(x,y,'r');
>> title('y = (x.^3 + 4.*x.^2-4)./(x.^4-x-3)'); xlabel('x'); ...
... ylabel('y'); grid

Figura 4.8 Grafica de una funcin racional usando el comando stem, se observa la
representacin discreta de los valores declarados en x.

4.3 Grficas en el espacio


La representacin de las ecuaciones en el espacio permite observar superficies
dentro representando todo el dominio de la funcin. Los comandos son muy
similares a los vistos para las grficas en el plano, pero ahora la diferencia es
que debemos generar dos vectores complementarios para poder efectuar la

33

MatLab Fundamentos y aplicaciones en Ingeniera


representacin. En la tabla 4.2 se muestran los comandos que se utilizan para
efectuarlo.
Comando
>> plot3(x,y,z)
>> mesh(x,y,z)
>> meshc(x,y,z)

>> surf(x,y,z)

>> surfc(x,y,z)

>> contour(x,y,z)
>> contour3(x,y,z)
>> [x,y] = meshgrid(-a:p:a)

Funcin
Representa una curva en el espacio
Representa una superficie explcita
Representa una superficie explcita
proyectando curvas de nivel sobre el
plano xy
Representa una superficie explcita
coloreando cada elemento de la
superficie
Representa una superficie explcita
proyectando curvas de nivel sobre el
plano xy
Representa las curvas de nivel de una
superficie sobre el plano xy
Representa una superficie en el
espacio con curvas
Genera un arreglo tridimensional

Tabla 4.2 Comando para representacin grfica en el espacio

Para obtener sus grficas, lo ms recomendable es generar un arreglo


numrico tridimensional, el comando para realizarlo de manera directa es
meshgrid y se digita de acuerdo al ltimo comando mostrado en la tabla. A
continuacin se ilustran las grficas usando los diversos comandos.
MatLab procesa los ngulos en radianes, y si se necesita procesar los datos en grados,
(degrees) debemos utilizar el comando correspondientes sind(x), cosd(x,y), tan(x,y), etc.

>> t = -2*pi:0.1:2*pi;
>> x = sin(t);
>> y = cos(t);
>> z = t;
>> plot3(x,y,z)
>>title('x=sin(t)y=cos(t)z=t');xlabel('x');ylabel('y');...
...zlabel('z');grid

34

MatLab Fundamentos y aplicaciones en Ingeniera

Figura 4.9 Grfica en el espacio con funciones paramtricas.

35

MatLab Fundamentos y aplicaciones en Ingeniera

36

MatLab Fundamentos y aplicaciones en Ingeniera


Capitulo 5. Programacin en MatLab
El lenguaje utilizado por MatLab tiene similitud con lenguajes como JAVA o
los C, de hecho los creadores de este software MatWorks crearon su propio
idioma que es el lenguaje M, la nomenclatura de las estructuras de control de
este lenguaje es similar a la de otros lenguajes, y si se tiene conocimientos
fundamentales de programacin se puede facilitar su comprensin. Pero
adems de los comandos se debe conocer los procesos de clculo y como
mandarlos a desarrollar, este ltimo se ha tratado en temas anteriores por lo
que empezaremos a emplear los comandos para algunas utilidades un poco
ms especficas.

5.1 Estructuras de control


Las estructuras de control no permiten ejecutar o autorizar o denegar ciertos
pasos del proceso de clculo que se realiza, el programador siempre tiene que
cuidar cuando y bajo qu condiciones realizar las siguientes etapas de
clculo, e incluso realizarlas tantas veces sean necesarias para converger en
resultados o en otras palabras llegar a resultados coherentes. Por su puesto
que la decisin final la tomar el diseador.
Cuando realizamos la automatizacin del clculo, necesitamos no
nicamente saber los comandos ms apropiados sino las ecuaciones
necesarias que se deben tratar.

De manera general existen cuatro estructuras universales de control que se


manejaran en programacin, estas son For, While, If y Switch, por su puesto
esta nomenclatura va a variar del nivel de programacin que trabajemos,
entendido el nivel no como la cantidad conocimiento sino como si es de bajo
nivel o alto nivel. El lenguaje de MatLab es medio nivel y tiene nombre propio
que es Lenguaje M. Con estas breves aclaraciones e introduccin a la
programacin pasamos a entrar en materia de programacin de MatLab.
5.1.1 Archivo M - file
El archivo M-file es la hoja en donde se escribe todo el cdigo de
programacin sin importar el entorno en que se ejecute, para aclarar esto, se
mostrar en el Command Window o en el entorno grfico GUIDE.
Su ejecucin se describi en el captulo uno, pero se volver a repetir en el
presente captulo. Las figuras 5.1 y 5.2 muestran el proceso para abrir un M-file.

37

MatLab Fundamentos y aplicaciones en Ingeniera

Figura 5.1 abrir un nuevo M-File haciendo click sobre el cono que indica la flecha

Figura 5.2 Abrir un nuevo M-file desde file New Blank M-File

La hoja de M-file se mostrar completamente en blanco como se ve en la


figura 5.3, es completamente editable y de manera general se recomienda lo
siguiente:
-

Iniciar el programa con clear para borrar todas las variables existentes
entes de ejecutar el nuevo cdigo
Borrar todos los datos existentes en el Comand Window con clc
Si no queremos mostrar ciertos resultados en la pantalla del Comand
Window, tipeamos punto y coma ; al final de cada lnea de
comando.
38

MatLab Fundamentos y aplicaciones en Ingeniera

Figura 5.3 Nuevo M-file para escribir el cdigo de programacin

La ltima recomendacin es opcional para el programador, si desea


mostrar sus resultados en cualquier momento, excluye el ; , pero ms
adelante se ver una manera ms vistosa de mostrar los resultados de manera
ms ordenada y entendible.
Las estructuras nombradas anteriormente se comentarn inmediatamente
de forma muy breve, pero se las ilustrar con un ejemplo

5.1.2 Estructura For


La estructura For ejecuta un numero definido de clculos (en MatLab se
habl de clculos porque esencialmente es lo que se va a realizar), su
nomenclatura se basa en un vector fila y en este definimos el nmero de
procesos a realizar. Su nomenclatura es como sigue:

for variable = a:p:n;

statements
end

%clculos o procesos a realizar

%finalizar el clculo si variable tiene valor n

39

MatLab Fundamentos y aplicaciones en Ingeniera


La indicacin es como sigue: para variable desde a con un paso p hasta n
realizar los statements dentro de la estructura
Dentro de statements estn todos los clculos que se van a realizar, adems
existen frases seguidas de signo %, que son comentarios que nos servirn para
indicarnos que se realiza con determinada lnea de comando, MatLab ingnora
cualquier lnea de comando si esta seguida de dicho smbolo, no tiene
restriccin de caracteres.
Si ejecutamos las siguientes lneas de comando en el M-file,
clear
clc
for x = 1:2:5

a = x + 1
end

%sumar a x una unidad


%finalizar el clculo si variable tiene valor n

tendremos en el Commando Window


>> a =
2

>> a =
4

>> a =
6
La variable x empezar en uno, se le sumar 1 y el resultado es 2, ahora x
valdr 3 (x vala 1 y el paso es 2, es decir dos valores ms al anterior) y
nuevamente se le sumar 1 que dar 4, finalmente x valdr 5 y se le suma 1 y
el valor de a ser 6.
Pongamos atencin en el statement que vendra a ser a = x+1, no est
seguida del ; por lo que mostrar su valor en el Command Window cada
vez que se realice, tomaremos las respuestas de esta manera y presentacin
hasta conocer un nuevo mtodo.

40

MatLab Fundamentos y aplicaciones en Ingeniera


5.1.3 Estructura While

En espaol se traduce como mientras, y es de hecho lo que realiza esta


estructura, realizar una instruccin o statement hasta cumplir con la condicin
de la variable declarada sin importar el nmero de pasos que realiza para
alcanzarlo.
Su nomenclatura es:

while expresin

procesos
end

como ejemplo si escribimos en el M-file:


clear
clc
x=4;
while x>0
x=x-1

%mientras x sea mayor que cero


%a x restarele una unidad

end

en el Command Window

x =
3
x =
2
x =
1
x =
0

41

MatLab Fundamentos y aplicaciones en Ingeniera


Tenemos la variable x que inicialmente tiene valor de 4 que es mayor que
cero, entro a la estructura o bucle y empiezo a quitar una unidad a la vez
mientras x sea mayor a cero, al llegar a cero finaliza el bucle.

5.1.4 Estructa if
Esta estructura es un condicional si, es decir comparo el valor de una
variable y en funcin de la condicin ejecuto los procesos que estn detro de
este. Su nomenclatura es:

if expresin

proceso1
elseif

proceso2
else

proceso3
end

como ejemplo en el M-fiel:


clear
clc
x=4;
if x>4
disp('es mayor a 4') %mostrar en la pantalla es mayor a 4
elseif x<4
disp('es menor a 4') %mostrar en la pantalla es menor a 4
else
disp('es igual a 4') %mostrar en la pantalla es igual a 4
end

en el Command Window

es igual a 4

42

MatLab Fundamentos y aplicaciones en Ingeniera


El ejemplo es bastante simple, tenemos la variable x al que le asignamos el
valor de cuatro, realizamos dos comparaciones, la primera si x es mayor a
cuatro, la segunda que si x es menor a cuatro y la tercera es si no se cumplen
las anteriores.
Lo novedoso en estas lneas es el comando disp( ), que permite mostrar ya
sea un resultado en la pantalla o un texto. Si se desea mostrar un resultado se
escribir entre los parntesis el nombre de la variable, pero si se desea mostrar
un texto como en el ejemplo mostrado, se ubicar en texto entre comillas, este
es un mtodo de mostrar resultados.

5.1.5 Estructura switch


Esta estructura permite conmutar entre casos para realizar un tipo u otro de
clculo, al leer el valor de una variable el mismo que indicar el nmero de
caso que se debe realizar.

switch variable

case variable1

proceso1

%leer el valor de variable

%si el valor es variable1

%realizar proceso1

case variable2

proceso2
.
.
case variablen

proceso n

otrerwise

%si no es ninguno de los anteriores

proceso alterno %realizar proceso alterno


end

43

MatLab Fundamentos y aplicaciones en Ingeniera


Los ejemplos de esta estructura se vern ms delante, es necesario saber
comunicarse con el usuario para ilustrar mejor su utilizacin, sin embargo esta
estructura no nicamente se limita a trabajar con el valor de una variable
indicada por el usuario.

5.2 Comunicacin con el usuario, ingreso de datos y presentacin de


resultados

Todo programa para que pueda ser utilizado necesita poderse comunicar
con el usuario de forma bilateral, es decir necesita conocer ciertos valores que
el mismo usuario va a indicar, luego se ejecutarn el cdigo que hayamos
escrito y por ltimo se presentarn los resultados de forma numrica o grfica,
de modo que quien busque los resultados los pueda entender de la manera
ms explcita posible.

5.2.1 Ingreso de datos

Los datos que el usuario ingrese podran ser numricos o simblicos, es por
esto que se le debe indicar al usuario que variables y cuando las puede
ingresar, por ejemplo si en un determinado momento se va a solicitar ingresar
un funcin con varialbes x, t e y, se podra escribir.

F = input('

Ingrese la funcin f(x,y,t) = ');

%input es el comando que solicita ingresar un dato

Con esta lnea de comando solicitamos al usuario ingresar la funcin


nicamente con las variables que se indica, adems el programador debe
controlar las variables simblicas que se ingresan para luego realizar alguna
operacin respecto a las variables permitidas.

La forma de expresar el ingreso de datos es:

Variable = input ('

texto');
44

MatLab Fundamentos y aplicaciones en Ingeniera

Todo lo que respecta e texto ir entre comillas simple, para indicar que
esto se est realizando MatLab cambia automticamente el color de
texto color negro a prpura

5.2.2 Salida de datos

MatLab presenta automticamente los resultados cuando al final de una


lnea del cdigo no existe el punto y coma, no es una forma muy esttica de
presentar los resultados pero e una salida de datos.
La segunda manera de presentar los resultados es con disp ( ), su
funcionamiento ya se lo describi en prrafos anteriores, pero se dar un
ejemplo adicional de uso

clear
clc
x = input ('Ingrese primer valor a sumar = ');
y = input ('Ingrese segundo valor a sumar = ');
z=x+y;
disp('
El resultado de la suma es ')
disp(z)
y en el Command Window

Ingrese primer valor a sumar = 5


Ingrese segundo valor a sumar = 6
El resultado de la suma es
11
>>
Sirve mucho en algunos casos, pero la mejor forma de presentar el resultado
es utilizando, su formato de declaracin de manera general es:
fprintf('%5.3f \n', variable)
la declaracin fprintf, presenta en la pantalla el resultado guardado en
variable, %5.3 indica que se van a presentar datos con tres valores
significativos y \n, indica que la siguiente lnea a escribir se har debajo. No se
explicarn los dems trminos por no ser de importancia para el objetivo
perseguido.
45

MatLab Fundamentos y aplicaciones en Ingeniera


Con esto podemos presentar incluso un texto que aparezca antes del
resultado y despus del resultado en la misma lnea, adems se pueden
controlar los decimales que se presenten.
clear
clc
x = input ('
y = input ('
z=x+y;
disp(' ')
fprintf('

Ingrese primer valor a sumar = ');


Ingrese segundo valor a sumar = ');
%espacio vertical en blanco
El resultado de la suma es %5.4f unidades\n',z)

en el Command window tendremos


Ingrese primer valor a sumar = 3
Ingrese segundo valor a sumar = 6
El resultado de la suma es 9.0000 unidades

La mejor presentacin de los resultados en innegable, se proporciona mayor


cantidad de informacin en una sola lnea de resultado.

46