Ejercicios de Matlab
Ejercicios de Matlab
Ejercicios de Matlab
1) Hacer un programa en MATLAB que genere una matriz A de orden 8x8 en donde los
elementos de las diagonales sean iguales a 6 y el resto de elementos sean iguales a 2.
clc
clear
for r=1:8;
for s=1:8;
if r==s|r+s==9;
A(r,s)=6;
else
A(r,s)=2;
end
end
end
A
A=
6 2 2 2 2 2 2 6
2 6 2 2 2 2 6 2
2 2 6 2 2 6 2 2
2 2 2 6 6 2 2 2
2 2 2 6 6 2 2 2
2 2 6 2 2 6 2 2
2 6 2 2 2 2 6 2
6 2 2 2 2 2 2 6
2) Hacer un programa en MATLAB que genere una matriz B de orden 8x5, tal que
𝑟 + 𝑠; 𝑠𝑖 𝑟 𝑜 𝑠 𝑒𝑠 𝑝𝑎𝑟
𝐵={ }
(𝑟 − 𝑠)2 ; 𝑒𝑛 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜
clc
clear
for r=1:8
for s=1:5
if rem(r,2)==0|rem(s,2)==0
B(r,s)=r+s;
else
B(r,s)=(r-s)^2;
end
end
end
B
B=
0 3 4 5 16
3 4 5 6 7
4 5 0 7 4
5 6 7 8 9
16 7 4 9 0
7 8 9 10 11
36 9 16 11 4
9 10 11 12 13
1 1 1 1 1
𝑆 =1− + − + − +⋯
4 9 16 25 36
clc
clear
S=0;
F=[1,1];
k=1;
while abs(1/(k^2))>5*10^-6
S=S+(-1)^(k+1)*1/(k^2);
k=k+1
end
S
S=
0.822469530215735
1 𝑥 𝑥2 𝑥3 𝑥𝑛
S= + + + +⋯+
0! 1! 2! 3! 𝑛!
clc
clear
S=0;
k=1;
x=input('ingrese el valor de la variable:')
n=input('ingrese el valor de la cantidad de
repeticiones:')
while k<n+1
A=(x^(k-1))/(factorial(k-1));
k=k+1;
S=S+A;
end
S
5) Hacer un programa en MATLAB que genere a matriz C de orden 9x9 en donde los
elementos de la diagonal principal sean iguales 5, los que están debajo de la diagonal
principal sean iguales a 4, y los restantes sean iguales a 2.
clc
clear
for r=1:9;
for s=1:9;
if r==s
C(r,s)=5;
elseif r>s
C(r,s)=4;
else
C(r,s)=2;
end
end
end
C
C=
5 2 2 2 2 2 2 2 2
4 5 2 2 2 2 2 2 2
4 4 5 2 2 2 2 2 2
4 4 4 5 2 2 2 2 2
4 4 4 4 5 2 2 2 2
4 4 4 4 4 5 2 2 2
4 4 4 4 4 4 5 2 2
4 4 4 4 4 4 4 5 2
4 4 4 4 4 4 4 4 5
𝑎2 + bx + c = 0
clc
clear
a=input('ingrese el coeficiente a: ')
b=input('ingrese el coeficiente b: ')
c=input('ingrese el coeficiente c: ')
if a==0
if b==0
display('no existe solución')
else
display('la solución es:')
x1=-c/b
end
else
if b^2-4*a*c>0
display('las soluciones son reales y
distintas:')
x1=(-b-sqrt(b^2-4*a*c))/(2*a)
x2=(-b+sqrt(b^2-4*a*c))/(2*a)
elseif b^2-4*a*c==0
display('la solución es unica')
x1=-b/(2*a)
else
display('las soluciones son complejas y
conjugadas')
x1=(-b-sqrt(b^2-4*a*c))/(2*a)
x2=(-b+sqrt(b^2-4*a*c))/(2*a)
end
end
7) Si compramos al por mayor 100 o más unidades de un artículo nos descuentan el 40%.
Si el número de artículos es mayor o igual que 25 pero menor que 100 nos descuentan
el 20% y si compramos 10 o más unidades pero menos que 25 nos descuentan un 10%.
No hay descuento si adquirimos menos de 10 unidades. Hacer un programa en
MATLAB que nos diga cuanto debemos pagar por nuestra compra. Supuestamente el
pago depende del número de artículos comprados y del precio unitario del artículo, los
cuales deben ser ingresados por medio del teclado.
Clc
clear
n=input('Cantidad de articulos comprados: ')
p=input('Precio de cada articulo: ')
if n>100
display('El descuento será del 40%')
A=0.6*n*p
elseif n>=25 & n<100
display('El descuento será del 20%')
A=0.8*n*p
elseif n>=10 & n<25
display('El descuento será del 10%')
A=0.9*n*p
else
A=n*p
end
clc
clear
a=input('ingrese el numero:')
if a==1
display('el numero no es primo')
elseif a==2|a==3|a==5|a==7|a==11|a==13|a==17|a==19
display('el numero es primo')
elseif
rem(a,2)~=0&rem(a,3)~=0&rem(a,5)~=0&rem(a,7)~=0&rem(a,
11)~=0&rem(a,13)~=0&rem(a,17)~=0&rem(a,19)~=0
display('el numero es primo')
else
display('el numero no es primo')
end
(𝑥𝑘 , 𝑦𝑘 ); 𝑘 = 1, … ,8.
𝑃(1, 𝑘) = 𝑥𝑘 , 𝑃(2, 𝑘) = 𝑦𝑘
8 20 25 25 20 8 3 3
𝑆𝑖 𝑃=( )
2 2 7 14 14 19 14 7
Hacer un programa en MATLAB que calcule el perímetro del polígono.
clc
clear
display('La matriz P es de orden 2xn')
P=input('Introduzca la matriz: ')
n=input('Cantidad de columnas de la matriz: ')
A=0;
k=1;
if n<3
display('LA FIGURA NO EXISTE')
else
display('LA FIGURA EXISTE')
while k<n
A=A+sqrt((P(1,k+1)-P(1,k))^2+(P(2,k+1)-
P(2,k))^2);
k=k+1;
A+sqrt((P(1,1)-P(1,n))^2+(P(2,1)-P(2,n))^2)
end
end
clc
clear
for r=1:10;
for s=1:10;
if r==s|r+s==11;
D(r,s)=6;
elseif r<s & r+s<10;
D(r,s)=1;
elseif r>s & r+s>12;
D(r,s)=1;
else
D(r,s)=0;
end
end
end
11) Hacer un programa para ordenar en forma ascendente 10 números enteros positivos,
los cuales deben ser ingresados a través del teclado.
Observación:
En MATLAB, cuando u es un vector, el comando sort(u) ordena al vector u en forma
ascendente y cuando se escribe –sort(-u) lo ordena en forma descendente. Use el
comando sort solo para verificar que su programa está ordenando correctamente,
pero no use esta instrucción en el programa.
clc
clear
display('PROBAR CON V=[10,8,4,5,17]');
V=input('Ingrese el vector V= ');
n=length(V);
v=V;
%ORDENAMIENTO CRECIENTE DE BURBUJA
for i=1:n
for j=1:n-i
if V(j)>V(j+1)
aux=V(j);
V(j)=V(j+1);
V(j+1)=aux;
end
end
end
display('ORDENAMIENTO EN FORMA CRECIENTE')
E=
81 27 9 3 1
81 27 9 3 1
81 27 9 3 1
81 27 9 3 1
81 27 9 3 1
clc
clear
for r=1:5
for s=1:5
E(r,s)=3^(5-s);
end
end
E
∑25
𝑛=0 𝑎𝑛
∑25
𝑛=10 𝑎𝑛
15) Hacer un programa en MATLAB que sirva para encontrar todos los números de 3 cifras
que aumenten en 297 cuando invertimos los dígitos del número.
16) Hacer un programa en MATLAB que sirva para encontrar todos los números de 3 cifras
que cumplan la siguiente condición. La suma de los cubos de los dígitos del número es
igual al número.
17) Crear dos problemas cuya solución pueda ser implementada con un programa en
MATLAB