1.-Sea la matriz cuadrada.
a=[1 1 0;0 2 3;3 3 1]
a=
110
023
331
a) Construye una matriz aadiendo la matriz identidad de rango 3 a la derecha de la matriz
a.
>>b=[[a],eye(3)]
b=
110100
023010
331001
b) Suma ala tercera fila, la primera fila multiplicada por -3.
>>c=a(3,:)+-3*[a(1,:)]
c=
001
c) Cambia la primera columna de A por la tercera.
>> c=[a(:,3) a(:,2) a(:,1)]
c=
011
320
133
d) Construye una nueva matriz cuyas columnas sean las columnas primera y tercera de A.
>>d=eye(size(a))
d=
100
010
001
>> d(:,[1 3])=a(:,[1 3])
d=
100
013
301
e)Construye una nueva matriz cuyas filas sean las columnas primera y tercera de A.
>>e=ones(size(a))
e=
111
111
111
>>e([1 3],:)=a([1 3,],:)
e=
110
111
331
2.- Sea la matriz cuadrada.
a =[1 4 0; 0 2 3; 3 3 -7]
140
02 3
3 3 -7
a) Halla el valor mnimo dentro de cada fila de A.
>>d=[min(a(1,:));min(a(2,:));min(a(3,:))]
d=
-7
b) Ordena los elementos de A en orden descendente dentro de cada columna.
>> -sort(-a)
ans =
343
130
0 2 -7
c) Ordena los elementos de A en orden ascendente dentro de cada fila.
>> c=[sort(a(1,:));sort(a(2,:));sort(a(3,:))]
c=
014
023
-7 3 3
d) Forma una lista con los elementos de A ordenada de forma ascendente.
>>e=sort(a(:))
e=
-7
e) Halla el mximo en valor absoluto de los elementos de la matriz A.
>> max(abs(a))
ans =
347
3.- Suma un mismo escalar a todos los elementos de una matriz.
>> a=[1 2 3;4 5 6;7 8 9]
a=
123
456
789
>> a+7
ans =
8 9 10
11 12 13
14 15 16
4.- En una sola orden de MATLAB crea una matriz 3x5 cuyo unico elemento sea el 7.
>> repmat(7,3,5)
ans =
7 7 7 7 77 7 7 7 7
77777
5.- Con una sola orden de MATLAB crea una matriz aleatoria 4x4 de nmeros reales entre
-5 y 5.
>> A=(5*rand(4))
A=
2.9926 3.1927 2.6543 3.5918
2.3546 0.1680 3.2722 4.8432
3.4797 0.3440 2.0381 2.6567
3.4994 1.5980 4.0999 1.6257
6.- Con una sola orden de MATLAB crea una matriz aleatoria 4x4 de nmeros enteros
entre -5 y5.
>> A=round(5*rand(4))
A=
1230
1120
4503
0430
7.- Considera la siguiente orden de MATLAB : A=magic(5). En una sola orden:
>> a=magic(5)
a=
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
a) Define una matriz B formada por las filas pares de la matriz A.
>> b=[a(2:2:5,:)]
b=
23 5 7 14 16
10 12 19 21 3
b) Define una matriz C formada por las columnas impares de la matriz A.
>> c=[a(:,1:2:5)]
c=
17 1 15
23 7 16
4 13 22
10 19 3
1125 9
c) Define una vector D formada por la tercera columna de la matriz A.
>> d=a(:,3)
d=
13
19
25
d) Elimina la tercera fila de la matriz A.
>> e=a([1 2 4 5],:)
e=
17 24 1 8 15
23 5 7 14 16
10 12 19 21 3
11 18 25 2 9
8.- Sea x= (0:pi/2:2*pi).Con una sola orden de MATLAB crea una matriz cuya primera fila
es x, su segunda fila es el seno de cada elemento de x y cuya tercera fila el coseno de cada
elemento de x.
>> x=(0:pi/2:2*pi)
x=
0 1.5708 3.1416 4.7124 6.2832
>> f=[x;sin(x);cos(x)]
f=
0 1.5708 3.1416 4.7124 6.2832
0 1.0000 0.0000 -1.0000 -0.0000
1.0000 0.0000 -1.0000 -0.0000 1.0000
9.- Define una vector A formado por los cuatro primeros nmeros impares y otro B
formado por los cuatro primeros nmeros pares de varias formas distintas. Emplalos para
construir la matriz A=[2 4 6 8;6 12 18 24;10 20 30 40;14 28 42 56]
>> a=[1:2:7]
a=
1357
>> b=[2:2:8]
b=
2468
>> A=[a(1,1)*b;a(1,2)*b;a(1,3)*b;a(1,4)*b]
A=
2468
6 12 18 24
10 20 30 40
14 28 42 56
10.- Construye una matriz nxn, C=(cij)
a)
>> a=[11 12 13 14 15;21 22 23 24 25;31 32 33 34 35;41 42 43 44 45;51 52 53 54 55]
a=
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55
b)
>> b=[cos(11) cos(12) cos(13) cos(14) cos(15);cos(21) cos(22) cos(23) cos(24)
cos(25);cos(31) cos(32) cos(33) cos(34) cos(35);cos(41) cos(42) cos(43) cos(44)
cos(45);cos(51) cos(52) cos(53) cos(54) cos(55)]
b=
0.0044 0.8439 0.9074 0.1367 -0.7597
-0.5477 -1.0000 -0.5328 0.4242 0.9912
0.9147 0.8342 -0.0133 -0.8486 -0.9037
-0.9873 -0.4000 0.5551 0.9998 0.5253
0.7422 -0.1630 -0.9183 -0.8293 0.0221
11.- Construye de distintas formas la matriz A=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4]
>> A=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4]
A=
1111
2222
3333
4444
>> A=[linspace(1,1,4);linspace(2,2,4);linspace(3,3,4);linspace(4,4,4)]
A =1 1 1 1
2222
3333
4444
EJERCICIOS ADICIONALES
1)En una sola instruccin, cambiar todos los valores de la diagonal de una matriz cuadrada
a cero.
>> b=[a;2*a;3*a;4*a]
b=
1111
2222
3333
4444
>>d=b-diag(diag(b)) %una sola instruccin
d=
0111
2022
3303
4440
2)En Una Sola Instruccin ,Sustituir Todos Los Valores De La Diagonal De Una Matriz
Cuadrada Por Los Elementos De Un Vector Dado
> d=5*ones(1,4)
d=5555
>> b=[a;2*a;3*a;4*a]
b=
1111
2222
3333
4444
>> d=b-diag(diag(b))+diag(d) %una sola instruccin
d=
5111
2522
3353
4445
3)Ordenar Los Elementos De Una Matriz Del Menor Al Mayor Manteniendo Su Forma
(Indicacin: Emplear La Orden Reshape)
A=magic(3)
A=
816
357
492
>> B=sort(sort(A)')
B=
147
25 8
369
>> reshape(B,1,9)
ans =
123456789
4)En Una Sola Instruccin , Poner A Cero Todos Los Elementos Negativos De Una Matriz.
A=[-1 2 3;4 -5 6;-7 8 -9]
A=
-1 2 3
4 -5 6
-7 8 -9
>> A(find(A>A=[-1 2 1; 6 1 -1; 4 5 1]
A=
-1 2 1
6 1 -1
451
>>A(find(A==1 | A==-1))=0
A=
020
600
450
6) De Tres Formas Distintas ( Cada Una En Una Sola Instruccin), Averiguar El Numero
De Elementos De Una Matriz, De Forma Que Al Final Tengamos Un Numero
1)A=magic(5)
A=
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> b=length(A)*length(A)
b=
25
2) >> A=magic(4)
A=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> c=size(A)*size(A)'/2
c=
16
3.- A=magic(4)
A=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> c=size(A)*[length(A),length(A)]'/2
c=
16
-----------------------
1