Clase_1

download Clase_1

of 28

description

wallas matlab intro

Transcript of Clase_1

Introduction to Matlab & Data analysis

William J. Trigos G. 2015 1Introduccin a Matlab & Anlisis de DatosTiempo del cursoLunes a viernes9:30 am - 12:30pm

[email protected]

Clase 1: Introduccin a la interfaz de software Matlab12Instalando MatlabPor efectos de licencia, he decidido que usemos una versin portable del aplicativo matlab.

La distribucin y reproduccin de la misma, esta bajo su responsabilidad.2Objetivos del curso3Adquirir la capacidad para manipular y analizar conjuntos de datos.

Habilidad para visualizar conjuntos de datos

Adquirir ciertas destrezas en un lenguaje de Programacin interpretado.

4Anatoma del cursoHands off (atencin)Presentaciones Material de lecturaBusqueda en manuales y paginas web(googleando)FAQsEspacio de la clase para inquietudes y aclaracionesHands on ejemplosHome work Enviar a: [email protected] para recepcin mnimo 1 clase despus de ser asignada la actividad.

45Objectivos de esta claseFamiliarizarse con las ventanas del IDE MatlabTareas basicas esenciales (cambiar de directorio)Usar matlab como una calculadora avanzadaUna primera mano al uso de ScriptsAprender a usar el comando Help!!! Y otros mas(pwd, ls, etc)

56Estructura del computador Nivel Hardware

Input devicesOutput devicesStorage devicesCPUMemory

67

Estructura del computador Nivel Software

HardwareGives services to software:Access input/output devicesMemory allocationsAnd much moreSoftwareOperating system78From Thoughts to Program

Human languageMatlab languageIntermediate languageComputer languagecompilerI want to add one and one1+1mambo-jumbo010011010011Operating System89que es? MatlabMatlab (Matrix Laboratory) Estamos frente a un programa interactivo para efectuar calculos matematicos, hacer graficos.Un lenguaje de programacin de medio alto nivel, util para computacin a nivel tecnico (scripts).

Iniciemos

9

10Ventana de comandosCommand lineUsando Matlab como una calculadora:Corramos la sentencia: 1 + 1

10

11Ventana de comandosLnea de comando anteriorPodemos acceder o llamar el comando anterior con la flecha arriba del teclado.Limpiar la linea de comandos clccerrar todas las ventanas abiertas del entorno con close all.Limpiar el workspace con clear all.salida (respuesta)Lnea de comando actual11

12Espacio de trabajo (Workspace)Ventana del workspaceListado de variables en el workspaceValor de la variableLimpiar el workspace con clear all.12

13Historial de comandosCommand History WindowHistorial completo1314Operadores aritmeticosSuma (matricial)+Suma Unaria (unitaria - escalar)+Resta (matricial)-Resta Unaria (unitaria - escalar)-Multiplicacin Escalar*Multiplicacin componente a componente (Vectorial) (Ojo producto punto).*Potencia^Backslash o divisin matricial \Slash o divisin entera/

1415Numeros especialespi3.14159265i and jUnidad ImaginariaepsPrecisin relativa 2-52realminNumero mas pequeo 2-1022realmaxNumero mas grande (2-eps)* 21023InfInfinito (al dividir por cero, es mayor que realmax)NaNNo valor numrico (Not a Number) (0/0 Inf/Inf) (indefiniciones)

Son palabras reservadas para Matlab, no puedo crear variables con estos nombres, ni asignarles valores!!!

15

16Trabajemos matlab como una calculadora

Queremos hacer una ensalada para 10 personas.

Ingredientes para 5 personas:6naranjas5bananos3Manzanas1melonLista de precios:Naranja1.5banano1.2Manzana1melon5Cuantas frutas necesitamos en total? cuanto es el costo de hacer la ensalada para estas personas?RTA:

16172*5+102*(5+10)2/3*4 1/00/02*realmaxConsejos utiles:clc , flechitas up/down

Usualmente cuando usas ; al final de un comando, matlab deshabilita la interfaz echo (Impresin en consola) de la lnea de comando.Existen 3 caminos para presentar salidas: disp() fprintf() y el malo, no usar ;Ten en cuenta Existe priorizacin en operaciones matematicas!!!(-1+3+2*pi)^(3/4)InfInf NaN

Trabajemos matlab como una calculadoraQue valor obtienes? Porque?Que esta diciendo cada operacin?Que valor obtienes? Malo, porque te imprimir mucha basura y te perders o te cansaras de ver nmeros de seguro ;S1718Vas de ayuda Usando Help, Doc, etcHelp:Help (help cos); ??lookfor Doc (doc cos);??SearchGoogle matlab Manuales de MatlabComo ves Matlab contiene muchas mas funciones matematicas.TAREA!!!

Busca las funciones elementales elementary math functions y has una lista de las funciones disponibles en matlab. Tip: el comando doc, podra ser una opcin para esta labor.Como se calcula una raiz cuadrada ? Busca...Que hace la funcin factor? Cual es la diferencia entre los comandos ceil floor, fix and round? Haz un ejemplo usndolos para ver que sucede?

Ctrl + C

Te detiene la ejecucin del comando, si este tarda mucho ;)Ojo!!, matlab es case sensitive!, sensible a maysculas y minsculas

18

19Ventana Directorio ActualRuta del directorio actualLa accion Doble click, abre el archivo:.m file (script) en el Editor/Debugger.fig file (figure) en una Graphic window.mat file (data) carga las variables al workspace Ventana del directorio actualArchivos19

20Cambiando Directorio ActualRuta del directorio actualpwd Ruta actualcd Cambiar de directorio (linea comnados)dir, ls listar archivos del directorio./ - directorio actual../ - directorio padre20

Abrir el Editor: menu Matlab -> Window -> Editor21Ventana Editor / Debugger2122Ventana Editor / Debugger

Abrir el Editor: menu Matlab -> Editor F5 / run button (para correr tu script) disp(hello world);

Puedes anclar el editor a tu ventana principal de Matlab22

23 Abre un Editor: menu matlab -> Desktop -> Editor Guarda tu script como helloWorld.m Ejecuta tu script:Usando el botn runEscribiendo en la command window: helloWorld Ventana Editor / DebuggerTips atajos tiles para (editor / command win.)Cntrl-C, Cntrl-V, Cntl-Z, Cntl-F, Cntrl-H Comentarios usando %

2324Formato de SalidaEl uso de la funcin formato, controla el formato de salida de los valores numericos desplegados en la Command window.

format Compact / format loose determinan el espaciado entre lneas de comando

Revisar mas, con doc format

>> format short (5 digitos) >> format Long (15 digitos) >> format rat (racional)

>> pians =

3.1416>> pians =

3.141592653589793>> pians =

355/113Formato de salida, que usa matlab por defecto

24La opcin que trae Matlab, por defecto para presentar el formato de salida.25Identificando y Manejando los ErroresEjemplos de errores: dis(error) Error de Sintaxis / error en depuracin del comando

disp(error) Error de Sintaxis / reportado durante ejecucin del script (error en el/los argumentos)

Permite ejecutar Lnea 15No Permite ejecutar Lnea 152526Una lista de Comandos y Operadores en MatlabArithmetic operators. plus - Plus + uplus - Unary plus + minus - Minus - uminus - Unary minus - mtimes - Matrix multiply * times - Array multiply * mpower - Matrix power ^ power - Array power .^ mldivide - Backslash or left matrix divide \ mrdivide - Slash or right matrix divide /

Relational operators. eq - Equal == ne - Not equal ~= lt - Less than < gt - Greater than > le - Less than or equal =

Logical operators. and - Logical AND & or - Logical OR | not - Logical NOT ~ xor - Logical EXCLUSIVE OR any - True if any element of vector is nonzero all - True if all elements of vector are nonzero

Te dejare este documentoEn la carpeta, te ser de ayuda rpida ;)2627Desarrollo de los ejercicios documentar el cdigo% Solucion Tarea_1 < Archivo: Tarea_1_Solved.m >% Author :%Fulanito de tal,% Fecha:%12/06/2015 % --------------------------------------------------------------------------------------------------% Descripcin Corta: %% Este programa calcula y presenta las operaciones que determinan la nota final de la %asignatura XXXX, para cada uno de los estudiantes .% Los clculos son efectuados teniendo en cuenta las notas obtenidas en X exmenes, % y un porcentaje apreciativo de participacin en clase. % -------------------------------------------------------------------------------------------------- clear;clc;

Limpiar el workspace y la lnea de comandos al comienzo del Script es un buen habito. Porque?Ojo: Nunca estos a la mitad de un Script!! Porque?Este debe ser un

Buen Habito

Siempre!!Usar nombre representativos dentro del programa, no use variables ambiguas !!!!! x y, i notas = [80 77 70 60 65]; % vector con las calificaciones para cada alumnoparticipacion_en_clase = [1.10, 1.05, 1.07, 0.99, 1.10]; % vector porcentaje participacin de los estudiantes%participationNota_finales= (notas .* participacion_en_clase) + 10; % Calcula la nota final de cada estudiantedisp(Nota_finales);Te invito a que me propongas un cdigo de solucin, considerando:Notas para 9 alumnosconsidera darles una nota apreciativa por participacin, para que se pongan felices :D

28- if (final_grades