SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
PROGRAMACIÓN DE MATLAB
UNIVERSIDADNACIONAL DEINGENIERIA
FACULTAD DEINGENIERIA ELECTRICA YELECTRONICA
KRAQ
PROGRAMACIÓN DE MATLAB
Funciones de conversión
int2str
num2str
str2double
str2num
mat2str
Convierte un numero entero en cadena de caracteres
Convierte un numero real en cadena de caracteres, con
cuatro cifras decimales por defecto
Convierte una cadena de caracteres , que seria una representación
de caracteres ASCII de un valor real o complejo a un número de
doble precisión
Convierte una cadena de caracteres , que seria una representación
de caracteres ASCII de un valor numérico
Convierte una matriz a cadena de caracteres
>> num2str(pi)
ans =
3.1416
>> num2str(pi,8)
ans =
3.1415927
0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
DESVIACION = 0.27799
PROGRAMACIÓN DE MATLAB
q=rand(1,100);
dsv=std(q);
desv1=num2str(dsv);
plot(q);
title(['DESVIACION = ',desv1]);
a='8';
st=str2num(a);
z=st+15
z =
23
PROGRAMACIÓN DE MATLAB
Operadores relacionales
PROGRAMACIÓN DE MATLAB
Operadores lógicos
Operador Ejemplo
& A&B
| A|B
~ ~A
xor Xor(A,B)
• Como ya se mencionó en el primer caso te devuelve un valor numérico.
• En el segundo caso el texto tecleado como respuesta se lee y se devuelve sin
evaluar, con lo que se almacena la cadena nombre
PROGRAMACIÓN DE MATLAB
Lectura y escritura interactiva de variables
Comando de entrada: input
Permite escribir un mensaje en la línea de comandos de MATLAB y recuperar como
valor de retorno un valor numérico o el resultado de una expresión tecleada por el
usuario.
Después de imprimir el mensaje, el programa espera que el usuario teclee el valor
numérico o la expresión.
>> n=input('Teclee el número de ecuaciones: ')
>> nombre=input('¿Cómo te llamas?','s')
los vectores
PROGRAMACIÓN DE MATLAB
Lectura y escritura interactiva de variables
Comando de salida: disp
Permite imprimir en pantalla un mensaje de texto o el valor de una matriz, pero sin
imprimir su nombre. En realidad disp siempre imprime vectores y(o matrices
La cadena de caracteres
son un caso particular de
z‘)disp(' x y
disp(randn(5,3))
x
0.3807
-1.5077
-1.0979
0.0519
-0.4202
y
-0.8339
0.1347
-0.0013
-1.3061
0.4361
z
0.1918
0.2571
0.8237
-1.1328
0.7079
Se pueden mostrar datos y matrices
Comando de salida: disp
Ejercicios :
1. Diseñe un programa en el cual dada una matriz A cuadrada cualquiera de
tamaño n ingresado en por el usuario, permita mostrar sus autovalores.
2. Ingrese los parámetros A, f y el tiempo de duración de la siguiente señal;
grafíquelo y muestre el valor medio de dicha señal
Lectura y escritura interactiva de variables
PROGRAMACIÓN DE MATLAB
Puede mostrar múltiples items en una misma línea
>> x=[1 2 3 4];
>> disp(['Los valores de x son: ',num2str(x),' viene a ser un array'])
Los valores de x son: 1 2 3 4 viene a ser un array
Algunos otros comandos utilizados
pause : la ejecución del programa se detiene en esa línea hasta dar a una tecla
return : Interrumpe en esa línea de ejecución de la función, regresando a
donde se le hubiera llamado. Termina un programa si está en la función
principal
error(‘mensaje’) : Escribe el mensaje en pantalla y finaliza al ejecución del m-
fichero, regresando a donde se le llama (consola u otra función)
PROGRAMACIÓN DE MATLAB
sprintf : Devuelde los datos en una variable cadena,muy parecido a su
equivalente en C
>> temp=14; hum=98;
>> sprintf('La temperatura en Lima es %g °C con humedad de %g porciento',temp,hum)
ans =
La temperatura en Lima es 14 °C con humedad de 98 porciento
Espacio código fuente : EDITOR (M-FILES)
Espacio para ejecutar : VENTANA DE COMANDOS
PROGRAMACIÓN DE MATLAB
Introducción a la programación
•Todo lenguaje de programación requiere de un espacio de trabajo más
cómodo donde escribir todas las instrucciones.
• Cuando escribimos en el intérprete, si nos equivocamos en algo ya no
puedes retroceder, necesitamos también crear funciones, etc.
• Por lo tanto requerimos un espacio donde escribir el código fuente y un
espacio donde se ejecute.
Tipos M-files:
Archivos Script
Archivos function
No olvidar que para
comentarios en la
programación se debe
hace con %
Archivos scripts
• Se trata de un editor de texto
• Basado en un conjunto de sentencias
• Se guarda donde se quiere, de preferencia en la carpeta de trabajo
• Se guarda con el nombre que quiera Ud. Su extensión es *.m .
• Las variables creadas en este archivo usan el workspace.
• También se puede llamar desde la ventana de comandos.
PROGRAMACIÓN DE MATLAB
Introducción a la programación
Ejemplo
function [f,promedio]=mifuncion(x,y)
f=y.*(1-y)+x;
promedio=sum(f)/length(x);
Recordar que sum
devuelve la suma
de elementos y
length el tamaño
PROGRAMACIÓN DE MATLAB
Introducción a la programación
Definición de funciones
La primera línea de un fichero llamado name.m que define una función tiene la forma:
Donde name es el nombre de la función. Entre corchetes y separados por comas
van los valores de retorno (siempre que haya más de uno), y entre paréntesis
también separados por comas van los argumentos
• Presenta las características básicas de una función.
• Tienen que tener el mismo nombre del archivo *.m
Scripts vs. Funciones
PROGRAMACIÓN DE MATLAB
function y=z(n)
global a
y=n*a;
function y=f(x)
global a
a=24;
k=z(4);
y=2*x*k;
Las variables globales
pueden ser mostrarse en el
workspace mediante
>> global variable
PROGRAMACIÓN DE MATLAB
• Variables Locales
Como en todo lenguaje de programación las variables locales se definen sólo
en su espacio de trabajo, no se pude apreciar en el workspace
• Variables Globales
En la definición de una función (al igual que en cualquier lenguaje de programación)
los nombres de las variables son mudos, es decir, se entienden y definen únicamente
dentro del fichero, sin relación con las variables exteriores. La única excepción la
forman las variables declaradas como globales en ambos contextos..
global variable1 variable2 …
PROGRAMACIÓN DE MATLAB
function y=recta(x)
a=8;%pendiente
y=a*x+b; %valor de la recta
end
>> b=4
b=
4
>> y1=recta1(3)
??? Undefined function or variable 'b'.
function y=recta(x)
global b
a=8;%pendiente
y=a*x+b; %valor de la recta
end
>> global b
>> whos b
Name Size Bytes Class Attributes
b 1x1 8 double global
>> b=12
b=
12
>> y1=recta(3)
y1 =
36
function resultado=func(x,y)
global e
e=sqrt((x+y)/2);
resultado=x^2+y^3+e;
end
:
< Acción n>
Ejercicio:
Calcular la distancia y el punto medio entre dos puntos
en el espacio (hacerlo por vectores)
PROGRAMACIÓN DE MATLAB
Estructuras de control de Flujo
Todos los algoritmos tienes tres estructuras básicas:
1. Estructura secuencial
2. Estructura selectiva
3. Estructura iterativa
1. Estructura Secuencial:
Es aquella en la que la acción (instrucción), sigue a otra en secuencia.
< Acción 1>
< Acción 2>
Permiten realizar una u otra operación según se cumpla o no determinada condición.
Las siguientes figuras nos muestran tres posibles formas de bifurcación.
2. Estructura Selectiva:
PROGRAMACIÓN DE MATLAB
Sentencias if… else anidadas que no cumpla ninguna de
las condiciones que se han
chequeado
Una observación importante: La condición del if puede ser una condición matricial del
tipo A==B, donde A y B son del mismo tamaño. Para que la condición se cumpla es
necesario que sean igual dos a dos todos los elementos de las matrices A y B.
PROGRAMACIÓN DE MATLAB
2. Estructura Selectiva:
Sentencias if… else
La sentencia else puede ser
omitida: si no está presente
no se hace nada en caso de
PROGRAMACIÓN DE MATLAB
2. Estructura Selectiva:
Sentencias if… else
Ejercicios
1. Calcular las soluciones de la ecuación a*x^2+b*x+c=0, donde a~=0.
2. Calcular el valor absoluto de dos números cualesquiera (sin usar función).
3. Generar un número aleatorio entre -100 y 100, si es positivo menor que 30 es
pequeño, si es positivo entre 30 y 80 es mediano, si es positivo entre 80 y 100 es
grande.
4. Calcular el área de un triángulo conociendo sus lados. Mostrar su existencia
PROGRAMACIÓN DE MATLAB
2. Estructura Selectiva:
Sentencias swith ….case
Ejercicio
1. Diseñar un programa que ingreses el numero de la semana y te devuelva el nombre
de semana.
2. Hacer un multiplexor de funciones
Conocidas también como estructuras repetitivas, nos permiten repetir una secuencia
de instrucciones un número determinado de veces.
3. Estructura Iterativas:
PROGRAMACIÓN DE MATLAB
Sentencia while
Donde condicion puede ser una expresión vectorial o matricial. Las sentencias se
siguen ejecutando. Las sentencias se siguen ejecutando mientras haya elementos
distintos de cero en condicion, es decir mientras haya algún o algunos elementos true.
El bucle termina cuando todos los elementos de condicion son false (es decir, cero)
Las estructuras del
bucle while es
muy similar a la de
C/C++/java
3. Estructura Iterativas:
PROGRAMACIÓN DE MATLAB
Ejercicio
1. Calcular de la sumatoria de 1^2+2^2+3^2+4^2+...n^2
2. Calcule :
3. Calcule la suma de los números enteros empezando en 1,
hasta que la suma exceda de 100
Los valores de i van de 1 a n
variando de uno en uno, si no
se especifica el paso. El
vectorValores es un vector con
los distintnos valores que
tomará la variable i
PROGRAMACIÓN DE MATLAB
3. Estructura Iterativas:
Sentencia for
La sentencia for repite un conjunto de sentencias un número pre-determinado de veces.
La sentencia for de MATLAB es muy diferente y no tiene la generalidad de la sentencia
for de C/C++/Java
En el siguiente ejemplo se presenta una estructura correspondiente a dos bucles
anidados. La variable j es la que varía más rápidamente
Por cada valor de i,
j toma todos sus
posibles valores
PROGRAMACIÓN DE MATLAB
3. Estructura Iterativas:
El caso más general de la sentencia for, es tomando en cuenta el incremento, el bucle
se ejecuta por primera vez desde i =n, y luego va reduciendo de 0.2 en 0.2 hasta llegar
a ser menor que 1.
En la que i es un vector que va tomando en cada iteración el valor de una de las
columnas de A.
Cuando se introducen iterativamente en la línea de comandos, los bucles for se
ejecutan sólo después de introducir la sentencia end que los completa
Ejercicios
1. La sumatoria desde x0 hasta xf de la función x^2-3x+21
2. El factorial de un numero
PROGRAMACIÓN DE MATLAB
3. Estructura Iterativas:
La última forma de interés del bucle for es la siguiente (A es una matriz)
% Break
clear;clc;
DAT=[0 0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 0];
for i=1:length(DAT)
if DAT(i)~=0
POS=i;
break;
end
end
PROGRAMACIÓN DE MATLAB
Sentencia Break
Al igual que en C/C++/Java, la sentencia break hace que se termine la ejecución del
bucle for y/o while más interno de los que comprende a dicha sentencia
Dada una matriz aleatoria A
encontrar la posición de su primer
elemento igual a cero
clear;
clc;
cont=0;
while 1
cont=cont+1;
alt=randi(6);
disp([num2str(cont) '<=' num2str(alt)])
if alt>=cont
continue
else
break
end
end
1<=1
2<=2
3<=6
4<=1
>>
1<=5
2<=4
3<=6
4<=1
>>
PROGRAMACIÓN DE MATLAB
Sentencia Continue
La sentencia continue hace que se pase inmediatamente a la siguiente iteración del
bucle for o while más interno de los que comprende dicha sentencia.
Hacer un programa que muestre un
menú de opciones : suma=1, resta=2,
multiplicación=3 y división=4. Para dos
números ingresados por el usuario y
muestre resultados en consola.
Script:
------------------
------------------
a=funcion1;
------------------
------------------
b=funcion2;
------------------
c=funcion3;
---------------
---------------
Funcion2()
---------------
---------------
Funcion3()
---------------
---------------
Ejercicios
1. A partir del factorial de un número, calcular el combinatorio de m tomados de n en n
Las funciones son
invocadas desde
el cuerpo de un
programa
PROGRAMACIÓN DE MATLAB
Introducción a la programación
Llamado de funciones en la misma carpeta de trabajo
Funcion1()
% Función primaria
function [avg,med] = mediamediana(u)
% Encuentra la media y la mediana
%con las funciones internas.
n = length(u);
avg = media(u,n);
med = mediana(u,n);
function a = media(v,n) %Subfunction
% Calcula la media o promedio.
a = sum(v)/n;
function m = mediana(v,n)% Subfunction
% Calcula la mediana.
w = sort(v);
if rem(n,2) == 1
m = w((n+1)/2);
else
m = (w(n/2)+w(n/2+1))/2;
end
Agregar la desviación
estándar
function A(arg1)
...
function Aa(a1,a2)
...
function Aa1()
...
end
end
....
function Ab()
...
function Ab1()
...
end
...
function Ab2()
...
end
...
end
....
end
PROGRAMACIÓN DE MATLAB
Sub-funciones
>> varsin = @sin
>> varsin(pi/2)
ans =
1
>> trifun={@sin,@cos,@tan}
trifun =
@sin @cos @tan
>> trifun{3}(pi/4)
ans =
1.0000
>> I=quad(@sin,0,pi)
I=
2.0000
PROGRAMACIÓN DE MATLAB
Manipulador de funciones (function handles @)
Matlab tiene una herramienta para asignar funciones (aunque sería más correcto
llamarlos métodos) a variables. Si utilizamos los Function handles para asignar una
función a una variable podemos utilizar la función sin hacerlo directamente al igual
que operamos los argumentos mediante variables.
Un Function handle se denota con la letra @
>> foo2 = @(x,y) sin(x)*cos(y)
foo2 =
@(x,y)sin(x)*cos(y)
>> foo2(6,2)
ans =
0.1163
>> quad(@(x) besselj(2.5,x),0,4.5)
ans =
1.1178
La función es anónima porque no
tiene ningún nombre fijo, seguirá
siendo la misma función
independientemente del nombre de
la variable.
PROGRAMACIÓN DE MATLAB
Funciones anónimas
Las funciones anónimas constituyen una forma muy flexible de crear funciones sobre
la marcha, ya sea en la línea de comandos o en una línea cualquiera de una función o
un fichero *.m. La forma general de una función anónima es la siguiente:
fhandle=@(argumentos) sentencia_ejecutable
eval(expresion) expression = [string1, int2str(var), string2, ...]siendo
x=1:5;
y=eval('(x+2)./x');
strf='sin(x*(pi/2))‘;
z=eval(strf)
y=
3.0000 2.0000 1.6667 1.5000 1.4000
z=
1.0000 0.0000 -1.0000 -0.0000 1.0000
for n = 1:10
eval(['A',num2str(n),' = magic(n)'])
end
Probar los siguientes códigos
for d=1:5
s = ['load August' int2str(d) '.mat'];
eval(s)
end
for n=1:10
eval(['P',int2str(n),'=n.^2'])
end
PROGRAMACIÓN DE MATLAB
La función eval
Evalúa una cadena que contiene una expresión MATLAB, sentencia o llamada a función
Se puede evaluar una función definida
en la misma carpeta de trabajo
colocando el nombre como string
function y=fcn1(x)
y=x*exp(-x^2);
end
>> feval('fcn1',2)
ans =
0.0366
PROGRAMACIÓN DE MATLAB
La función feval
Evalúa el manejador de función usando el argumento x1,x2,x3,…,xn
[y1, y2, ...] = feval(fhandle, x1, ..., xn)
[y1, y2, ...] = feval(fname, x1, ..., xn)
>> feval(@(x,y)sin(x)*cos(y),pi/6,pi/3)
ans =
0.2500
>> feval(@(x)x*exp(-x^2),2)
ans =
0.0366
>> feval(@(x,y)x*y^-2+x^3*y+2,2,3)
ans =
26.2222
>> [a,b]=feval(@size,[1 2 3])
PROGRAMACIÓN DE MATLAB
Métodos numéricos
Son la rama de la matemática que se encarga de diseñar algoritmos para a través de
números y reglas matemáticas simples, simular procesos matemáticos más complejos
aplicados a procesos del mundo real .
Método del Bisección
Consideremos una función no lineal f(x) continua en (a; b), tal que sea intervalo
solución, es decir f(a) * f(b) debe ser menor que cero.
1. Halla el pto medio en el intervalo entre
a y b.
1. Hallar f(c).
2. Analizar: Si f(a)xf(c) > 0 , entonces a=c.
Si f(a)xf(c) < 0 , entonces b=c.
4. Se repite con el nuevo intervalo solución
hasta llegar a una precisión deseada.
PROGRAMACIÓN DE MATLAB
Métodos numéricos
Método del punto fijo
Aproxima la solución de la ecuación x=g(x) empezando con un valor inicial de
partida p1, y la fórmula de recurrencia es:
PROGRAMACIÓN DE MATLAB
Métodos numéricos
Método del Newton-Raphson
Permite aproximar a una raíz de de f(x)=0 a partir de un valor inicial p1,
mediante la fórmula de recurrencia .
MATLAB funciones conversión numéricos

Más contenido relacionado

La actualidad más candente

Ejercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujoEjercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujolisvancelis
 
Herramientas de software para investigacion operativa
Herramientas de software para investigacion operativaHerramientas de software para investigacion operativa
Herramientas de software para investigacion operativaLois Q
 
Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferencialesAplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferencialesVirgilio Granda
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaJesús Navarro
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosalan moreno
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Idalia Tristan
 
Que es el wronskiano
Que es el wronskianoQue es el wronskiano
Que es el wronskianoEIYSC
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numericomorenito9001
 
Expo 7 programación entera (algoritmo de gomory)
Expo 7   programación entera (algoritmo de gomory)Expo 7   programación entera (algoritmo de gomory)
Expo 7 programación entera (algoritmo de gomory)Ayda Ramirez Montalvo
 
Metodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabMetodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabBryan José Sarango
 
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONESMETODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONESJuanMiguelCustodioMo
 
Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinFaveeLa Natsuko
 
Ejercicios resueltos- de metodos
Ejercicios resueltos- de metodosEjercicios resueltos- de metodos
Ejercicios resueltos- de metodosMichael Dhgfhr
 
Tarea 4 de probabilidad con respuestas
Tarea 4 de probabilidad con respuestasTarea 4 de probabilidad con respuestas
Tarea 4 de probabilidad con respuestasIPN
 

La actualidad más candente (20)

Ejercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujoEjercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujo
 
Herramientas de software para investigacion operativa
Herramientas de software para investigacion operativaHerramientas de software para investigacion operativa
Herramientas de software para investigacion operativa
 
Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferencialesAplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferenciales
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Algoritmo De Productos Medios
Algoritmo De Productos MediosAlgoritmo De Productos Medios
Algoritmo De Productos Medios
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntos
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
 
Que es el wronskiano
Que es el wronskianoQue es el wronskiano
Que es el wronskiano
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
 
Expo 7 programación entera (algoritmo de gomory)
Expo 7   programación entera (algoritmo de gomory)Expo 7   programación entera (algoritmo de gomory)
Expo 7 programación entera (algoritmo de gomory)
 
Metodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabMetodos numéricos, códigos en Matlab
Metodos numéricos, códigos en Matlab
 
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONESMETODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
 
Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurin
 
Recursividad
RecursividadRecursividad
Recursividad
 
Ejercicios resueltos- de metodos
Ejercicios resueltos- de metodosEjercicios resueltos- de metodos
Ejercicios resueltos- de metodos
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Listas
ListasListas
Listas
 
Tarea 4 de probabilidad con respuestas
Tarea 4 de probabilidad con respuestasTarea 4 de probabilidad con respuestas
Tarea 4 de probabilidad con respuestas
 

Similar a MATLAB funciones conversión numéricos

Similar a MATLAB funciones conversión numéricos (20)

Matlab
MatlabMatlab
Matlab
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 
TIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLABTIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLAB
 
Diapositivas matlab
Diapositivas matlabDiapositivas matlab
Diapositivas matlab
 
Breves apuntes matlab5
Breves apuntes matlab5Breves apuntes matlab5
Breves apuntes matlab5
 
Apuntesmatlab
ApuntesmatlabApuntesmatlab
Apuntesmatlab
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
Módulo 4 (sin estilo)
Módulo 4 (sin estilo)Módulo 4 (sin estilo)
Módulo 4 (sin estilo)
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLab
 
Copiade documento(2)
Copiade documento(2)Copiade documento(2)
Copiade documento(2)
 
Matlab
Matlab Matlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab (1)
Matlab (1)Matlab (1)
Matlab (1)
 

Más de Marc Llanos

electrónica industrial
electrónica industrial electrónica industrial
electrónica industrial Marc Llanos
 
electrónica industrial
electrónica industrial electrónica industrial
electrónica industrial Marc Llanos
 
Sistemas dinamicos con_simulink
Sistemas dinamicos con_simulinkSistemas dinamicos con_simulink
Sistemas dinamicos con_simulinkMarc Llanos
 
Graficos en matlab
Graficos en matlabGraficos en matlab
Graficos en matlabMarc Llanos
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlabMarc Llanos
 
Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2Marc Llanos
 
Awii0 programacionysimulacionavanzada
Awii0 programacionysimulacionavanzadaAwii0 programacionysimulacionavanzada
Awii0 programacionysimulacionavanzadaMarc Llanos
 
Diseño 15 diseño del diametro de un arbol de un reductor de velocidad
Diseño 15  diseño del diametro de un arbol de un reductor de velocidadDiseño 15  diseño del diametro de un arbol de un reductor de velocidad
Diseño 15 diseño del diametro de un arbol de un reductor de velocidadMarc Llanos
 
Diseño 13 factores que modifican el límite de resistencia a la fatiga-utp
Diseño 13 factores que modifican el límite de resistencia a la fatiga-utpDiseño 13 factores que modifican el límite de resistencia a la fatiga-utp
Diseño 13 factores que modifican el límite de resistencia a la fatiga-utpMarc Llanos
 
Diseño 4 clase engranajes rectos1
Diseño 4 clase engranajes rectos1Diseño 4 clase engranajes rectos1
Diseño 4 clase engranajes rectos1Marc Llanos
 
Diseño 3 diseño de chaveta
Diseño 3 diseño de chavetaDiseño 3 diseño de chaveta
Diseño 3 diseño de chavetaMarc Llanos
 
Robotica - cinematica
Robotica - cinematicaRobotica - cinematica
Robotica - cinematicaMarc Llanos
 
Robotica - grados de libertad
Robotica - grados de libertadRobotica - grados de libertad
Robotica - grados de libertadMarc Llanos
 
Robotica - definiciones evolucion
Robotica - definiciones   evolucionRobotica - definiciones   evolucion
Robotica - definiciones evolucionMarc Llanos
 
Robotica - cinematica2
Robotica - cinematica2Robotica - cinematica2
Robotica - cinematica2Marc Llanos
 

Más de Marc Llanos (16)

electrónica industrial
electrónica industrial electrónica industrial
electrónica industrial
 
electrónica industrial
electrónica industrial electrónica industrial
electrónica industrial
 
Sistemas dinamicos con_simulink
Sistemas dinamicos con_simulinkSistemas dinamicos con_simulink
Sistemas dinamicos con_simulink
 
Programacion1
Programacion1Programacion1
Programacion1
 
Graficos en matlab
Graficos en matlabGraficos en matlab
Graficos en matlab
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlab
 
Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2
 
Awii0 programacionysimulacionavanzada
Awii0 programacionysimulacionavanzadaAwii0 programacionysimulacionavanzada
Awii0 programacionysimulacionavanzada
 
Diseño 15 diseño del diametro de un arbol de un reductor de velocidad
Diseño 15  diseño del diametro de un arbol de un reductor de velocidadDiseño 15  diseño del diametro de un arbol de un reductor de velocidad
Diseño 15 diseño del diametro de un arbol de un reductor de velocidad
 
Diseño 13 factores que modifican el límite de resistencia a la fatiga-utp
Diseño 13 factores que modifican el límite de resistencia a la fatiga-utpDiseño 13 factores que modifican el límite de resistencia a la fatiga-utp
Diseño 13 factores que modifican el límite de resistencia a la fatiga-utp
 
Diseño 4 clase engranajes rectos1
Diseño 4 clase engranajes rectos1Diseño 4 clase engranajes rectos1
Diseño 4 clase engranajes rectos1
 
Diseño 3 diseño de chaveta
Diseño 3 diseño de chavetaDiseño 3 diseño de chaveta
Diseño 3 diseño de chaveta
 
Robotica - cinematica
Robotica - cinematicaRobotica - cinematica
Robotica - cinematica
 
Robotica - grados de libertad
Robotica - grados de libertadRobotica - grados de libertad
Robotica - grados de libertad
 
Robotica - definiciones evolucion
Robotica - definiciones   evolucionRobotica - definiciones   evolucion
Robotica - definiciones evolucion
 
Robotica - cinematica2
Robotica - cinematica2Robotica - cinematica2
Robotica - cinematica2
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (19)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

MATLAB funciones conversión numéricos

  • 1. PROGRAMACIÓN DE MATLAB UNIVERSIDADNACIONAL DEINGENIERIA FACULTAD DEINGENIERIA ELECTRICA YELECTRONICA KRAQ
  • 2. PROGRAMACIÓN DE MATLAB Funciones de conversión int2str num2str str2double str2num mat2str Convierte un numero entero en cadena de caracteres Convierte un numero real en cadena de caracteres, con cuatro cifras decimales por defecto Convierte una cadena de caracteres , que seria una representación de caracteres ASCII de un valor real o complejo a un número de doble precisión Convierte una cadena de caracteres , que seria una representación de caracteres ASCII de un valor numérico Convierte una matriz a cadena de caracteres >> num2str(pi) ans = 3.1416 >> num2str(pi,8) ans = 3.1415927
  • 3. 0 10 20 30 40 50 60 70 80 90 100 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 DESVIACION = 0.27799 PROGRAMACIÓN DE MATLAB q=rand(1,100); dsv=std(q); desv1=num2str(dsv); plot(q); title(['DESVIACION = ',desv1]); a='8'; st=str2num(a); z=st+15 z = 23
  • 5. PROGRAMACIÓN DE MATLAB Operadores lógicos Operador Ejemplo & A&B | A|B ~ ~A xor Xor(A,B)
  • 6. • Como ya se mencionó en el primer caso te devuelve un valor numérico. • En el segundo caso el texto tecleado como respuesta se lee y se devuelve sin evaluar, con lo que se almacena la cadena nombre PROGRAMACIÓN DE MATLAB Lectura y escritura interactiva de variables Comando de entrada: input Permite escribir un mensaje en la línea de comandos de MATLAB y recuperar como valor de retorno un valor numérico o el resultado de una expresión tecleada por el usuario. Después de imprimir el mensaje, el programa espera que el usuario teclee el valor numérico o la expresión. >> n=input('Teclee el número de ecuaciones: ') >> nombre=input('¿Cómo te llamas?','s')
  • 7. los vectores PROGRAMACIÓN DE MATLAB Lectura y escritura interactiva de variables Comando de salida: disp Permite imprimir en pantalla un mensaje de texto o el valor de una matriz, pero sin imprimir su nombre. En realidad disp siempre imprime vectores y(o matrices La cadena de caracteres son un caso particular de z‘)disp(' x y disp(randn(5,3)) x 0.3807 -1.5077 -1.0979 0.0519 -0.4202 y -0.8339 0.1347 -0.0013 -1.3061 0.4361 z 0.1918 0.2571 0.8237 -1.1328 0.7079 Se pueden mostrar datos y matrices
  • 8. Comando de salida: disp Ejercicios : 1. Diseñe un programa en el cual dada una matriz A cuadrada cualquiera de tamaño n ingresado en por el usuario, permita mostrar sus autovalores. 2. Ingrese los parámetros A, f y el tiempo de duración de la siguiente señal; grafíquelo y muestre el valor medio de dicha señal Lectura y escritura interactiva de variables PROGRAMACIÓN DE MATLAB Puede mostrar múltiples items en una misma línea >> x=[1 2 3 4]; >> disp(['Los valores de x son: ',num2str(x),' viene a ser un array']) Los valores de x son: 1 2 3 4 viene a ser un array
  • 9. Algunos otros comandos utilizados pause : la ejecución del programa se detiene en esa línea hasta dar a una tecla return : Interrumpe en esa línea de ejecución de la función, regresando a donde se le hubiera llamado. Termina un programa si está en la función principal error(‘mensaje’) : Escribe el mensaje en pantalla y finaliza al ejecución del m- fichero, regresando a donde se le llama (consola u otra función) PROGRAMACIÓN DE MATLAB sprintf : Devuelde los datos en una variable cadena,muy parecido a su equivalente en C >> temp=14; hum=98; >> sprintf('La temperatura en Lima es %g °C con humedad de %g porciento',temp,hum) ans = La temperatura en Lima es 14 °C con humedad de 98 porciento
  • 10. Espacio código fuente : EDITOR (M-FILES) Espacio para ejecutar : VENTANA DE COMANDOS PROGRAMACIÓN DE MATLAB Introducción a la programación •Todo lenguaje de programación requiere de un espacio de trabajo más cómodo donde escribir todas las instrucciones. • Cuando escribimos en el intérprete, si nos equivocamos en algo ya no puedes retroceder, necesitamos también crear funciones, etc. • Por lo tanto requerimos un espacio donde escribir el código fuente y un espacio donde se ejecute.
  • 11. Tipos M-files: Archivos Script Archivos function No olvidar que para comentarios en la programación se debe hace con % Archivos scripts • Se trata de un editor de texto • Basado en un conjunto de sentencias • Se guarda donde se quiere, de preferencia en la carpeta de trabajo • Se guarda con el nombre que quiera Ud. Su extensión es *.m . • Las variables creadas en este archivo usan el workspace. • También se puede llamar desde la ventana de comandos. PROGRAMACIÓN DE MATLAB Introducción a la programación
  • 12. Ejemplo function [f,promedio]=mifuncion(x,y) f=y.*(1-y)+x; promedio=sum(f)/length(x); Recordar que sum devuelve la suma de elementos y length el tamaño PROGRAMACIÓN DE MATLAB Introducción a la programación Definición de funciones La primera línea de un fichero llamado name.m que define una función tiene la forma: Donde name es el nombre de la función. Entre corchetes y separados por comas van los valores de retorno (siempre que haya más de uno), y entre paréntesis también separados por comas van los argumentos • Presenta las características básicas de una función. • Tienen que tener el mismo nombre del archivo *.m
  • 14. function y=z(n) global a y=n*a; function y=f(x) global a a=24; k=z(4); y=2*x*k; Las variables globales pueden ser mostrarse en el workspace mediante >> global variable PROGRAMACIÓN DE MATLAB • Variables Locales Como en todo lenguaje de programación las variables locales se definen sólo en su espacio de trabajo, no se pude apreciar en el workspace • Variables Globales En la definición de una función (al igual que en cualquier lenguaje de programación) los nombres de las variables son mudos, es decir, se entienden y definen únicamente dentro del fichero, sin relación con las variables exteriores. La única excepción la forman las variables declaradas como globales en ambos contextos.. global variable1 variable2 …
  • 15. PROGRAMACIÓN DE MATLAB function y=recta(x) a=8;%pendiente y=a*x+b; %valor de la recta end >> b=4 b= 4 >> y1=recta1(3) ??? Undefined function or variable 'b'. function y=recta(x) global b a=8;%pendiente y=a*x+b; %valor de la recta end >> global b >> whos b Name Size Bytes Class Attributes b 1x1 8 double global >> b=12 b= 12 >> y1=recta(3) y1 = 36 function resultado=func(x,y) global e e=sqrt((x+y)/2); resultado=x^2+y^3+e; end
  • 16. : < Acción n> Ejercicio: Calcular la distancia y el punto medio entre dos puntos en el espacio (hacerlo por vectores) PROGRAMACIÓN DE MATLAB Estructuras de control de Flujo Todos los algoritmos tienes tres estructuras básicas: 1. Estructura secuencial 2. Estructura selectiva 3. Estructura iterativa 1. Estructura Secuencial: Es aquella en la que la acción (instrucción), sigue a otra en secuencia. < Acción 1> < Acción 2>
  • 17. Permiten realizar una u otra operación según se cumpla o no determinada condición. Las siguientes figuras nos muestran tres posibles formas de bifurcación. 2. Estructura Selectiva: PROGRAMACIÓN DE MATLAB
  • 18. Sentencias if… else anidadas que no cumpla ninguna de las condiciones que se han chequeado Una observación importante: La condición del if puede ser una condición matricial del tipo A==B, donde A y B son del mismo tamaño. Para que la condición se cumpla es necesario que sean igual dos a dos todos los elementos de las matrices A y B. PROGRAMACIÓN DE MATLAB 2. Estructura Selectiva: Sentencias if… else La sentencia else puede ser omitida: si no está presente no se hace nada en caso de
  • 19. PROGRAMACIÓN DE MATLAB 2. Estructura Selectiva: Sentencias if… else Ejercicios 1. Calcular las soluciones de la ecuación a*x^2+b*x+c=0, donde a~=0. 2. Calcular el valor absoluto de dos números cualesquiera (sin usar función). 3. Generar un número aleatorio entre -100 y 100, si es positivo menor que 30 es pequeño, si es positivo entre 30 y 80 es mediano, si es positivo entre 80 y 100 es grande. 4. Calcular el área de un triángulo conociendo sus lados. Mostrar su existencia
  • 20. PROGRAMACIÓN DE MATLAB 2. Estructura Selectiva: Sentencias swith ….case Ejercicio 1. Diseñar un programa que ingreses el numero de la semana y te devuelva el nombre de semana. 2. Hacer un multiplexor de funciones
  • 21. Conocidas también como estructuras repetitivas, nos permiten repetir una secuencia de instrucciones un número determinado de veces. 3. Estructura Iterativas: PROGRAMACIÓN DE MATLAB
  • 22. Sentencia while Donde condicion puede ser una expresión vectorial o matricial. Las sentencias se siguen ejecutando. Las sentencias se siguen ejecutando mientras haya elementos distintos de cero en condicion, es decir mientras haya algún o algunos elementos true. El bucle termina cuando todos los elementos de condicion son false (es decir, cero) Las estructuras del bucle while es muy similar a la de C/C++/java 3. Estructura Iterativas: PROGRAMACIÓN DE MATLAB Ejercicio 1. Calcular de la sumatoria de 1^2+2^2+3^2+4^2+...n^2 2. Calcule : 3. Calcule la suma de los números enteros empezando en 1, hasta que la suma exceda de 100
  • 23. Los valores de i van de 1 a n variando de uno en uno, si no se especifica el paso. El vectorValores es un vector con los distintnos valores que tomará la variable i PROGRAMACIÓN DE MATLAB 3. Estructura Iterativas: Sentencia for La sentencia for repite un conjunto de sentencias un número pre-determinado de veces. La sentencia for de MATLAB es muy diferente y no tiene la generalidad de la sentencia for de C/C++/Java
  • 24. En el siguiente ejemplo se presenta una estructura correspondiente a dos bucles anidados. La variable j es la que varía más rápidamente Por cada valor de i, j toma todos sus posibles valores PROGRAMACIÓN DE MATLAB 3. Estructura Iterativas: El caso más general de la sentencia for, es tomando en cuenta el incremento, el bucle se ejecuta por primera vez desde i =n, y luego va reduciendo de 0.2 en 0.2 hasta llegar a ser menor que 1.
  • 25. En la que i es un vector que va tomando en cada iteración el valor de una de las columnas de A. Cuando se introducen iterativamente en la línea de comandos, los bucles for se ejecutan sólo después de introducir la sentencia end que los completa Ejercicios 1. La sumatoria desde x0 hasta xf de la función x^2-3x+21 2. El factorial de un numero PROGRAMACIÓN DE MATLAB 3. Estructura Iterativas: La última forma de interés del bucle for es la siguiente (A es una matriz)
  • 26. % Break clear;clc; DAT=[0 0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 0]; for i=1:length(DAT) if DAT(i)~=0 POS=i; break; end end PROGRAMACIÓN DE MATLAB Sentencia Break Al igual que en C/C++/Java, la sentencia break hace que se termine la ejecución del bucle for y/o while más interno de los que comprende a dicha sentencia Dada una matriz aleatoria A encontrar la posición de su primer elemento igual a cero
  • 27. clear; clc; cont=0; while 1 cont=cont+1; alt=randi(6); disp([num2str(cont) '<=' num2str(alt)]) if alt>=cont continue else break end end 1<=1 2<=2 3<=6 4<=1 >> 1<=5 2<=4 3<=6 4<=1 >> PROGRAMACIÓN DE MATLAB Sentencia Continue La sentencia continue hace que se pase inmediatamente a la siguiente iteración del bucle for o while más interno de los que comprende dicha sentencia. Hacer un programa que muestre un menú de opciones : suma=1, resta=2, multiplicación=3 y división=4. Para dos números ingresados por el usuario y muestre resultados en consola.
  • 28. Script: ------------------ ------------------ a=funcion1; ------------------ ------------------ b=funcion2; ------------------ c=funcion3; --------------- --------------- Funcion2() --------------- --------------- Funcion3() --------------- --------------- Ejercicios 1. A partir del factorial de un número, calcular el combinatorio de m tomados de n en n Las funciones son invocadas desde el cuerpo de un programa PROGRAMACIÓN DE MATLAB Introducción a la programación Llamado de funciones en la misma carpeta de trabajo Funcion1()
  • 29. % Función primaria function [avg,med] = mediamediana(u) % Encuentra la media y la mediana %con las funciones internas. n = length(u); avg = media(u,n); med = mediana(u,n); function a = media(v,n) %Subfunction % Calcula la media o promedio. a = sum(v)/n; function m = mediana(v,n)% Subfunction % Calcula la mediana. w = sort(v); if rem(n,2) == 1 m = w((n+1)/2); else m = (w(n/2)+w(n/2+1))/2; end Agregar la desviación estándar function A(arg1) ... function Aa(a1,a2) ... function Aa1() ... end end .... function Ab() ... function Ab1() ... end ... function Ab2() ... end ... end .... end PROGRAMACIÓN DE MATLAB Sub-funciones
  • 30. >> varsin = @sin >> varsin(pi/2) ans = 1 >> trifun={@sin,@cos,@tan} trifun = @sin @cos @tan >> trifun{3}(pi/4) ans = 1.0000 >> I=quad(@sin,0,pi) I= 2.0000 PROGRAMACIÓN DE MATLAB Manipulador de funciones (function handles @) Matlab tiene una herramienta para asignar funciones (aunque sería más correcto llamarlos métodos) a variables. Si utilizamos los Function handles para asignar una función a una variable podemos utilizar la función sin hacerlo directamente al igual que operamos los argumentos mediante variables. Un Function handle se denota con la letra @
  • 31. >> foo2 = @(x,y) sin(x)*cos(y) foo2 = @(x,y)sin(x)*cos(y) >> foo2(6,2) ans = 0.1163 >> quad(@(x) besselj(2.5,x),0,4.5) ans = 1.1178 La función es anónima porque no tiene ningún nombre fijo, seguirá siendo la misma función independientemente del nombre de la variable. PROGRAMACIÓN DE MATLAB Funciones anónimas Las funciones anónimas constituyen una forma muy flexible de crear funciones sobre la marcha, ya sea en la línea de comandos o en una línea cualquiera de una función o un fichero *.m. La forma general de una función anónima es la siguiente: fhandle=@(argumentos) sentencia_ejecutable
  • 32. eval(expresion) expression = [string1, int2str(var), string2, ...]siendo x=1:5; y=eval('(x+2)./x'); strf='sin(x*(pi/2))‘; z=eval(strf) y= 3.0000 2.0000 1.6667 1.5000 1.4000 z= 1.0000 0.0000 -1.0000 -0.0000 1.0000 for n = 1:10 eval(['A',num2str(n),' = magic(n)']) end Probar los siguientes códigos for d=1:5 s = ['load August' int2str(d) '.mat']; eval(s) end for n=1:10 eval(['P',int2str(n),'=n.^2']) end PROGRAMACIÓN DE MATLAB La función eval Evalúa una cadena que contiene una expresión MATLAB, sentencia o llamada a función
  • 33. Se puede evaluar una función definida en la misma carpeta de trabajo colocando el nombre como string function y=fcn1(x) y=x*exp(-x^2); end >> feval('fcn1',2) ans = 0.0366 PROGRAMACIÓN DE MATLAB La función feval Evalúa el manejador de función usando el argumento x1,x2,x3,…,xn [y1, y2, ...] = feval(fhandle, x1, ..., xn) [y1, y2, ...] = feval(fname, x1, ..., xn) >> feval(@(x,y)sin(x)*cos(y),pi/6,pi/3) ans = 0.2500 >> feval(@(x)x*exp(-x^2),2) ans = 0.0366 >> feval(@(x,y)x*y^-2+x^3*y+2,2,3) ans = 26.2222 >> [a,b]=feval(@size,[1 2 3])
  • 34. PROGRAMACIÓN DE MATLAB Métodos numéricos Son la rama de la matemática que se encarga de diseñar algoritmos para a través de números y reglas matemáticas simples, simular procesos matemáticos más complejos aplicados a procesos del mundo real . Método del Bisección Consideremos una función no lineal f(x) continua en (a; b), tal que sea intervalo solución, es decir f(a) * f(b) debe ser menor que cero. 1. Halla el pto medio en el intervalo entre a y b. 1. Hallar f(c). 2. Analizar: Si f(a)xf(c) > 0 , entonces a=c. Si f(a)xf(c) < 0 , entonces b=c. 4. Se repite con el nuevo intervalo solución hasta llegar a una precisión deseada.
  • 35. PROGRAMACIÓN DE MATLAB Métodos numéricos Método del punto fijo Aproxima la solución de la ecuación x=g(x) empezando con un valor inicial de partida p1, y la fórmula de recurrencia es:
  • 36. PROGRAMACIÓN DE MATLAB Métodos numéricos Método del Newton-Raphson Permite aproximar a una raíz de de f(x)=0 a partir de un valor inicial p1, mediante la fórmula de recurrencia .