Anda di halaman 1dari 9

Lista de ejercicios sobre Programación en 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

3) Hacer un programa en MATLAB que calcule la siguiente suma

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

4) Hacer un programa en MATLAB que calcule la siguiente suma de la siguiente serie

1 𝑥 𝑥2 𝑥3 𝑥𝑛
S= + + + +⋯+
0! 1! 2! 3! 𝑛!

Donde los valores de n y x deben ser ingresados a través del teclado

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

6) Hacer un programa que resuelva la siguiente ecuación de la forma

𝑎2 + bx + c = 0

ingresando a, b y c a través del teclado.

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

8) Escriba un programa en MATLAB que determine si un número entero positivo es


primo. El número debe ser ingresado a través del teclado.
Observación:
En MATLAB, cuando u es un numero o un vector, el comando isprime (u) nos devuelve
un numero o un vector con componentes ceros y unos. Coloca 0 en la posición del
vector u en donde la componente no es un número primo y coloca 1 en la posición del
vector en donde la componente sí lo es. Use el comando isprime (u) solo para verificar
que su programa está identificando correctamente a los números primos, pero no use
esta instrucción en el programa.

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

9) Los vértices consecutivos de un octógono consiste en 8 parejas

(𝑥𝑘 , 𝑦𝑘 ); 𝑘 = 1, … ,8.

Supóngase que se dispone de una matriz P de orden 2x8 cuyas componentes

𝑃(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

10) Hacer un programa que genere la siguiente matriz.

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')

12) Hacer un programa que genere la siguiente matriz.

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

13) Si a1=1, a2=2 y definimos an=3ªn-1-2ªn-2, para n≥ 3, calcular la siguiente suma

∑25
𝑛=0 𝑎𝑛

14) Si a1=1, a2=2 y definimos an=3ªn-1-2ªn-2, para n≥ 3, calcular la siguiente suma

∑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

Anda mungkin juga menyukai