Anda di halaman 1dari 38

Informtica aplicada

Introduccin Matlab
2do Semestre 2016
Escuela de Ingeniera Civil

Lina Mabel Castro Heredia


lina.mabel@pucv.cl

Ventana de comandos
Para teclear un comando, el cursor debe estar
despus del smbolo >>, tambin denominado
prompt
Se puede acceder ms de un comando en una sola
lnea. Colocar una coma entre comando y comando.
Un comando anteriormente tecleado puede ser
invocado de nuevo. Use las flechas arriba y abajo.
Si se teclea un punto y coma (;) al final de un
comando, la salida de dicho comando no ser
visualizada.
Smbolo %: para hacer comentarios.
Comando clc: borra la ventana de comandos.

Algunas operaciones y funciones

Ficheros script con Matlab


De la ventana de comandos a un script.
El comand window (CW) es usado para pequeos
nmero de comandos
El CW los comandos no pueden ser guardados y
ejecutados de nuevo a peticin del usuario.
Es engorroso corregir los comandos ya ejecutados.

Otra forma: Crear un fichero (script, subrutina, mfile) con los comandos para ejecutarlo
posteriormente.
Se pueden hacer correcciones
Se llaman de otros ficheros
Se denominan ficheros de procesamiento de comandos
o ficheros script.

Notas sobre los ficheros script


Un fichero Script es una secuencia de comando
MATLAB
Al ejecutarse se hace en el orden en que estn
escritos
Cuando un fichero contiene un comando que
produce una salida o resultado y no tiene el (;), ste
se visualizar en la ventana de comandos.
Se pueden ejecutar tantas veces como se quiera.
Se pueden crear o editar en cualquier editor de
texto.
Tambin se denominan ficheros M(archivos M , mfile).

Manipulacin de ficheros script


Los scripts se crean y editan en la Ventana
Editor/Depurador.
File/New/Script or M-file
Crear carpeta de trabajo

Los comandos se editan lnea a lnea


Antes de ejecutarlo deber guardarlo
Nombre: iniciar por una letra, mximo de 63 caracteres,
no usar palabras especiales de Matlab.

Ejecucin de un fichero script


Se puede ejecutar:
Tecleando su nombre en la ventana de comandos
Tambin a travs del Icono (Run)
Pero para ello, el script debe estar almacenado en
el directorio actual

Ejemplo
Escriba un script que calcule la raz cuadrada de los nmeros
del 1 al 10. La serie de nmeros debe ser un vector creado en
el mismo script. Comente su rutina.

Ejemplo
Escriba un programa que permita llenar la
matriz siguiente:
Aij=i^2*j^2

Estructuras de control

Para empezar:
Comandos de entrada y salida
Matlab tiene varios comandos para generar
mensajes y salidas ms elaboradas que las que se
pueden hacer en comand window.
Usados frecuentemente:
input: para ingresar valores o texto
x = input(prompt)
str = input(prompt,'s')

disp: usado para visualizar texto sin mostrar su


nombre.
A = [15 150]; S = 'Hello World.';
disp(A)
disp(S)

Para empezar:
Comandos de entrada y salida
fprintf: se usa para visualizar salidas de programas (texto y datos)
en pantalla, o bien para almacenarlos en un fichero.
A diferencia del disp, la salida puede tener un formato
preestablecido. Se pueden combinar texto y resultados numricos o
variables definida en la mima lnea.
Para texto:
fprintf(Mensaje en forma de cadena)
Para datos y texto juntos:
fprintf(Texto %-5.2f texto adicional, nombre variable)
fprintf(Texto %g.%f%g.texto adicional, variable1,
variable2, variable3)

fprintf para guarda la salida en un


fichero

Este comando nos permite tambin la posibilidad de tener las


salidas en un fichero. Esto nos permite reutilizarlo en Matlab
o en otras aplicaciones.
Paso a: El fichero debe ser abierto.
fid=fopen(nombre_fichero,permisos)

fid: identidicador del archivo


El nombre del fichero se debe escribir con la extensin (*.txt,
*.doc)
Permisos: cdigo que le dice al sistema cmo abrir el archivo. r:
incluida por defecto y se usa para leer del fichero; w: el fichero se
abre para escritura, si el fichero existe su contenido ser
eliminado; a: lo mismo que w, excepto que si el fichero existe
entonces los datos sern aadidos al final del fichero.

Paso b: una vez abierto se usa fprintf para escribir la salida.


fprintf(fid, Texto %-5.2f texto adicional,
nombre variable)
Paso c: cerrar el archivo
fclose(fid)

Ejemplo
Escriba un programa que entregue el valor
absoluto de un numero que debe ingresar el
usuario

Escriba un programa que permita al usuario


ingresar un numero y que lo vuela hasta que el
seno de ste sea menor que cero.

Operaciones con arreglos


Completar matrices o vectores de forma simple,
cuando se pueda hacer eso!!
c=1:5
c=[1:5]

Qu obtiene?
d=[1:2:10]

Qu obtiene?

Operaciones de arreglos
Introduzca los siguientes vectores;
a=[1 2 3 4]
b=[1; 2 ;3 ;4]
c=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
d=[1:5;6:10]

Se me puede unir matrices o vectores, siempre y


cuando tengan las mismas dimensiones.
AB=[a;c]
BC=[b c]

Bsqueda de elementos en el vector y matriz.


a(3) haga otras bsquedas
c(3,3) haga otras bsquedas.
c(:,3)
c(1,:)
c(2,2:4)

Operaciones con arreglos


Para la suma, resta, multiplicacin y divisin de arreglos con escalares:
a=[1 2 3 4]
c=a+5
d=5*a;

Qu obtiene?

Sin embargo la multiplicacin y la divisin, y otras operaciones son un poco


diferentes, sobretodo cuando no involucra escalares sino arreglos. Por
ejemplo, en matemticas matriciales, la multiplicacin tiene un significado
especifico. Es necesario un operador diferente para indicar multiplicacin
elemento por elemento. Dicho operador es .* (multiplicacin punto)
a=[1 2 3] y b=[6 7 8]
a.*b
ans=[6 14 24];
a./b
a.^2

Qu obtiene?

Generar matrices a partir de funciones

Ejemplo
Un profesor de una materia desea conocer la cantidad de
alumnos que se eximirn de su ramo. Cree un programa
que lea el nmero de estudiantes y las notas por cada
estudiante, tal que al final de la lectura de notas por cada
alumno calcule el promedio y entregue un mensaje que
diga que esta eximido. Haga un contador que al final de
evaluar a todos los estudiantes, le entregue al profesor
un mensaje con la cantidad de estudiantes eximidos.
Adicionalmente, el profesor quiere una matriz donde se
guarden las notas de los alumnos por cada estudiante.
Las columnas representan los estudiantes y las filas las
notas correspondiente a cada estudiante.

Ejemplo
Tabular la siguiente funcin para valores de x
desde -1 hasta 1 incremento de 0.1

Funciones internas de Matlab


Matlab tiene una extensa librera de funciones internas.
Ej:sqrt
x=9
b=sqrt(x);
c=[4,6,16];
p=sqrt(c);

Qu obtiene?
Funciones con ms de una entrada,
Ej: rem (esta es la funcin residuo, requiere dos entradas,
el dividendo y un divisor. rem(x,y)
rem(10,3)
ans=1

Funciones internas de Matlab


Una bastante utilizada para conocer las dimensiones
de las matrices es: size(x,u)
d=[1 2 3; 4 5 6]
f=size(d);
filas=size(d,1);
columnas=size(d,2);
[x,y]=size(d);

Qu obtiene?

Para medir un vector


m=[5:10]
L=length(m);

Qu obtiene?

Formato de despliegue
En Matlab existen algunos formatos de despliegue.
Usted puede cambiar el formato de despliegu
Pruebe en command window esto:
a=5
a=5.1

Cuntos decimales tiene?


Matlab tiene otras formas de desplegar esto, intente:
format long,a
format bank,a
format short,a
m=105.356789
format short e,m

Qu obtiene?

Ejemplo de matriz, lectura, asignacin


Precipitacin

Tmax

Tmin
Tome la precipitacin y smele 1.2 solo
a los valores mayores que cero.
Cree una matriz multidimensional
donde se tenga la Temp mnima en
grados Celsius y tambin en grados
Kelvin.

Ejemplo
Genere los nmero para el sorteo de la lotera.
El usuario debe elegir varios nmeros entre una
lista. Escribir una funcin en Matlab que genere la
lista de n nmeros enteros distribuidos
uniformemente entre un rango a y b. Todos los
nmeros seleccionados deben ser distintos.

Utiliza la funcin para generar una lista de 6 nmeros


que varan entre 1 y 49
Utilizar la funcin para generar una lista de 8 nmeros
que varan entre 60 y 75
Utilizar la funcin para generar una lista de 9 nmeros
que varan entre -15 y 15

Ejemplo: escribir una tabla en


command window
Queremos desplegar una tabla, con dos
columnas: la columna X y la columna Y. Y
depende de X, tal que Y es la raz cuadrada de X.

Ejemplo fprintf de un fichero


Hacer un script con el cual salgan como
resultado archivos. El programa genera dos
tablas de conversin de unidades. Una de las
tablas contiene magnitudes de velocidad, de
millas por hora a kilmetros por hora. La otra
tabla convierte magnitudes de fuerza, de librasfuerza a Newton. Cada conversin se guarda en
un fichero de texto.

Funciones y ficheros de funcin


Las funciones se pueden expresar en la forma y=f(x)
Existen muchas funciones programadas en MATLAB. Ej: sqrt
(x), sin(x), cos (x), exp (x), etc.
Cuando la expresin de la funcin es sencilla y solo necesita
ser ejecutada una vez, sta se puede incluir como cdigo
propio del programa.
Sin embargo, cuando la expresin se tiene que evaluar
muchas veces, para diferentes tipos de argumentos, es
conveniente crear una funcin definida por el usuario
(MODULOS!!!).
Las entradas y salidas de la funcin pueden estar compuestas
por uno o ms variables, y cada una de ellas puede ser escalar,
vectores, matrices de cualquier tamao.

Creacin de un fichero de funcin


Los ficheros funcin se crean y editan como si se trataran
de ficheros scripts, es decir, usando la ventana de
Edicin/Depuracin.
function[argumentos de salida]= nombre_funcion(argumentos de entrada)
End

OJO: el nombre de la funcin debe ser el mismo que el


nombre del m-file!!!!
La funcin debe tener al menos un argumento de
entrada. Para ms de un argumento, se usan las comas
para separarlos.
La salida puede ser uno o varios argumentos, o no tener
ninguno.

Ejemplo
La notal final de un ramo se calcula como 20%
interrogacin 1, 20% la interrogacin 2, y 60% el
examen final. La nota definitiva es la mejor nota
entre la nota del examen y la nota obtenida con
todas las ponderaciones. A continuacin el
programa debe preguntar si el usuario quiere
calcular una nueva nota o finalizar (pulsando la
tecla s)

Anda mungkin juga menyukai