GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
-
Upload
jose-orbegoso -
Category
Documents
-
view
214 -
download
0
Transcript of GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
1/10
1
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
GUÍA N° 3
1. DECLARACIÓN DE VARIABLESMATLAB es un lenguaje científico que no necesita, a diferencia de muchos otroslenguajes de programación, declarar las variables antes de usarlas. o e!isten tampocotipos de variables como en "## $int, float, etc%tera&.
La unica condicion es que se respete este sinta!is' Nombre_variable = Valor_variable
(or ejemplo'Tiempo = 5
)ariables * "onstantes especiales de MATLAB. ombre +ignificado
ps
pii * jinf
adateflopsnarginnargout
(recision de la m-quina
π
unidad imaginariainfinitono es num%rofechacontador de operaciones de punto flotanten mero de argumentos de entrada de una funciónn mero de argumentos de salida de una función
2 OPERADORES
2.1 ARITMÉTICOS
stos son esencialmente los siguientes'Operac !"
ADICIÓN
SUSTRACCION
MULTIPLICACION
DIVISION
POTENCIACION
RAI#
Opera$%rMATLAB
& ' ( ) * +,r- /
2.2 LÓGICOSstos son principalmente de tipo relacional'
Operac !"
0 ≥ ≤ ≠ AND OR
/perador MATLAB
0 0 0 4 5
2.3 CONDICIONALES
I6'ELSE
MATLAB cuenta con esta instrucción condicional. l sinta!is es el siguienteif (statement), instruction1else instruction2end
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
2/10
2
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
por ejemplo'a=input(‘dame un numero: )!b=mod(a,2)!if (b=="),disp(‘tu numero es par )!else disp(‘tu numero es impar )!end
S7ITC8'END
sta instruccion es para condiciones m ltiples rempla1a al if2else2end. La sinta!is es'#$itc% condicioncase ainstruction1case binstruction2&&end
por ejemplo''e emplo con opciones num ricasclcclear all disp(*determine la rai+ de 5 -2.125:*)disp(*si las raices son /15 0 .15 teclee 1*)disp(*si las raices son / &5 0 . &5 teclee 2*)disp(*si las raices son /5 0 .5 teclee *)a=input(*teclee su respuesta:*)!
s$itc% acase 1disp(*respuesta incorrecta*)!case 2disp(*respuesta incorrecta*)!case disp(*respuesta correcta*)!end
otro ejemplo'e emplo s$itc% con opciones alfabeticasclcclear all disp(*determine la rai+ de 5 -2.125:*)disp(*si las raices son /15 0 .15 teclee a*)disp(*si las raices son / &5 0 . &5 teclee b*)disp(*si las raices son /5 0 .5 teclee c*)r=input('teclee su respuesta:','s');
s$itc% r case 'a'
disp(*respuesta incorrecta*)!case *b* disp(*respuesta incorrecta*)!case *c* disp(*respuesta correcta*)!
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
3/10
3
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
end 2.9 SECUENCIALES
6OR'END
sta instrucción sirve para repetir n veces una instrucción con incrementos de 3 en 3. Lasinta!is es'
for condition=m:ninstructionsend
jemplo' for a= :2"c= 23a/2end
78ILE'END
4ace lo mismo que for2end, sólo que en este caso el bucle se repite mientras lacondición sea verdadera. La sinta!is es'
$%ile conditioninstructionsend
jemplo
c=1"""$%ile c42c = c 2end
BREA:
sta sentencia permite 5salir5 de un la1o 56hile5 o 5for5.
CONTINUE
s similar a 5brea75 pero pasa a la siguiente iteración del la1o.
CONTINUACIÓN DE LÍNEASl operador de continuación de líneas es 8...9. /ctave soporta la continuación de líneas
de Matlab * tambi%n la forma m-s usual en la ma*oría de los lenguajes de script de:ni! $8;9&
< ! = varable>demasiado>larga # ...
otra>variable>demasiado>larga # ...
2.; ARREGLOS MATRICIALES
l manejo de matrices con MATLAB es mucho m-s f-cil que con los lenguajes cl-sicosde programación.
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
4/10
4
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
Los %pera$%re+ ar -
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
5/10
5
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
00 ma!$)&ans =
jemplo J'
00 M=G3 I JF I 2 2 23F2K N I 3NH
M = 3 I J I 2 2 23 2K N I 3N
00 ma!$M&ans =
I I 3NMIN' efect a la operación reciproca a MAO. n este caso se obtienen los valoresmínimos.
jemplo 3'
00 ) = G3 I 2K 2 H
) = 3 I 2K 2
00 ) = G3 I 2K 2 H) = 3 I 2K 2
00 min$)&ans = 2
jemplo J'
00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N
00 min$M&ans = 2K 2 2 23
MEDIAN' para vectores, calcula la mediana de sus elementosF para una matri1, segenera un vector fila cu*os componentes son el promedio en cada columna de la matri1.
jemplo 3'
00 ) = G3 I 2K 2 H
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
6/10
6
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
) = 3 I 2K 2
00 median$)&ans =3
jemplo J'
00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N
00 median$M&ans = 3 N I J
MEAN' para vectores, calcula el promedio de sus elementosF para una matri1, se generaun vector fila cu*os componentes son el promedio en cada columna de la matri1.
jemplo 3'
00 ) = G3 I 2K 2 H) =
3 I 2K 2
00 mean$)&ans =N
jemplo J'
00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N
00 mean$M&ans = N N N I. P STD' para un vector, calcula la desviación est-ndar de sus componentes. +i se trata deuna matri1, estafunción genera un vector fila que conteniendo la desviación est-ndar de cada una de suscolumnas.
jemplo 3'
00 ) = G3 I 2K 2 H) =
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
7/10
7
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
3 I 2K 2
00 std$)&ans = K.I QR
jemplo J'
00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N
00 std$M&
ans = I. N .NNNN .3R J . Q J
EIG@?etermina los valores propios de una matri1 cuadrada, M
00 M=G3 I F I 2 2 FP 2R H
M = 3 I
I 2 2 P 2R
00 eig$M&ans = 233. INP I.3KNN R.IRNP
COND' determina el índice de inversibilidad de una matri1 en función de la norma J.cuanto m-s grande es el valor de "/ ?, la inversibilidad de la matri1 M es menosreali1able. +i "/ ? es del orden de 3N 3I ó superior, la matri1 M tendr- serios
problemas de inversibilidad.
00 M=G3 I F I 2 2 FP 2R HM = 3 I I 2 2 P 2R
00 cond$M&ans = K.KQNR
2. GRA6ICACIÓN
Los principales comandos son'
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
8/10
8
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
PLOT' permite la graficación de una función en J? * genera una ventana llamada fi
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
9/10
9
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
2. CREACION DE 6UNCIONES EN MATLAB
3.1 EDICIÓN DE 6UNCIONES DE BIBLIOTECA DE MATLAB
"uando se desea conocer las funciones implementadas en MATLAB, se puede consultar 4 L( del men
principal o bien e!plorar desde el command Vindo6.
44%elp 7?nter
obteniendo' @?AB topics:
n el ap%ndice se presentar- una lista m-s detallada de los rubros cubiertos por MATLAB. +i por ejemplo, si se quiere conocer m-s detalles sobre matlabCelfun seejecuta'
44 %elp elfun
* se obtiene una nueva lista de funciones incluidas en este rubro. $ver ap%ndice parama*or detalle& entre las cuales destacan las funciones trigonom%tricas, trigonom%tricasinversas, e!ponenciales, logarítmicas * de variable compleja.
(ara saber la sinta!is * m-s información sobre una función propia de MATLAB funcionDeEatlab&m , se
Teclea 00 %elp funciondeEatlab G nterH
3.2 CREACIÓN DE BIBLIOTECAS DE 6UNCIONES
MATLAB permite la creación de funciones de usuario. (ara construir una función seutili1a el comandofunction.+inta!is' function 7as 1 ,as 2 ,F,as n = nombrefuncion(ae 1 ,ae 2 ,F,ae m ),?onde' as, argumento de salida,
ae, argumento de entrada.
:na función MATLAB es un archivo M individual el cual ser- nombradonombrefuncion&m. (ara llamar una función desde un programa de usuario de MATLAB,se inserta la línea
7as1 ,as 2 ,F,as n = nombrefuncion(ae 1 ,ae 2 ,F,ae m )&
ejemplo'
function 7Berimetro,6rea = Beri6reaTrian
-
8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS
10/10
10
GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.
===============================================================
Las funciones primero pasan valores de entrada * de salida, los cuales dentro de lafunción toman nombres distintos. las dem-s variables e!ternas quedan aisladas de lasinternas. Las funciones MATLAB utili1an el paso por valor, es decir, que hacen unacopia del valor de las variables para efectuar los c-lculos. Scr p-+"uando un cierto grupo de sentencias es mu* usado puede incluirse en un archivo cone!tensión file&m* ser llamado desde Matlab por su nombre'
44 file G nterH
Los scripts son simplemente listas de sentencias, al ser llamado es como si la lista desentencias fuera incluido en el prompt de Matlab.