Está en la página 1de 15

Outline

MTODOS NUMRICOS
Ingeniera Industrial
Jess P. Avalos Rodrguez
SEMANA 02
www.jesus-avalos.ucoz.com
Departamento de Ciencias
Per
Marzo 2015

Ms. Sc. Jess valos Rodrguez

Pag.:

1/15.

MATEMTICA IV.

Outline

Outline

Operadores relacionales y lgicos

Bucles

Ms. Sc. Jess valos Rodrguez

Pag.:

2/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Las estructura de seleccin y repeticin que se usan en MATLAB dependen de operadores relacionales y lgicos. MATLAB tiene seis operadores relacionales para comparar dos matrices de igual tamao.
Desde luego, las variables en MATLAB, por lo general, representan matrices completas. Si se redefinen x y y, se puede ver cmo MATLAB maneja las comparaciones
entre matrices. Por ejemplo,
x=1:5;
y=x-4;
x<y
regresa
ans=0 0 0 0 0 0

Ms. Sc. Jess valos Rodrguez

Pag.:

3/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

El resultado indica que la comparacin fue falsa para los primeros cuatro elementos,
pero verdadera para el ltimo. Para que una comparacin sea verdadera para toda una
matriz, debe ser verdadera para cada elemento de la matriz. En otras palabras, todos
los resultados deben ser unos.
MATLAB tambin le permite combinar comparaciones con los operadores lgicos
and, not y or.
El cdigo
x=[1,2,3,4,5];
y=[-2,0,2,4,6];
z=[8,8,8,8,8];
z>x & z>y

Ms. Sc. Jess valos Rodrguez

Pag.:

4/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Operadores relacionales

Operador relacional
<
<=
>
>=
==
=

Interpretacin
menor que
menor que o igual a
mayor que
mayor que
igual a
no igual a

Ms. Sc. Jess valos Rodrguez

Pag.:

5/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Operador lgico
&

|
xor

Interpretacin
and
not
regresa
or
or exclusiva

ans= 1 1 1 1 1
puesto que z es mayor que x y y para cada elemento. El enunciado
x>y | x>z
se lee como x es mayor que y o x es mayor que z y regresa
ans=1 1 1 0 0
Esto significa que la condicin es verdadera para los primeros tres elementos y falsa
para los ltimos dos.
Estos operadores relacionales y lgicos se usan tanto en tanto estructuras de seleccin
como bucles para determinar qu comandos se deben ejecutar.

Ms. Sc. Jess valos Rodrguez

Pag.:

6/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Suponga que se le pide crear un programar para convertir mph a pies/s. La salida. La
salida debe ser una tabla completa con un ttulo y encabezados de columna. He aqu
una forma de resaltar los pasos que puede seguir:
1

Definir un vector de valores mph.

Convertir mph a pies/h.

Combinar los vectores mph y pies/s en una matriz.

Crear un ttulo de tabla.

Crear encabezados de columna.

Desplegar la tabla.

Ms. Sc. Jess valos Rodrguez

Pag.:

7/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Una vez que defina los pasos, pngalos en un archivo-m MATLAB como comentarios:
%Definir un vectores de valores mph
%Convertir mph a pies/s
%Combinar los vectores mph y pies/s en una matriz
%Crear encabezados de columna
%Desplegar la tabla
Ahora puede insertar el cdigo MATLAB apropiado en el archivo-m
%Definir un vector de valores mph
mph=0:10:100
%Convertir los vectores mph y pies/s en una matriz
table=[mph;fps]
%Crear un ttulo de tabla
disp(Tabla de conversin de velocidad)
%Crear encabezados de columna
disp( mph
f/s)
%Desplegar la tabla
fprintf(%8.0f %8.2\n, table)

Ms. Sc. Jess valos Rodrguez

Pag.:

8/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Bucles

Veremos cmo usar los bucles for y while.


El bucle for permite repetir ciertos comandos. Todas las estructuras de bucles en
MATLAB comienza con una palabra clave (como for o while) y terminan con un
end. Veamos un ejemplo trivial:
>> for j=1:4,
j
end
Otro ejemplo:
>> v=[1:3:10]
v= 1 4 7 10
>>for j=1:4,
v(j)=j;
end

Ms. Sc. Jess valos Rodrguez

Pag.:

9/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

La forma general de while es


>>while(condiciones)
(operaciones)
end
Las operaciones se repetirn mientras que las condiciones sean ciertas. Por ejemplo,
dado un nmero a, el siguiente bloque permite calcular y mostrar el entero no negativo
ms pequeo tal que 2n a:
>>n=0;
>>while 2^n<a
n=n+1;
end
>>n

Ms. Sc. Jess valos Rodrguez

Pag.:

10/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

La instruccin if

La forma general de una instruccin if simple es:


>> if (condiciones)
(operaciones)
end
Las operaciones se realizarn nicamente si se cumplen las condiciones especificadas.
Se admiten las ramificaciones mltiples como puede verse en el siguiente ejemplo:
>>if n<0
a=1;
elseif n<5
a=2;
else
a=3;
end

Ms. Sc. Jess valos Rodrguez

Pag.:

11/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Ficheros ejecutables

Los ficheros ejecutables son ficheros de texto que incluyen una serie de comandos
MATLAB. Si una tarea MATLAB la vamos a ejecutar muchas veces, es buena idea
escribir un fichero con estos comandos para poder ejecutarlos tantas veces como queramos. La edicin del fichero ejecutable la realizamos con un editor cualquiera. Si
nos resulta ms cmodo, podemos utilizar el editor que incorpora MATLAB y al que
invocaremos desde la lnea de comandos como:
>>edit
Los ficheros ejecutables de MATLAB (llamados ficheros .m) deben tener como extensin .m. En eke ejemplo que damos a continuacin, crearemos un programa que
calcula el factorial de 6.

Ms. Sc. Jess valos Rodrguez

Pag.:

12/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Ejemplo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Este es un programa no muy til
%que calcula el factorial de 6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=6;
fac=1;
for i=2:n
fac=fac*i;
end
fac
Si guardamos esto en el fichero fac.m en el directorio de trabajo (o cualquier otro
incluido el path) y tecleamos el comando fac, obtenemos
>>fac
fac=
720

Ms. Sc. Jess valos Rodrguez

Pag.:

13/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Subrutinas

Si ahora escribimos un fichero con nombre fac.m los siguientes comandos


%Esta es una funcin para calcular
#el facorial de n.
%El valor de entrada es n
function fac=fac(n)
fac=1;
for i=2:n
fac=fac*i;
end

Ms. Sc. Jess valos Rodrguez

Pag.:

14/15.

MATEMTICA IV.

Operadores relacionales y lgicos


Bucles

Las funciones pueden tener varios parmetros de entrada y/o salida. Por ejemplo, la siguiente
funcin que, dados dos vectores con la misma longitud, devuelve dos valores (es decir, la subrutina implementa una funcin f : Rn Rn R2 ).
%Esta es una funcin que, dados dos vectores
%de la misma longitud calcula dos valores
%reales a y b s=sin(x*y), b=a*x*x
function [a,b]=funci(x,y)
a=sin(x*y);
b=a*x*x;
Guardamos este fichero como funci.m y, como prueba, ejecutamos en la lnea de comandos:
>>x=1:5:5
x=
1 2 3 4 5
y=0:0.1:0.4
y=
0 0.1000 0.2000 0.3000 0.4000
>>[f1,f2]=funci(x,y);
>>[f1,f2]=funci(x,y);
>>f1
f1=
-0.7568
>>f2
f2=
-41.6241
Ms. Sc. Jess valos Rodrguez

Pag.:

15/15.

MATEMTICA IV.

También podría gustarte