Aprenda Matlab 6.1 - Universidad Politécnica de Madrid
Aprenda Matlab 6.1 - Universidad Politécnica de Madrid
Aprenda Matlab 6.1 - Universidad Politécnica de Madrid
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Aprenda</strong> <strong>Matlab</strong> <strong>6.1</strong> como si estuviera en Primero página 74<br />
'r'<br />
'w'<br />
'a'<br />
'r+'<br />
lectura (<strong>de</strong> read)<br />
escritura reemplazando (<strong>de</strong> write)<br />
escritura a continuación (<strong>de</strong> append)<br />
lectura y escritura<br />
Cuando por alguna razón el fichero no pue<strong>de</strong> ser abierto, se <strong>de</strong>vuelve un (-1). En este caso el<br />
valor <strong>de</strong> retorno texto pue<strong>de</strong> proporcionar información sobre el tipo <strong>de</strong> error que se ha producido<br />
(también existe una función llamada ferror que permite obtener información sobre los errores. En el<br />
Help <strong>de</strong>l programa se pue<strong>de</strong> ver cómo utilizar esta función).<br />
Después <strong>de</strong> realizar las operaciones <strong>de</strong> lectura y escritura <strong>de</strong>seadas, el fichero se pue<strong>de</strong> cerrar<br />
con la función close en la forma siguiente:<br />
st = fclose(fi)<br />
don<strong>de</strong> st es un valor <strong>de</strong> retorno para posibles condiciones <strong>de</strong> error. Si se quieren cerrar a la vez<br />
todos los ficheros abiertos pue<strong>de</strong> utilizarse el comando:<br />
st = close('all')<br />
6.6.2. FUNCIONES FSCANF, SSCANF, FPRINTF Y SPRINTF<br />
Estas funciones permiten leer y escribir en ficheros ASCII, es <strong>de</strong>cir, en ficheros formateados. La<br />
forma general <strong>de</strong> la función fscanf es la siguiente:<br />
[var1,var2,...] = fscanf(fi,'ca<strong>de</strong>na <strong>de</strong> control',size)<br />
don<strong>de</strong> fi es el i<strong>de</strong>ntificador <strong>de</strong>l fichero (<strong>de</strong>vuelto por la función fopen), y size es un argumento<br />
opcional que pue<strong>de</strong> indicar el tamaño <strong>de</strong>l vector o matriz a leer. Obsérvese otra diferencia con C: las<br />
variables leídas se <strong>de</strong>vuelven como valor <strong>de</strong> retorno y no como argumentos pasados por referencia<br />
(precedidos por el carácter &). La ca<strong>de</strong>na <strong>de</strong> control va encerrada entre apóstrofos simples, y<br />
contiene los especificadores <strong>de</strong> formato para las variables:<br />
%s para ca<strong>de</strong>nas <strong>de</strong> caracteres<br />
%d para variables enteras<br />
%f para variables <strong>de</strong> punto flotante<br />
%lf para variables <strong>de</strong> doble precisión<br />
La función sscanf es similar a fscanf pero la entrada <strong>de</strong> caracteres no proviene <strong>de</strong> un fichero<br />
sino <strong>de</strong> una ca<strong>de</strong>na <strong>de</strong> caracteres.<br />
Finalmente, la función fprintf dirige su salida formateada hacia el fichero indicado por el<br />
i<strong>de</strong>ntificador. Su forma general es:<br />
fprintf(fi,'ca<strong>de</strong>na <strong>de</strong> control',var1,var2,...)<br />
Esta es la función más parecida a su homóloga <strong>de</strong> C. La ca<strong>de</strong>na <strong>de</strong> control contiene los<br />
formatos <strong>de</strong> escritura, que son similares a los <strong>de</strong> C, como muestran los ejemplos siguientes:<br />
fprintf(fi,'El número <strong>de</strong> ecuaciones es: %d\n',n)<br />
fprintf(fi,'El <strong>de</strong>terminante es: %lf10.4\n',n)<br />
De forma análoga, la función sprintf convierte su resultado en una ca<strong>de</strong>na <strong>de</strong> caracteres que<br />
<strong>de</strong>vuelve como valor <strong>de</strong> retorno, en vez <strong>de</strong> enviarlo a un fichero. Véase un ejemplo:<br />
resultado = sprintf('El cuadrado <strong>de</strong> %f es %12.4f\n',n,n*n)<br />
don<strong>de</strong> resultado es una ca<strong>de</strong>na <strong>de</strong> caracteres. Esta función constituye el método más general <strong>de</strong><br />
convertir números en ca<strong>de</strong>nas <strong>de</strong> caracteres, por ejemplo para ponerlos como títulos <strong>de</strong> figuras.