Sie sind auf Seite 1von 17

04. Archivos m.

Lic. Amado Malca Villalobos

Archivos m. Un fichero script es un conjunto de sentencias u rdenes que se ejecutan en forma secuencial, es decir es un programa. En algunos casos le llamaremos funcin. Para que estos programas sean coherentes y los pueda leer el programa Matlab, deben seguir un orden lgico. Estos ficheros tienen extensin m. y se pueden editar y/o ejecutar las veces que sea necesario. En algunos casos es necesario que el programador ingrese algunos datos para que el programa funcione. Estos debern ser ingresados por teclado posiblemente, y en algn formato adecuado. Para esto hay comandos adecuados. Notas sobre los ficheros script - Un fichero script es una secuencia de comandos de MatLab, tambin denominado programa. - Cuando se ejecuta un fichero script, MatLab ejecuta los comandos en el orden en que stos han sido escritos, igual que si se ejecutaran uno a uno en la ventana de comandos. - Cuando un fichero script contiene un comando que produce una salida o resultado (ejemplo una asignacin de variable sin un punto y coma al final), la salida se visualiza en la ventana de comandos. - La utilizacin de ficheros script es conveniente, ya que estos pueden ser editados (es decir se pueden corregir o modificar), y se pueden ejecutar tantas veces como se quiera. - Los ficheros script se pueden crear y editar en cualquier editor de texto. Asimismo el texto se puede copiar y pegar desde estos editores a MatLab para ser ejecutado. Los ficheros script tambin de denominan ficheros M, ya que la extensin .m es la que utiliza y reconoce MatLab cuando se guardan estos archivos. - Un fichero script se puede ejecutar, bien tecleando su nombre en la Ventana de Comandos (y pulsando la tecla enter) o bien desde la ventana del editor a travs del icono Run (ejecutar). - Estos programas siempre deben estar en el directorio actual de MatLab, para poder ejecutarse.

- Con el comando cd, se muestra el directorio de trabajo actual. >> cd C:\Users\Malca\Documents\MATLAB

04. Archivos m.

Lic. Amado Malca Villalobos

En donde vamos a escribir una funcin: y = f (x)= x3 + 5x2 - 8x + 4 . fun.m Ejecucucion function y=fun(x) >> help fun programa que calcula el valor de % programa que calcula el valor una funcin dado el valor de x. de >> fun(8) % una funcin dado el valor de x. ans = 644 >> x=1:2:17 y=x.^3+3*x.^2-8*x+4; x = 1 3 5 7 9 11 13 15 17 >> w=fun(x) w = 0 34 164 438 904 1610 2604 3934 5648

04. Archivos m.

Lic. Amado Malca Villalobos

VARIABLES GLOBALES Recuerde que las variables escritas en un archivo script (programa), se ejecutan como si estuvieran en la ventana de comandos, salvo las que estn en un ficheros tipo fuction. Cuando se ejecuta un fichero script, las variables utilizadas en los clculos dentro del fichero deben tener valores asignados previamente en el mismo script. Esta asignacin se puede hacer de tres formas: - Variable definida y asignada en el fichero script. - Variable definida y asignada en la ventana de comandos. - Variable definida y asignada en el fichero script, pero luego se cambia e la ventana de comandos Variable definida y asignada en el fichero script. La asignacin de la variable forma parte del fichero, Si se quiere cambiar el valor simplemente se edita el fichero y se guarda los cambios. pjugada.m Ejecucin % este programa calcula el >> help pjugada promedio este programa calcula el % de un conjunto de jugadas promedio j1=80; de un conjunto de jugadas j2=85; >> pjugada j3=75; Puntuacion_Media = 60 j4=90; Puntuacion_Media=(j1+j2+j3)/4 Variable definida y asignada en la ventana de comandos. En este caso el o los valores de la variable se indican en la ventana de comandos, y luego se ejecuta el programa. Aqu los valores de las variables solo se cambian en la ventana de comandos.

04. Archivos m.

Lic. Amado Malca Villalobos

pjugada2.m % este programa calcula el promedio % de un conjunto de tres jugadas % las cuales se ingresan en la ventana de comandos % con las variables j1, j2 y j3

Ejecucin >> help pjugada2 este programa calcula el promedio de un conjunto de tres jugadas las cuales se ingresan en la ventana de comandos con las variables j1, j2 y j3 >> clear Puntuacion_Media=(j1+j2+j3)/4 >> pjugada2 ??? Undefined function or variable 'j1'. Error in ==> pjugada2 at 6 Puntuacion_Media=(j1+j2+j3)/4 >> j1=5,j2=12,j3=15 j1 = 5 j2 = 12 j3 = 15 >> pjugada2 Puntuacion_Media = 8 Variable definida y asignada en el fichero script, pero luego se cambia en la ventana de comandos En esta opcin la variable se define en el fichero script, y cuando se ejecuta tal archivo al usuario se le pide un valor concreto a travs de la ventana de comandos, y a estas variables se les asigna el valor correspondiente. Esto se hace con el comando input. Cuya sintaxis es: nombre _ var iable = input ('mensaje que se muestra en la ventana de comandos ') Al ejecutar este comando se muestra en la ventana de comandos el mensaje indicado, luego del cual el usuario ingresara el valor de la variable en forma adecuada. Pjugada3.m Ejecucin % este programa calcula el >> pjugada3 promedio Ingrese la primera puntuacion:89 % de un conjunto de tres Ingrese la segunda puntuacion:87 jugadas Ingrese la terecra puntuacion:95 % las cuales se ingresan en Puntuacion_Media = 67.7500 la ventana de comandos % usando el comando input j1=input('Ingrese la primera puntuacion:') j2=input('Ingrese la segunda puntuacion:') j3=input('Ingrese la terecra puntuacion:') Puntuacion_Media=(j1+j2+j3)/4 COMANDO DE ENTRADA DE DATOS:

04. Archivos m.

Lic. Amado Malca Villalobos

Un dato cualquiera o una matriz puede ingresarse mediante el teclado a pedido de algn programa, los llamados archivos ****.m, mediante el comando: input Hay dos tipos de objetos que ingresan por teclado, numricos(Matriz) o como una cadena de letras y/o smbolos (String). Los formatos son: x=input('comentario: ') x=input('comentario: \n') o tambien: x=input('ingrese su nombre: ','s') x=input('ingrese su nombre: \n ','s') en el primer caso aparecer el comentario en la pantalla, y la matriz ingresada se asignara a la variable x. En el segundo la diferencia est en que el cursor para ingresar la informacin pasa a la siguiente lnea. En el tercer caso aparecer el comentario en la pantalla, y se asignara a la variable x. La diferencia est en que en el tercer caso la variable no solo puede ser una matriz sino tambin una cadena de caracteres cualesquiera. Ahora veamos algunos ejemplos: >> A=input('ingrese su edad: '); ingrese su edad: 46 A = 46 >> A=input('ingrese su edad: '); ingrese su edad: 25 >> A=input('haga su pregunta: ','s'); haga su pregunta: que es la matemtica A = que es la matemtica >> A=input('ingrese su edad:\n'); ingrese su edad: 45 >> A=input('Estado civil:\n','s'); Estado civil: soltero COMANDOS DE SALIDA La salida en pantalla de los resultados de un programa se hace de diferentes maneras. Algunos se realizan por defecto como el resultado de alguna operacin. Otra opcin es con los comandos: fprintf disp El formato de disp es: disp(comentario) disp(variable) en el primer caso la salida es algn comentario, en el segundo se imprime en pantalla una variable.

Ahora vamos a escribir un programa en un script Ejemplo 4.1: En este programa hallaremos el promedio de los primeros 20 enteros positivos mltiplos de 5. Solucin: 5

04. Archivos m.

Lic. Amado Malca Villalobos

ejemplo01.m % en el ejemplo se crea un vector % con los 20 primeros multiplos de 5 % y luego se halla promedio de ellos z=[5:5:100]; disp(z) disp('') disp('el valor promedio es') prom=sum(z)/norm(z); disp(prom) Ejecucin en MatLab: >> ejemplo01 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 el valor promedio es: 3.9199 Ejemplo 4.2: Mostrar una tabla con con los n primeros enteros positivos, sus cuadrados y sus cubos. Solucin: Ejemplo4_2.m % Este programa crea una tabla de los primeros n nuemros enteros positivos % sus cuadrados y sus cubos n=[1:5]'; cuadrado=n.^2; cubo=n.^3; disp(' n n^2 n^3') tabla=[n,cuadrado,cubo]; disp(tabla) Ejecucin en MatLab: >> ejemplo4_2 n n^2 n^3 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 El comando fprintf Este comando visualiza salidas de programas en la pantalla, a diferencia del disp., aqu se puede dar algn formato a la presentacin de los datos. Visualizando mensajes de texto: fprintf(Mensaje en forma de cadena) ejemplo02.m %ahora tenemos un programa que obtiene cuadrados y cubos

04. Archivos m.

Lic. Amado Malca Villalobos

n=[1:5]'; cuadrado=n.^2; cubo=n.^3; disp(' n n^2 n^3') tabla=[n,cuadrado,cubo]; disp(tabla) fprintf('ahi tenemos la relacion de cuadrado y cubos') Ahora viene la ejecucin, en la ventana de comandos de Matlab: >> prog01 n n^2 n^3 1 1 1 2 4 8 3 9 27 ahi tenemos la relacion de cuadrado y cubos >> Caracteres especiales Smbolo Descripcin \n Carcter de escape, se empieza una nueva lnea. \b Carcter de borrado \t Tabulacin horizontal Ah va un ejemplo de uso de estos caracteres especiales, escribiremos: Las matrices, son el objeto fundamental del Matlab >> fprintf('Las matrices,\n son el objeto fund\bamen\btal del Mat\t\tlab\n'); Las matrices, son el objeto funametal del Mat lab >> El comando fprintf para la visualizacin de datos y texto juntos fprintf(Texto %-5.2f texto adicional, nombre_variable) Los elementos del formato para los datos, son cuatro algunos opcionales otros obligatorios: -5.2f El primero llamado flag o bandera (opcional) Smbolo Descripcin Justificacacion izquierda dentro del campo + Visualiza el carcter del signo (+ -) delante del numero 0 Aade ceros si el numero es ms pequeo que el campo 7

04. Archivos m.

Lic. Amado Malca Villalobos

Lo segundo es el ancho del campo, que corresponde al primer nmero (5 en el ejemplo),el cual nos indica el menor nmero de dgitos de la visualizacin. (opcional) El tercero es corresponde a la precisin, lo cual indica el numero de dgitos que se mostraran a la derecha del punto decimal. (opcional) El cuarto elemento es el que corresponde al formato de conversin (f en el ejemplo). Es obligatorio, las opciones son Smbolo Descripcin e Notacin exponencial en minsculas (ej: 2.456e+002) Notacin exponencial en maysculas (ej: E 2.456E+002) Notacin de punto fijo (ej: 245.6) f g Representacin en formato corto de e o f Representacin en formato corto de E o f G i Entero Ejemplo: ej03.m % tenemos un conjunto de doce datos de lluvia en miles de litros, en forma % mensual. En la amazonia peruana %p representa el valor promedio de las lluvias D=[286 253 254 305 274 203 165 190 161 228 224 280] P=mean(D) fprintf('\nEl valor medio de las lluvias es %6.2e mensual.\n',P) fprintf('\nEl valor medio de las lluvias es %-16.2f mensual.\n',P) fprintf('\nEl valor medio de las lluvias es %08i mensual.\n',P) fprintf('\nEl valor medio de las lluvias es %6g mensual.\n',P) La ejecucin en Matlab >> ej03 D = 286 253 254 305 274 203 165 190 161 228 224 280 P = 235.2500 El valor medio de las lluvias es 2.35e+002 mensual. El valor medio de las lluvias es 235.25 mensual. El valor medio de las lluvias es 2.352500e+002 mensual. El valor medio de las lluvias es 235.25 mensual. >> Aqu va un ejemplo en el cual hay insertados varios valores numricos, dentro del texto. ej04.m % tenemos un conjunto de doce datos de lluvia en miles de litros, en forma % mensual. En la amazonia peruana %p representa el valor promedio de las lluvias D=[286 253 254 305 274 203 165 190 161 228 224 280]

04. Archivos m.

Lic. Amado Malca Villalobos

m=min(D); M=max(D); S=sum(D); P=mean(D); fprintf('\nEl valor medio de las lluvias es %6.2e mensual.\n',P) fprintf('\nEl valor mnimo es %4i , el mximo es %4i y el total de lluvias es %6i.\n',m,M,S) La ejecucin en Matlab >> ej04 D = 286 253 254 305 274 203 165 190 161 228 224 280 El valor medio de las lluvias es 2.35e+002 mensual. El valor mnimo es 161 , el mximo es 305 y el total de lluvias es 2823. >> Presentacin de arrays (Matrices) ej05.m %ahora presentaremos una matriz %donde %fila uno: nmeros naturales %fila dos: el cuadrado %fila tres: la raz cuadrada x=[1:8]; y=x.^2; z=sqrt(x); w=[x;y;z] fprintf('el numero %i su cuadrado %i su raz %f\n',w) La ejecucin en Matlab >> ej5 w= 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 1.0000 4.0000 9.0000 16.0000 25.0000 36.0000 49.0000 64.0000 1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 2.6458 2.8284 el numero 1 su cuadrado 1 su raz 1.000000 el numero 2 su cuadrado 4 su raz 1.414214 el numero 3 su cuadrado 9 su raz 1.732051 el numero 4 su cuadrado 16 su raz 2.000000 el numero 5 su cuadrado 25 su raz 2.236068 el numero 6 su cuadrado 36 su raz 2.449490 el numero 7 su cuadrado 49 su raz 2.645751 el numero 8 su cuadrado 64 su raz 2.828427 >>

04. Archivos m.

Lic. Amado Malca Villalobos

Ejemplo adicional ej06.m % archivo ejecutable de nombre: ejem06.m % uso de los comandos de entrada por teclado, y salida por pantalla. nombre=input('cual es tu nombre: ','s'); apellidos=input('tus apellidos son:\n','s'); n=input('de que orden son las matrices cuadradas A y B:\n'); A=input('ingrese la matriz A :\n') B=input('ingrese la matriz B :\n') disp('la suma A+B, la resta A-B es :') disp(A+B),disp(A-B) disp('El producto A*B, la division A/B es :') disp(A*B),disp(A/B) temp=[25.6 33.7 34.1 35.6 36.8] fprintf('la temperatura en la maana es %e grados F \n',temp) fprintf('la temperatura en la maana es %f grados F \n',temp) fprintf('la temperatura en la maana es %g grados F \n',temp) fprintf('la temperatura en la maana es \n %g grados F \n',temp) w=[1:10;sqrt(1:10)] fprintf('Un entero es %g

y su raz cuadrada es %g \n',w)

z=[1:10;sqrt(1:10);(1:10).^2;(1:10).^3] fprintf(' n=%g sqrt(n)=%g n^2=%g z=[1000555:1000560;sqrt(1000555:1000560)] fprintf('n=%2.3g sqrt(n)=%1.10g\n',z) fprintf('n=%2.6g sqrt(n)=%1.10g\n',z) fprintf('n=%2.6g sqrt(n)=%4.10g\n',z)

n^3=%g \n',z)

La ejecucin en Matlab >> malca cual es tu nombre: amado tus apellidos son: malca villalobos de que orden son las matrices cuadradas A y B: 4 ingrese la matriz A : [1 2 3 4;3 5 1 7;6 1 3 5;7 0 5 1] A= 1 2 3 4 3 5 1 7 6 1 3 5 7 0 5 1 ingrese la matriz B : [9 2 3 4;3 5 8 7;1 1 3 5;7 0 5 0] B= 9 2 3 4 3 5 8 7

10

04. Archivos m.

Lic. Amado Malca Villalobos

1 1 3 5 7 0 5 0 la suma A+B, la resta A-B es : 10 4 6 8 6 10 9 14 7 2 6 10 14 0 10 1 -8 0 0 0 0 0 -7 0 5 0 0 0 0 0 0 1 El producto A*B, la division A/B es : 46 15 48 33 92 32 87 52 95 20 60 46 75 19 41 53 0.0698 0.3101 0.3101 -0.1240 1.1395 0.6202 -0.3798 -1.2481 0.5814 -0.1938 0.8062 0.0775 0.0504 -0.0724 0.2610 0.9289 temp = 25.6000 33.7000 34.1000 35.6000 36.8000 la temperatura en la maana es 2.560000e+001 grados F la temperatura en la maana es 3.370000e+001 grados F la temperatura en la maana es 3.410000e+001 grados F la temperatura en la maana es 3.560000e+001 grados F la temperatura en la maana es 3.680000e+001 grados F la temperatura en la maana es 25.600000 grados F la temperatura en la maana es 33.700000 grados F la temperatura en la maana es 34.100000 grados F la temperatura en la maana es 35.600000 grados F la temperatura en la maana es 36.800000 grados F la temperatura en la maana es 25.6 grados F la temperatura en la maana es 33.7 grados F la temperatura en la maana es 34.1 grados F la temperatura en la maana es 35.6 grados F la temperatura en la maana es 36.8 grados F la temperatura en la maana es 25.6 grados F la temperatura en la maana es 33.7 grados F la temperatura en la maana es 34.1 grados F la temperatura en la maana es 35.6 grados F la temperatura en la maana es 36.8 grados F

11

04. Archivos m.

Lic. Amado Malca Villalobos

w= Columns 1 1.0000 2.0000 3.0000 4.0000 8.0000 9.0000 10.0000 1.0000 1.4142 1.7321 2.8284 3.0000 3.1623 Un entero es Un entero es Un entero es Un entero es Un entero es Un entero es Un entero es Un entero es Un entero es Un entero es 1 2 3 4 5 6 7 8 9 10 2.0000

through 10 5.0000 6.0000

7.0000

2.2361

2.4495

2.6458

y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es y su raz cuadrada es

1 1.41421 1.73205 2 2.23607 2.44949 2.64575 2.82843 3 3.16228

z = 1.0e+003 * 0.0010 0.0020 0.0030 0.0040 0.0050 0.0060 0.0070 0.0080 0.0090 0.0100 0.0010 0.0014 0.0017 0.0020 0.0022 0.0024 0.0026 0.0028 0.0030 0.0032 0.0010 0.0040 0.0090 0.0160 0.0250 0.0360 0.0490 0.0640 0.0810 0.1000 0.0010 0.0080 0.0270 0.0640 0.1250 0.2160 0.3430 0.5120 0.7290 1.0000 n=1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n=10 sqrt(n)=1 sqrt(n)=1.41421 sqrt(n)=1.73205 sqrt(n)=2 sqrt(n)=2.23607 sqrt(n)=2.44949 sqrt(n)=2.64575 sqrt(n)=2.82843 sqrt(n)=3 sqrt(n)=3.16228 n^2=1 n^2=4 n^2=9 n^2=16 n^2=25 n^2=36 n^2=49 n^2=64 n^2=81 n^2=100 n^3=1 n^3=8 n^3=27 n^3=64 n^3=125 n^3=216 n^3=343 n^3=512 n^3=729 n^3=1000

z = 1.0e+006 * 1.0006 1.0006 1.0006 1.0006 1.0006 1.0006 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 n=1e+006 n=1e+006 n=1e+006 n=1e+006 sqrt(n)=1000.277462 sqrt(n)=1000.277961 sqrt(n)=1000.278461 sqrt(n)=1000.278961

12

04. Archivos m.

Lic. Amado Malca Villalobos

n=1e+006 sqrt(n)=1000.279461 n=1e+006 sqrt(n)=1000.279961 n=1.00056e+006 sqrt(n)=1000.277462 n=1.00056e+006 sqrt(n)=1000.277961 n=1.00056e+006 sqrt(n)=1000.278461 n=1.00056e+006 sqrt(n)=1000.278961 n=1.00056e+006 sqrt(n)=1000.279461 n=1.00056e+006 sqrt(n)=1000.279961 n=1.00056e+006 sqrt(n)=1000.277462 n=1.00056e+006 sqrt(n)=1000.277961 n=1.00056e+006 sqrt(n)=1000.278461 n=1.00056e+006 sqrt(n)=1000.278961 n=1.00056e+006 sqrt(n)=1000.279461 n=1.00056e+006 sqrt(n)=1000.279961 >>

IMPORTACION Y EXPORTACION DE DATOS Procesando datos de fuentes externas (Importacin) Escribiendo datos en un manejador de datos (Exportacin) DE EXCEL A MATLAB (xlsread) El formato es como sigue: Nombre _variable=xlsread(nombre_fichero) Nombre _variable=xlsread(nombre_fichero,nombre_hoja) Aqu vemos una hoja de datos en formato Excel datos1.xlsx
n p 1 2 2 3 3 5 4 7 5 11 6 13 7 17 8 19 9 23

Leyendo ahora con el comando xlsread >> A=xlsread('datos1.xlsx') A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 >> Nombre _variable=xlsread(nombre_fichero,nombre_hoja) Nombre _variable=xlsread(nombre_fichero,nombre_hoja,rango) Aqu vemos una hoja de datos en formato Excel datos1.xlsx
n p 1 2 2 3 3 5 4 7 5 11 6 13 7 17 8 19 9 23

Leyendo ahora con el comando xlsread >> A=xlsread('datos1.xlsx','potencias','D5:O9') A= 13

04. Archivos m.

Lic. Amado Malca Villalobos

9 16 25 3 4 5 5 7 11 9 16 25 3 4 5 >>

36 49 64 6 7 8 9 13 17 19 36 49 64 6 7 8 9

81 10 23 81 10

100 11 29 100 11

121 144 169 65 12 13 14 31 37 41 43 121 144 169 65 12 13 14

DE MATLAB A EXCEL (xlswrite) Exportando datos de Matlab a una hoja de Excel xlswrite(nombre_fichero,nombre_variable) xlswrite(nombre_fichero,array,nombre_hoja,rango) El array a escribir en la hoja de calculo >> A A = 9 16 25 36 49 64 81 100 121 144 169 65 3 4 5 6 7 8 9 10 11 12 13 14 5 7 11 13 17 19 23 29 31 37 41 43 9 16 25 36 49 64 81 100 121 144 169 65 3 4 5 6 7 8 9 10 11 12 13 14 Ahora escribiendo en la hoja de calculo >> xlswrite('datos1.xlsx',A)
9 3 5 9 3 16 4 7 16 4 25 5 11 25 5 36 6 13 36 6 49 7 17 49 7 64 8 19 64 8 81 9 23 81 9

>> xlswrite('datos3.xlsx',A,'matriz','C1:N5')

EJEMPLOS ADICIONALES El area de un triangulo area.m function [A] = area(a,b,c) % Calcula el area de un triangulo cualquiera % se tienen las longitudes de los lados a, b y c % Ingreso: a,b,c: Longitudes de los lados % Salida: A: area del triangulo % p = (a+b+c)/2; A = sqrt(p*(p-a)*(p-b)*(p-c)); La ejecucin en Matlab >> help area Calcula el area de un triangulo cualquiera se tienen las longitudes de los lados a, b y c 14

04. Archivos m.

Lic. Amado Malca Villalobos

Ingreso: a,b,c: Longitudes de los lados Salida: A: area del triangulo >> area(5,7,12) ans = 0 >> area(3,4,5) ans = 6 >> area(3,4,50) ans = 0 +6.1872e+002i >> area(13,45,50) ans = 282.3190 >> Los trminos de la sucesin de Fibonacci Fibo1.m function f = Fib1(n) % Retorna el n-esimo numero % de la Sucesion de Fibonacci. % 1, 1, 2, 3, 5, 8, . . . % F(1)=1, F(2)=1, % F(n+2)=F(n+1)+F(n), si n entero positivo F=zeros(1,n); F(1)=1; F(2) = 1; for i = 3:n F(i) = F(i-1) + F(i-2); end f = F(n); La ejecucin en Matlab >> help Fib1 Retorna el n-esimo numero de la Sucesion de Fibonacci. 1, 1, 2, 3, 5, 8, . . . F(1)=1, F(2)=1, F(n+2)=F(n+1)+F(n), si n entero positivo >> Fib1(1) ans = 1 >> Fib1(11) ans = 89 >> Fib1(-11) ??? Attempted to access F(-11); index must be a positive integer or logical. Error in ==> Fib1 at 14 f = F(n); >> Fib1(16) ans = 987 >>

15

04. Archivos m.

Lic. Amado Malca Villalobos

Los trminos de la sucesin de Fibonacci Fibo2.m function f = Fib2(n) % Retorna el n-esimo termino % de la sucesion de Fibonacci. if n==1 f = 1; elseif n==2 f = 1; else f1 = 1; f2 = 1; for i = 2:n-1 f = f1 + f2; f1=f2; f2 = f; end end La ejecucin en Matlab >> Fib2(4) ans = 3 >> Fib2(40) ans = 102334155 >>

Los trminos de la sucesin de Fibonacci con matrices Fibo3.m function f = Fib3(n) % Retorna los terminos de la % Sucesion de Fibonacci % Usando matrices A = [0 1;1 1]; y = A^n*[0;1]; f=y(1); La ejecucin en Matlab >> Fib3(6) ans = 8 >> Fib3(16) ans = 987 >> Promedio de un arreglo de numeros promedio.m function p = promedio(x) % Calcula el promedio de los elementos de un vector x % y dibuja dicho vector, ploteando

16

04. Archivos m.

Lic. Amado Malca Villalobos

% Sintaxis : promedio(x) donde x es el vector a promediar n=length(x); p=0; for i=1:n p=p+x(i); end p=p/n; plot(x); La ejecucin en Matlab >> x=[3 4 8 2 7 10 18 45 78 3 2 9] x = 3 4 8 2 7 10 18 45 78 3 2 9 >> promedio(x) ans = 15.7500 >> La grafica de los valores de x
80 70 60 50 40 30 20 10 0

10

12

17

Das könnte Ihnen auch gefallen