Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ESPE
Laboratorio de Matemáticas
NRC 2219
Funciones Octave
Tutor:
Fabian Marcelo Ordoñez Moreno
Autor:
David Stalin Moya Román
Luis Alejandro Rosero Arciniega
30 de noviembre de 2018
Funciones Octave
Deber 1
El objetivo del deber es programar en Matlab una serie de problemas básicos, fun-
ciones y ejecutar comandos. El deber será entregado individualmente. Usted deberá crear un
documneto LATEX, que contenga:
1. El enunciado de los ejercicios.
2. El código de Matlab
4. Explicación
1. EJERCICIOS
Programe las funciones (no scripts) que sean necesarias.
1. Crear una función variable, que tome como dato de entrada dos variables y que im-
prima en pantalla la suma, la resta, la multiplicación y la división entre las variables.
Ejecute el programa usando varaibles simples (enteros, flotantes), vectores y matrices.
NO necesita hacer validaciones, ejecute con variables ideales.
Código Octave
function [ su r e pro d i v c d e f g h]= v a r i a b l e ( x , y ) ;
%[ su r e pro d i v c d e f g h]= v a r i a b l e ( x , y )
%O p eraciones con e n t e r o s y f l o t a n t e s
su=x+y ;
r e=x−y ;
pro=x∗y ;
d i v=x/y ;
%O p eraciones con v e c t o r e s
a=[x y ]
b=[y x ]
c=a+b ;
d=a−b ;
e=a . ∗ b ;
%O p eraciones con m a t r i c e s
U=[x y ; y x ]
V=[y x ; x y ]
f=U+V;
g=U−V;
h=U. ∗V;
endfunction
2. Manipulación de matrices:
Cuarta fila
p =
-1 -9 -1 1 -3 -0
Segunda_columna
b =
7
1
0
1
-2
-0
Matriz_4x4
d =
5 8 6 -2
0 -2 0 7
-9 -0 -1 1
-0 0 -5 5
generada se le extrae 4 columnas y 4 filas para generar una nueva matriz de orden
4x4.
Dada una matriz de orden nxn cualquiera, use los siguientes comandos: sum, prod.
Escriba al menos 2 ejemplos de uso.
Código Octave
%M a t r i z nxn .
function [M,N] = E j e r c i c i o 5 (X)
%X = f i x (5∗ randn ( 4 , 4 ) ) ; [M,N] = E j e r c i c i o 5 (X)
X = f i x (5∗ randn ( 4 , 4 ) )
disp ( ’ Ejemplo 1 ’ )
disp ( ’Suma de l o s e l e m e n t o s de l a s columnas ’ )
M=sum(X)
disp ( ’ Ejemplo 2 ’ )
disp ( ’Suma de l o s e l e m e n t o s de l a u l t i m a f i l a ’ )
M=sum(X( 4 , : ) )
Ejemplo_1
Suma de los elementos de las columnas
M =
14 -5 -2 -4
Ejemplo_2
Suma de los elementos de la ultima fila
M = 6
Producto de los elementos de la primera fila
N = 30
disp ( ’ Varianza ’ )
var = var (A)
disp ( ’ D e s v i a c i o n E s t a n d a r ’ )
des = std (A)
endfunction
Ejecución del Programa
A = fix(5*randn(4,4));[med,var,des]= Ejercicio6(E)
A =
6 6 -0 -1
0 0 -6 0
-2 2 4 -12
3 -3 -1 1
Media
med =
1.75000 1.25000 -0.75000 -3.00000
Varianza
var =
12.250 14.250 16.917 36.667
Desviacion_Estandar
des =
3.5000 3.7749 4.1130 6.0553
diag().- Devuelve una matriz diagonal cuadrada con los elementos de vector ~v
como su diagonal principal.
>> v=[2 2 3 4 5]
v =
2 2 3 4 5
>> diag(v)
ans =
Diagonal Matrix
2 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
floor(). Redondea los decimales al menor entero, el cual es el más cercano. Su dato
de entrada es un entero.
>> floor(2.54989894567)
ans = 2
ceil().- Redondea los decimales al mayor entero más cercano. Su dato de entrada
es un número.
>> ceil(2.549876545678)
ans = 3
1.0000 1.0020 1.0040 1.0061 1.0081 1.0101 1.0121 1.0141 1.0162 1.0182 1.0202 1.0222 1.0242 1.0263
1.0283 1.0303 1.0323 1.0343
1.0364 1.0384 1.0404 1.0424 1.0444 1.0465 1.0485 1.0505 1.0525 1.0545 1.0566 1.0586 1.0606 1.0626
1.0646 1.0667 1.0687 1.0707
1.0727 1.0747 1.0768 1.0788 1.0808 1.0828 1.0848 1.0869 1.0889 1.0909 1.0929 1.0949 1.0970 1.0990
1.1010 1.1030 1.1051 1.1071
1.1091 1.1111 1.1131 1.1152 1.1172 1.1192 1.1212 1.1232 1.1253 1.1273 1.1293 1.1313 1.1333 1.1354
1.1374 1.1394 1.1414 1.1434
1.1455 1.1475 1.1495 1.1515 1.1535 1.1556 1.1576 1.1596 1.1616 1.1636 1.1657 1.1677 1.1697 1.1717
1.1737 1.1758 1.1778 1.1798
1.1818 1.1838 1.1859 1.1879 1.1899 1.1919 1.1939 1.1960 1.1980 1.2000
magic().- Devuelve una matriz cuadrada nxn construida con números enteros
donde la suma de sus filas es igual a la suma de sus columnas y es iguala a la
suma de sus diagonales. Su dato de entrada es n.
>> magic(9)
ans =
47 58 69 80 1 12 23 34 45
57 68 79 9 11 22 33 44 46
67 78 8 10 21 32 43 54 56
77 7 18 20 31 42 53 55 66
6 17 19 30 41 52 63 65 76
16 27 29 40 51 62 64 75 5
26 28 39 50 61 72 74 4 15
36 38 49 60 71 73 3 14 25
37 48 59 70 81 2 13 24 35
8 1 6
3 5 7
4 9 2
>> inv(A)
ans =
sin(), asin(), sinh(), cos(), acos(), cosh().- Devuelven el cálculo de cada una de
las Funciones trigonometricas según su representacion. Su dato de entrada es θ
en radianes.
>> O=0.32
O = 0.32000
>> B=[sin(O) asin(O) sinh(O) cos(O) acos(O) cosh(O)]
B =
Pruebe los comandos y pegue en su documento la corrida tal como se explicó anterior-
mente.
x=[a ( 1 , 1 : 2 ) ; a ( 2 , 1 : 2 ) ; a ( 3 , 1 : 2 ) ] ;
y=[a ( 1 , 3 ) ; a ( 2 , 3 ) ; a ( 3 , 3 ) ] ;
R e s u l t a d o =[x z ’ y ]
endfunction
z =
1 5 7
4 8 7 6
Explicación El programa genera una matriz nxn de números enteros y un vector igual
de números enteros, se agrera el vector columna en la posicion n-1 a la matriz para
formar una nueva matriz resultante.
5. Dada una matriz NxN agregar una fila al principio y al final de la matriz.
Código Octave
function [X Y Z]= a d i c i o n a r (X)
%[X Y Z]= a d i c i o n a r (X)
disp ( ’ F i l a a a g r e g a r ’ )
Z=[1 2 3 4 ]
X=magic ( 4 )
disp ( ’ Agregar f i l a a l i n i c i o ’ )
Y=[Z ;X]
disp ( ’ Agregar f i l a a l f i n a l ’ )
Z=[X; Z ]
endfunction
>> [X Y Z]=adicionar(X)
Fila a agregar
Z =
1 2 3 4
X =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
1 2 3 4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
1 2 3 4
Explicación Se crea una matriz fila de 1x4 y una matriz 4x4 a continuación se coloca
en la posición deseada la matriz fila con respecto a la matriz cuadrada sea al inicio o
al final.
b =
9 7 5 4
c =
8 8 6 9
d =
3 0 0 2
e = 9
f = 4
a) Definir el vector.
>> X=[1 4 2 2 3 6 8 12]
b) Si se quiere ordenar los elementos del vector en forma ascendente se usa el comando
sort()
>> Y=sort(X)
Y =
1 2 2 3 4 6 8 12
c) Si se quiere ordenar los elementos del vector en forma descendente se usa el co-
mando sort( ,’descend’)
>> Y=sort(X,’descend’)
Y =
12 8 6 4 3 2 2 1
X = fix(5*randn(5,6));[a,b] = Ordenacolumna(X)
X =
-1 -0 -7 -4 -1 1
-4 -0 -7 -0 -13 6
2 -10 11 3 2 -1
-0 -1 1 8 -1 -2
3 -2 -3 -5 -4 2
Ordenar_primera_columna
Resultado =
-4 -0 -7 -4 -1 1
-1 -0 -7 -0 -13 6
-0 -10 11 3 2 -1
2 -1 1 8 -1 -2
3 -2 -3 -5 -4 2
B=magic(4); [m n]=Ordenarfila(B)
B =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
Resultado =
16 2 3 13
5 11 10 8
9 7 6 12
15 14 4 1
R e s u l t a d o =[ q1 c ; c1 q2 c2 ; c3 q3 c4 ; c5 q4 ]
endfunction
Y = fix(5*randn(4,4));[d,e] = Ordenardiagonal(Y)
Y =
4 -9 -14 4
-9 10 10 2
-0 -6 3 -1
5 -10 3 -5
Resultado =
-5 -9 -14 4
-9 3 10 2
-0 -6 4 -1
5 -10 3 10