Está en la página 1de 18

2.

Arreglos y matrices
a) Cree un programa en archivo .m, en él se deba ingresar el valor de un ángulo en notación
decimal y que almacene en un vector de orden 3 el valor de dicho ángulo, pero en notación
sexagesimal. La primera celda debe contener el correspondiente valor en grados, la segunda
celda debe contener el correspondiente valor en minutos y la tercera celda debe contener el
correspondiente valor en segundos. Consecuentemente debe publicar un mensaje indicando
el respectivo vector.
Código del programa
clc;
clear
valor=input('ingrese el valor del angulo');
grados=floor(valor)
ming=mod(valor,grados)
min1=ming*60
min=floor(min1)
seg1=mod(min1,min)
seg2=seg1*60
seg=floor(seg2)
B=[0 0 0]
B(1)=grados;
B(2)=min;
B(3)=seg;
sprintf("el valor del angulo expresado en sexagecimal es:")
sprintf("%grados %d minutos %d segundos",grados,min,seg)
b) Cree un programa en archivo .m, para generar un vector fila de orden 5 que contenga
valores enteros. Para la creación de este vector debe usar comandos propios de
programación como comandos de entrada de datos, bifurcaciones y/o ciclos, y publicación
de datos en pantalla.
Código del programa
orden=5
disp('crear vector fila de orden 5')
for i= 1 :5
x=input('digite el valor:')
fprintf('el vector fila es : ')
v(i)=x

end

c) Crear con sentencias predefinidas, propias del tratamiento de vectores y matrices con
software especializado, un vector de orden 5 que contenga números enteros. Publicar el
respectivo resultado.
Código del programa
v=[5,4,3,2,1]
a= v(1)
b= v(2)
c= v(3)
d= v(4)
e= v(5)

sprintf("los valores del vector son:")


sprintf("%d %d %d %d",a,b,c,d,e)
d) Redactar un párrafo no superior a 10 líneas, en el cual compara de manera concluyente,
lo realizado en el ítem b) anterior, con el ítem c) anterior.
En el item b se crea un vector de orden 5 por medio de un ciclo for, se le asignas unas
variables y se le dan instrucciones al usuario para crear el vector e imprimir el resultado por
pantalla y en el literal c muestra por pantalla las variables indicadas al momento de crear el
programa.
e) Cree un programa en archivo .m, para generar una matriz de orden 4x4 que contenga
valores enteros. Para la creación de este vector debe usar comandos propios de
programación como comandos de entrada de datos, bifurcaciones y/o ciclos, y publicación
de datos en pantalla.
Código del programa
n=input('ingrese tamaño de la matriz:')
for i=1:n
for j=1:n
M(i,j)=fix(rand(1,1)*10);
end
end

disp(M);
f) Crear con sentencias predefinidas, propias del tratamiento de vectores y matrices con
software especializado, una matriz de orden 4x4 que contenga números enteros. Publicar el
respectivo resultado.
Código del programa
m=input('ingresa tamaño de la matriz:')
li=input('ingrese limite inferior de la matriz:')
lf=input('ingrese limite final de la matriz:')
a=randi([li,lf],m);
disp('la matriz es :')
disp(a)
g) Redactar un párrafo no superior a 10 líneas, en el cual compara de manera concluyente,
lo realizado en el ítem e) anterior, con el ítem f) anterior.
El ejercicio e se usan diferentes comandos como el bucle for, la sentencia fix para que el
usuario ingrese de forma automática los datos de la matriz en números enteros ye
imprimiendo los resultados en la pantalla en el ejercicio e se utiliza la sentencia randi para
que el usuario con números enteros cree la matriz con un limite inferior y superior.
h) Cree un programa en archivo .m en el que se deba ingresar el valor de un ángulo en
notación decimal y que almacene en un vector de orden 3 el valor de dicho ángulo, pero en
notación sexagesimal. La primera celda debe contener el correspondiente valor en grados,
la segunda celda debe contener el correspondiente valor en minutos y la tercera celda debe
contener el correspondiente valor en segundos. Consecuentemente debe publicar un
mensaje indicando el respectivo vector.
Código del programa
clc
clear
valor=input('ingrese el valor del angulo');
grados=floor(valor)
ming=mod(valor,grados)
min1=ming*60
min=floor(min1)
seg1=mod(min1,min)
seg2=seg1*60
seg=floor(seg2)
B=[0 0 0]
B(1)=grados;
B(2)=min;
B(3)=seg;
sprintf("el valor del angulo expresado en sexagecimal es:")
sprintf("%grados %d minutos %d segundos",grados,min,seg)
i) Genere 2 matrices de números reales (A y B), de orden 4x4 y con ellas realice las
siguientes operaciones (suma, resta, multiplicación, además de las operaciones lógicas de
unión, intersección y diferencia).
Código del programa
A=[4 5 6 7; 5 2 8 4;6 5 8 7;-6 6 8 9;8 2 3 1]
B=[10 12 15 -5;5 8 9 7;4 9 1 5; 8 7 9 7 ]

s = A+B
r = A-B
m = A*B
U = union(A,B)
I = intersect(A,B)
D = setdiff(A,B)
j) Realice un programa que genere tres números aleatorios entre 1 y un límite superior; esos
tres números debe imprimirlos ordenados en forma ascendente o descendente, tanto el
límite superior como el orden ascendente o descendente los establece el usuario.

Código del programa


clc;
clear;
Z=("ingrese un numero mayor o igual a 3 ");
x=input(Z);
A=randperm(x,3)
Z=("digite 1 para numeros ascendentes y 2 para numeros descendente:");
k=input(Z);
if k==1
B=sort(A)
else if k==2
c=sort (A,"descend")
else
disp("opcion incorrecta")
end
end
3. Gráficos 2d
a) Crear un vector con los valores de la función seno desde - hasta , utilizando las
siguientes líneas de comando:
x = -pi:0.1:pi;
y = sin(x);
Consecuentemente realice la grafica de la función seno generada. La gráfica debe mostrar
los valores correspondientes tanto en la abscisa como en la ordenada. Adicionalmente, debe
agregar un título a la gráfica, texto indicando a lo que corresponden la abscisa y la
ordenada.
Código del programa
x = -pi:0.1:pi;
y = sin(x);
plot(x,y,'r')
xlabel('rango de -pi hasta pi')
ylabel('sin(x)')
title('grafica funcion seno')
b) Para el gráfico final generado en el ítem anterior, genera la misma gráfica, pero con el
trazo de la función en colores verde, rojo, negro y amarillo.
c) Para el gráfico final generado en el ítem anterior, genera la misma gráfica con un color
diferente a los generados previamente, pero con el trazo de la función en los siguientes
caracteres:
• * (asterisco)
• + (mas)
• - (menos)
• o (o minúscula).
d) Cree un programa para trazar dos curvas en gráficos separados. La primera con una línea
continua, en rojo y los puntos representados por asteriscos y la segunda con una línea
punteada y en color azul. Las funciones graficar se muestran a continuación. Usar como
dominio un intervalo desde -1500 hasta 1500.
𝑦 = 𝑥^2 ec. (1)
𝑧 = 𝑥^3 ec. (3)
x = -1500:50:1500;
y = x.^2;
z=x.^3;
figure(1)
plot(x,y,'r*')
xlabel('rango de -1500 hasta 1500')
ylabel('x^2')
title('grafica funcion x^2')

figure(2)
plot(x,z,'b.')
xlabel('rango de -1500 hasta 1500')
ylabel('x^3')
title('grafica funcion x^3')

e) Usando las mismas ecuaciones 1 y 2 cree programa para trazar dos curvas en un mismo
gráfico. La primera con una línea continua, en rojo y los puntos representados por
asteriscos y la segunda con una línea punteada y en color azul. Usar como dominio un
intervalo desde -1500 hasta 1500.
x = -1500:0:1500;
y = x.^2;
z = x.^3;
hold on

plot(x,y,'r*')
plot(x,z,'b.')
xlabel('rango de -1500 hasta 1500')
ylabel('x^2 and x^3')
title('Grafica funcion cuadratica y cubica')
hold off

f) Consultar sobre el uso del comando subplot, para proceder a realizar un programa que
grafique las funciones del ítem d) en subgráficos de modo horizontal, así como de modo
vertical.

Modo horizontal
x = -1500:50:1500;
y = x.^2;
z=x.^3;
hold on

subplot(1,2,1)
plot(x,y,'r*')
xlabel('rango de -1500 hasta 1500')
ylabel('x^2')
title('grafica funcion x^2')

subplot(1,2,2)
plot(x,z,'b.')
xlabel('rango de -1500 hasta 1500')
ylabel('x^3')
title('grafica funcion x^3')
hol off

Modo vertical
x = -1500:50:1500;
y = x.^2;
z=x.^3;
hold on

subplot(2,1,1)
plot(x,y,'r*')
xlabel('rango de -1500 hasta 1500')
ylabel('x^2')
title('grafica funcion x^2')

subplot(2,1,2)
plot(x,z,'b.')
xlabel('rango de -1500 hasta 1500')
ylabel('x^3')
title('grafica funcion x^3')
hol off
4. Interfaz gráfica de usuario
Realizar una interfaz gráfica de usuario, a través de la cual se ejecute la generación de las
gráficas de las funciones indicadas en el ítem 3d.
Para cuestiones del respectivo informe, debe agregar capturas de pantalla, que demuestren
la ejecución correcta de los programas solicitados. Adicionalmente debe incluir los códigos
en formato de texto en el respectivo informe.

valor =(input ("ingresa el valor del angulo"))


x = input (prompt)
Grados = floor(x)
minG = mod(x,Grados)
min1 = minG*60
min = floor (min1)
seg1 = mod(min1,min)
seg2 = seg1*60
seg = floor (seg2)

v = [0 0 0]
v(1) =Grados;
v(2) =min;
v(3)=seg;
sprintf("el valor del angulo expresado en sexagecimal es")
sprintf ("%d Grados %d minutos %d segundos" ,Grados,min,seg
valor =(input ("ingresa el valor del angulo"))
x = input (prompt)
Grados = floor(x)
minG = mod(x,Grados)
min1 = minG*60
min = floor (min1)
seg1 = mod(min1,min)
seg2 = seg1*60
seg = floor (seg2)

v = [0 0 0]
v(1) =Grados;
v(2) =min;
v(3)=seg;

sprintf("el valor del angulo expresado en sexagecimal es")


sprintf ("%d Grados %d minutos %d segundos" ,Grados,min,seg
valor =(input ("ingresa el valor del angulo"))
x = input (prompt)
Grados = floor(x)
minG = mod(x,Grados)
min1 = minG*60
min = floor (min1)
seg1 = mod(min1,min)
seg2 = seg1*60
seg = floor (seg2)

v = [0 0 0]
v(1) =Grados;
v(2) =min;
v(3)=seg;

sprintf("el valor del angulo expresado en sexagecimal es")


sprintf ("%d Grados %d minutos %d segundos" ,Grados,min,seg
valor =(input ("ingresa el valor del angulo"))
x = input (prompt)
Grados = floor(x)
minG = mod(x,Grados)
min1 = minG*60
min = floor (min1)
seg1 = mod(min1,min)
seg2 = seg1*60
seg = floor (seg2)
v = [0 0 0]
v(1) =Grados;
v(2) =min;
v(3)=seg;

sprintf("el valor del angulo expresado en sexagecimal es")


sprintf ("%d Grados %d minutos %d segundos" ,Grados,min,seg
valor =(input ("ingresa el valor del angulo"))
x = input (prompt)
Grados = floor(x)
minG = mod(x,Grados)
min1 = minG*60
min = floor (min1)
seg1 = mod(min1,min)
seg2 = seg1*60
seg = floor (seg2)

v = [0 0 0]
v(1) =Grados;
v(2) =min;
v(3)=seg;

sprintf("el valor del angulo expresado en sexagecimal es")


sprintf ("%d Grados %d minutos %d segundos" ,Grados,min,seg

También podría gustarte