Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2011
MATLAB
Ing. Paul Glvez F.
Entrada y salida de datos
Escuela de Ingeniera Sede Valparaso
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);
P.G.F. 2011
1
archivo : Nombre del archivo donde se van a guardar los datos.Se guarda con la extensin .mat. a,b: Variables donde estn almacenados los datos a guardar en formato binario de doble precisin. -ascii: Guarda los datos en formato ascii load : Carga las variables que estn en el archivo.
P.G.F. 2011
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 precisin 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.
P.G.F. 2011
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,precisin) fid : A: D: fclose: fwrite(fid,D, precisin) fclose(fid)
identificador del archivo a leer, escribir o cerrar. Variable donde se van a cargar los datos ledos. Variable donde estn los datos a ser escritos. Cierra el archivo abierto con el identificador fid.
P.G.F. 2011
4
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);
P.G.F. 2011
5
format: Clase de formato en que se guardaran los datos. dat: Variable donde estn 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 funcin exponencial.
P.G.F. 2011
6
CONVERSIN DE DATOS
1. DE NMEROS A STRING S = num2str ( N ) N : Matriz de nmeros S : Representacin de N como caracteres EJEMPLO 5. DAT = rand(1,100); DESV = std(DAT); DESV = num2str(DESV); plot(DAT); title(['DESVIACION = ',DESV])
P.G.F. 2011
7
EJEMPLO 6.
P.G.F. 2011
OPERADORES RELACIONALES Y LGICOS a<b a<=b a>b a>=b a==b a~=b a&b a|b ~a a menor que b a menor o igual que b a mayor que b a mayor o igual que b a igual a b a diferente de b ayb aob negacin de a
P.G.F. 2011
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 Simulacin de una seal de intensidad recibida por fibra ptica, que se guarda en el archivo mensaje,
P.G.F. 2011
11
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)
P.G.F. 2011
12
3. WHILE....END
a = valor; switch a case valor 1 orden 1 case valor 2 orden 2 ... otherwise orden 3 end
P.G.F. 2011
13
EJEMPLO 8
P.G.F. 2011
14
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
5. BREAK
POS= 6
15