Вы находитесь на странице: 1из 11

Deber de Matlab

Karina Meja
June 26, 2015

Contents
Abstract
Realizare los ejercicios enviados como deber, para reforzar y aumentar los conocimientos obtenidos en el laboratorio de matematicas.

Ejercicio 1
Programa Matlab
function deber (A)
t=s i z e (A ) ;
i f t (2)==3
v=[sum(A( : , 1 ) ) / t ( 1 ) sum(A( : , 2 ) ) / t ( 1 ) sum(A( : , 3 ) ) / t ( 1 ) ]
s =[A( : , 1 ) 0 . 2 A( : , 2 ) 0 . 3 A( : , 3 ) 0 . 5 ]
n =[( s ( : , 1 ) ) + ( s ( : , 2 ) ) + ( s ( : , 3 ) ) ]
else
f p r i n t f ( t i e n e mas de t r e s columnas i n g r e s a d a s )
end
Explicaci
on
Para saber de cuantas filas y columnas consta la matriz utilizamos
variable = size(matriz).
IF significa SI (condicional) en espa
nol. Su funcionamiento es simple.
Se eval
ua una condicion, si es verdadera ejecuta un codigo, si es falsa,
ejecuta otro codigo (o contin
ua con la ejecucion del programa).

Estructura IF en pseudocdigo:
if (condicion)
ejecuta esto si la condicion es verdadera
else
ejecuta esto si la condicion es falsa.
Para la realizacion del promedio de cada columna utilizaremos sum(A(:
, 1))/t(1) lo cual este codigo realiza la suma de la columna 1 de la matriz
y la divide para el numero de filas.
Para el segundo vector utlizaremos A(:, 1) 0.2 lo cual nos dice que la
columna 1 de la matriz se multiplicara por el porcentaje que se necesita.
Para concluir el segundo vector (s(:, 1)) realizaremos la suma de la cada
posicion de las columnas
2

Para validar ocupamos f printf (0 tienemasdetrescolumnasingresadas0 )


lo cual nos muestra este mensaje si no cumple con la condicion.
Ejecuci
on
primera parte
>> A
A =
0.5383
0.9961
0.0782
0.4427
0.1067

0.9619
0.0046
0.7749
0.8173
0.8687

0.0844
0.3998
0.2599
0.8001
0.4314

0.4324

0.6855

0.3951

0.1077
0.1992
0.0156
0.0885
0.0213

0.2886
0.0014
0.2325
0.2452
0.2606

0.0422
0.1999
0.1299
0.4000
0.2157

>> deber (A)


v =

s =

n =
0.4385
0.4005
0.3780
0.7338
0.4976

segunda parte
>> A= rand ( 5 )
A =
0.9106
0.1818
0.2638
0.1455
0.1361

0.8693
0.5797
0.5499
0.1450
0.8530

0.6221
0.3510
0.5132
0.4018
0.0760

0.2399
0.1233
0.1839
0.2400
0.4173

0.0497
0.9027
0.9448
0.4909
0.4893

>> deber (A)


t i e n e mas de t r e s columnas i n g r e s a d a s >>

Ejercicio 2

Programa Matlab
function d e b e r 1 (A, f , c )
t=s i z e (A ) ;
i f t (1)== t ( 2 )
Q=A( 1 : f , 1 : c )
else
f p r i n t f ( no e s una m a t r i z cuadrada )
end
Explicaci
on
Para saber de cuantas filas y columnas consta la matriz utilizamos
variable = size(matriz).
IF significa SI (condicional) en espa
nol. Su funcionamiento es simple.
Se eval
ua una condicion, si es verdadera ejecuta un codigo, si es falsa,
ejecuta otro codigo (o contin
ua con la ejecucion del programa).

Colocamos if t(1) == t(2) esto significa que si las filas son iguales a las
columnas realizar el siguiente procedimiento.
Para extraer una submatriz Q = A(1 : f, 1 : c) decimos que nos muestre
de la posicion 1 hasta la variable f (fila) y de una hasta la variable c
(columna).
Para validar ocupamos f printf (0 noesunamatrizcuadrada0 ) lo cual nos
muestra este mensaje si no cumple con la condicion.
Ejecuci
on
primera parte
>> A=rand ( 4 )
A =
0.8212
0.0154
0.0430
0.1690

0.6491
0.7317
0.6477
0.4509

0.5470
0.2963
0.7447
0.1890

>> d e b e r 1 (A, 2 , 2 )
Q =
0.8212
0.0154

0.6491
0.7317

segunda parte
>> A=rand ( 4 , 3 )
A =
0.3507
0.9390
0.8759
0.5502

0.6225
0.5870
0.2077
0.3012

0.4709
0.2305
0.8443
0.1948

>> d e b e r 1 (A, 2 , 2 )
no e s una m a t r i z cuadrada>>
5

0.6868
0.1835
0.3685
0.6256

Ejercicio 3

Programa Matlab
function d e b e r 2 (A)
t=s i z e (A ) ;
i f t (1)== t ( 2 )
b=diag (A ) ;
r=sum( b )
end
i f t (1) > t ( 2 )
e=zeros ( t ( 1 ) , 1 ) ;
Q=[A, e ]
end
i f t (2) > t ( 1 )
A( : , t ( 2 ) ) = [ ]
end
Explicaci
on
Para saber de cuantas filas y columnas consta la matriz utilizamos
variable = size(matriz).
IF significa SI (condicional) en espa
nol. Su funcionamiento es simple.
Se eval
ua una condicion, si es verdadera ejecuta un codigo, si es falsa,
ejecuta otro codigo (o contin
ua con la ejecucion del programa).
Colocamos if t(1) == t(2) esto significa que si las filas son iguales a las
columnas realizar el siguiente procedimiento.
Para sacar la diagonal de la matriz utilizamos b = diag(A) despues
procedemos a sumar los n
umeros de la diagonal con r = sum(b).
Colocamos if t(1) > t(2) esto significa que si las filas son mayores a las
columnas realizar el siguiente procedimiento.
Procedemos ha realizar un columna de ceros e = zeros(t(1), 1) con la
que utilizamos el comando Zeros para realizarla y le decimos que debe
se su dimension el numero de filas de la matriz y 1 como columna,
despues aumentaremos la columna de ceros a la matriz con Q = [A, e].
6

Colocamos if t(2) > t(1) esto significa que si las filas son menores a las
columnas realizar el siguiente procedimiento.
Procedemos eliminar la ultima columna de la matriz con A(:, t(2)) = []
en el cual estamos diciendo que la columna es igual a vacio.
Ejecuci
on
primera parte
>> A=rand ( 3 )
A =
0.2259
0.1707
0.2277

0.4357
0.3111
0.9234

0.4302
0.1848
0.9049

>> d e b e r 2 (A)
r =
1.4419
segunda parte
>> A=rand ( 4 , 2 )
A =
0.9797
0.4389
0.1111
0.2581

0.4087
0.5949
0.2622
0.6028

>> d e b e r 2 (A)
Q =
0.9797
0.4389
0.1111
0.2581

0.4087
0.5949
0.2622
0.6028

0
0
0
0

tercera parte
>> A=rand ( 2 , 4 )
A =
0.7112
0.2217

0.1174
0.2967

0.3188
0.4242

0.1174
0.2967

0.3188
0.4242

>> d e b e r 2 (A)
A =
0.7112
0.2217

Ejercicio 4

Programa Matlab
function d e b e r 3 (A,V)
r=s i z e (A ) ;
t=s i z e (V ) ;
u=t ( 2 ) ;
i f r (1)== r ( 2 )
i=A ( : , 1 ) ;
h=i 1;
A( : , 1 ) = h
j=diag (A ) ;
w=j ;
H=[A;w]
e l s e i f u==r ( 1 )
A( : , r ( 2 ) ) = [ ] ;
A( : , r (2) 1)=[]
n=V ;
G=[n ,A]
end

0.5079
0.0855

Explicaci
on
Para saber de cuantas filas y columnas consta la matriz utilizamos
variable = size(matriz) el mismo procedimiento realizamos para el
vector.
Colocamos if r(1) == r(2) esto significa que si las filas son iguales a
las columnas realizar el siguiente procedimiento.
Elegimos una columna i cualquiera i = A(:, 3) y luego re restamos uno
h = i 1 despues decimos que la columna 3 sera igual a i-1 A(:, 3) = h.
Para sacar la diagonal de la matriz utilizamos bj = diag(A) despues
procedemos a realizar su transpuesta w = j 0 ,H = [A; w] para paso
siguiente colocarla como una fila adicional de la matriz.
Para validar ocupamos f printf (0 noesunamatrizcuadrada0 ) lo cual nos
muestra este mensaje si no cumple con la condicion.
El u == r(1) si el n
umero de elementos del vector sea igual que el
n
umero de filas de la matriz realizar.
Procedemos eliminar la ultima columna de la matriz con A(:, r(2)) = []
en el cual estamos diciendo que la columna es igual a vacio lo mismo
realizamos para eliminar la pen
ultima columna.
Finalmente transponemos el vector n = V 0 y lo aumentamos como la
primera columna de la matriz G = [n, A].
Ejecuci
on
primera parte
>> A=rand ( 4 )
A =
0.4218
0.9157
0.7922
0.9595

0.6557
0.0357
0.8491
0.9340

0.6787
0.7577
0.7431
0.3922

0.6555
0.1712
0.7060
0.0318

>> V=[1 2 3 ]
V =
1

>> d e b e r 3 (A,V)
A =
0.5782
0.0843
0.2078
0.0405

0.6557
0.0357
0.8491
0.9340

0.6787
0.7577
0.7431
0.3922

0.6555
0.1712
0.7060
0.0318

0.5782
0.0843
0.2078
0.0405
0.5782

0.6557
0.0357
0.8491
0.9340
0.0357

0.6787
0.7577
0.7431
0.3922
0.7431

0.6555
0.1712
0.7060
0.0318
0.0318

0.5005
0.4711
0.0596

0.6820
0.0424
0.0714

0.5216
0.0967
0.8181

H =

segunda parte
>> A=rand ( 3 , 4 )
A =
0.1679
0.9787
0.7127
>> V=[1 2 3 ]
V =
1

10

>> d e b e r 3 (A,V)
A =
0.1679
0.9787
0.7127

0.5005
0.4711
0.0596

1.0000
2.0000
3.0000

0.1679
0.9787
0.7127

G =
0.5005
0.4711
0.0596

11

Вам также может понравиться