Diapositiva 1

Anuncio
Alberto Patiño Vanegas
CUARTA SESIÓN
• ENTRADA Y SALIDA DE DATOS
• CONVERSIÓN DE DATOS
• OPERADORES RELACIOALES Y LÓGICOS
• ORDENES DE CONTROL Y FLUJO
Alberto Patiño Vanegas
ENTRADA Y SALIDA DE DATOS
1. OPERACIÓN INTERACTIVA MEDIANTE TECLADO O RATÓN
Z = input ( ‘mensaje de solicitud:’ )
disp( X )
El argumento : Mensaje de solicitud que se escribe entre
comillas y se exhibe en pantalla.
Z : Variable donde se guardará el valor pedido cuando el
usuario teclea el valor y pulse la tecla enter.
disp: Muestra en pantalla el valor de la variable X.
a = input ( 'teclee el primer numero a sumar: ');
EJEMPLO 1.
b = input('teclee el segundo numero: ');
suma = a+b;
disp(‘la suma es:’);
disp(suma);
Alberto Patiño Vanegas
2. GUARDAR Y CARGAR DATOS
save archivo a b ...
save archivo a -ascii
load archivo
archivo : Nombre del archivo donde se van a guardar los
datos.Se guarda con la extensión .mat.
a,b:
Variables donde están almacenados los datos a
guardar en formato binario de doble precisión.
-ascii:
Guarda los datos en formato ascii
load :
Carga las variables que están en el archivo.
Alberto Patiño Vanegas
EJEMPLO 2.
L = [0 1 2 3 4 5 6 7 8 9 10];
T = [0, 0.20, 0.28, 0.34, 0.40, 0.44, 0.49, 0.53, 0.56, 0.60, 0.63];
save pendulo L T ;
save longitud L –ascii;
save periodo T –ascii;
clear all;
load pendulo;
plot(L,T,’r*’)
Se guardan las variables L y T en el
archivo pendulo.m en formato
binario de doble precisión y en los
archivos longitud.m y periodo.m las
variables L y T en formato ascii.
Se cargan los datos con load para
graficarlos.
Alberto Patiño Vanegas
3. ABRIR, LEER , ESCRIBIR DATOS EN UN ARCHIVO
[fid,mensaje] = fopen( ‘archivo’ , ‘permiso’ )
fid :
identificador del archivo.
mensaje: Mensaje de error si el archivo no se pudo abrir.
archivo : Nombre del archivo a abrir.
permiso: Especifica el modo en que es abierto el archivo.
A = fread(fid,’precisión’)
fwrite(fid,D, ‘precisión’)
fclose(fid)
fid :
identificador del archivo a leer, escribir o cerrar.
A:
Variable donde se van a cargar los datos leídos.
precisión: Especifica el formato de los datos a leer o escribir.
D:
Variable donde están los datos a ser escritos.
fclose:
Cierra el archivo abierto con el identificador fid.
Alberto Patiño Vanegas
EJEMPLO 3.
[nom,mensaje] = fopen('Juan.txt','w');
if (nom > 0)
msgbox('Archivo creado
correctamente','Ok','warn');
else
msgbox(mensaje,‘advertencia','error');
end
fwrite(nom,'mi nombre es Juan','schar');
fclose(nom);
nom = fopen('Juan.txt','r');
msgbox(char(fread(nom,'schar'))')
fclose(nom);
Alberto Patiño Vanegas
4. GUARDAR CON FORMATO
fprintf (fid,’formato’, dat)
fid :
identificador del archivo donde se van a guardar los datos.
format: Clase de formato en que se guardaran los datos.
dat:
Variable donde están los datos a guardar.
EJEMPLO 4.
x = 0:.1:1;
y = [x ; exp(x)];
fid = fopen('exp.txt','w');
fprintf(fid,'%6.2f %12.8f\n',y);
fclose(fid);
Crea un archivo de texto
con el nombre exp.tex
que contiene una tabla
con valores de la
función exponencial.
Alberto Patiño Vanegas
CONVERSIÓN DE DATOS
1. DE NÚMEROS A STRING
S = num2str ( N )
N : Matriz de números
S : Representación de N como caracteres
EJEMPLO 5.
DAT = rand(1,100);
DESV = std(DAT);
DESV = num2str(DESV);
plot(DAT);
title(['DESVIACION =
',DESV])
Alberto Patiño Vanegas
2. DE STRING A NÚMEROS
N = str2num ( S )
S : Matriz de caracteres que representan números.
N : representación de S como números
EJEMPLO 6.
archivo = '8';
A = str2num(archivo);
Z = A + 10
Z = 18;
Alberto Patiño Vanegas
OPERADORES RELACIONALES Y LÓGICOS
a<b
a<=b
a menor que b
a menor o igual que b
a>b
a mayor que b
a>=b
a==b
a~=b
a&b
a|b
~a
a mayor o igual que b
a igual a b
a diferente de b
ayb
aob
negación de a
Alberto Patiño Vanegas
ORDENES DE CONTROL Y FLUJO
1. IF...ELSEIF...ELSE...END
if (condición 1)
orden 1
elseif (condicion2)
orden 2
...
else
orden 3
end
2. FOR...END
for i = a:paso:b
orden
end
Alberto Patiño Vanegas
EJEMPLO 7.
t = linspace(0,2*pi,100);
I = abs(4*sin(3*t));
I(35:50)=0;
L = length(t)
ruido = rand(1,length(t))
S = I+ruido;
save mensaje t S
Simulación de una señal
de intensidad recibida por
fibra óptica, que se
guarda en el archivo
mensaje,
Alberto Patiño Vanegas
load mensaje
figure,Plot(t,I)
MAX = max(I);
UMBRAL = 0.6*MAX;
for i=1:L
if I(i)<UMBRAL
I(i)=0;
else
I(i)=1;
end
figure, plot(t,I)
Alberto Patiño Vanegas
3. WHILE....END
while (condición 1)
orden
end
4. SWITCH...CASE
a = valor;
switch a
case valor 1
orden 1
case valor 2
orden 2
...
otherwise
orden 3
end
clc;
sw=1;
while (sw ~=0)
clc;
disp('escoja la operacion:');
disp('suma = 1');
disp('resta = 2');
disp('multiplicacion = 3');
operacion = input('');
if (operacion==1 | operacion==2 |operacion==3)
a = input('ingrese el primer numero: ');
b = input('ingrese el segundo numero: ');
switch operacion
case 1
disp(['la suma es: ',num2str(a+b)])
case 2
disp(['la resta es: ',num2str(a-b)])
case 3
disp(['el producto es: ',num2str(a*b)])
end
else
disp('Operacion no definida');
end
disp('Desea continuar?');
disp('SI = 1');
disp('NO = 0');
sw = input('');
end
Alberto Patiño Vanegas
EJEMPLO 8
Alberto Patiño Vanegas
5. BREAK
for (condición 1)
ordenes
if (condición 2)
ordenes;
break;
end
EJEMPLO 9
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
POS= 6
Descargar