Está en la página 1de 16

1.

Roles y responsabilidades para la producción de entregables por los estudiantes

Revisor: Asegurar que el escrito cumpla con las normas de presentación de


trabajos exigidas por el docente.

2. Arreglos y matrices

a. Cree un programa en archivo .m, en el 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.

A=[0 0 0];

valor=(input("Ingresar 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);

A(1)=grados;
A(2)=min;
A(3)=seg;

sprintf ('El valor del angulo en sexagecimal es');


sprintf ('%d 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. 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.

v=[1];
a=3
n=4

for i=1:n
v=[v,a+i];
i=i+1;

end
Dimension=length(v)

disp( 'el vector es: ');


disp(v);

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.

Lo realizado en el b es que se ingresa el valor de la posición del vector una a una


por el contrario del c pues en este se realiza una formulación para que este sea
automatico.

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.

D= [0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0]

l=1;
j=1;

while l<5
while j<5
D(l,j)= input('ingrese el valor de la celda');
j=j+1;
end
j=1;
l=l+1;
end

disp('el vector es: ');


disp(D);

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.

E=zeros(4)

l=1;
j=1;
n=4;

for l=1:n;
for j=1:n;
E(l,j)=l+j;
end
j=1;
end
disp ('La matriz es');
disp (E);
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 d) anterior.

En el ítem e se debe colocar el valor uno a uno para ubicarlo en la matriz, por el
contrario en el ítem f se automatiza con la función ZERO

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.

A=[0 0 0];

valor=(input("Ingrese 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);

A(1)=grados;
A(2)=min;
A(3)=seg;

sprintf ('El valor de angulo expresado en sexagesimal es');


sprintf ('%d 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).

E=zeros(4)
F=zeros(4)

i=2;
j=3;
n=4;

for i=1:n;
for j=1:n;
E(i,j)=i+j;
F(i,j)=i*j;
end
j=1;
end
sum=E+F;
res=F-E;
mult=E*F;
u=union(E,F);
inter= intersect(E,F);
dif= setdiff(E,F);

disp('matriz E: ');
disp(E);
disp('matriz F: ');
disp(F);
disp('Result suma: ');
disp(sum);
disp('Result resta: ');
disp(res);
disp('Result multiplicación: ');
disp(mult);
disp('Result union: ');
disp(u);
disp('Result intersección: ');
disp(inter);
disp('Result diferencia: ');
disp(dif);

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.

z=input('Para X, Ingrese un número: ');


y=input('Para Y, Ingrese un número: ');

X=randi([z,y],1,3);
disp('Vector aleatorio es ');
disp(X);

disp('Vector de Menor a Mayor es ');


disp(X);

disp('Vector de Mayor a menor es ');


disp(X);
k. Realice un programa que genere una matriz cuadrada de números aleatorios de
orden “m” en un rango de números determinado por el usuario y permita buscar
un dato en ella e indicar cuantas veces está repetido y en que posiciones.

Una vez ubicado los datos, debe dar la posibilidad de modificar aquellos que el
usuario indique por el valor que de igual forma él determine. Al final mostrar la
nueva matriz modificada.

m=input('Matriz cuadrada de tamaño: ');


r1=input('Valor minimo para la matriz: ');
r2=input('Valor maximo para la matriz: ');

varValores=randi([r1 r2],m,m);
clc
yn=input('la matriz se ha creado, ¿desea verla? (1=SI
//Enter/0=NO):');
if yn==1
fprintf('La matriz es la siguiente.\n\n')
varValores
end

varvalores_old=varValores;
var=input("Escriba el valor a buscar, debe ser un valor entre, "+r1+"
y "+r2+":");

fprintf("El "+var+" aparece repetido en las siguientes posiciones:


\n\n");
tmp=zeros(2,2);
cont=0;
for i=1:m
for i2=1:m
if var==varValores(i,i2)
fprintf("("+i+", "+i2+")\n")
cont=cont+1
tmp(cont,1)=i;
tmp(cont,2)=i2;
end
end
end
fprintf("\nEsta repetido "+cont+" veces.\n\n")
input("Presione enter para continuar");

for i=1:cont
clc
fprintf("Matriz original\n\n")
varvalores_old
yn=input("Desea modificar el valor de la posición
("+tmp(i,1)+","+tmp(i,2)+")?(1=Si/0=no)\n\n");

if yn==1
var=input("Digite el valor a asignar a esa posición: ");
varValores(tmp(i, 1),tmp(i, 2))=var
fprintf("Se ha modificado "+i+"de "+cont+"posiciones \n\n")

end
end
clc
fprintf("Los resultados del cambio son los siguientes:\n\n")

fprintf("Matriz original\n")
varvalores_old
fprintf("Matriz modificada\n")
varValores

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 generado. 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

x = -pi:0.1:pi;
y = sin(x);

plot(x,y);
title('Función seno de - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;
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.

x = -pi:0.1:pi;
y = sin(x);

plot(x,y,'g')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;

x = -pi:0.1:pi;
y = sin(x);
plot(x,y,'r')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;

x = -pi:0.1:pi;
y = sin(x);

plot(x,y,'k')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;

x = -pi:0.1:pi;
y = sin(x);

plot(x,y,'y')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;
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:

- * (asterísco)

- + (mas)

- - (menos)

- o (o minúscula).

x = -pi:0.1:pi;
y = sin(x);

plot(x,y,'*b')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;

x = -pi:0.1:pi;
y = sin(x);

plot(x,y,'+m')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;

x = -pi:0.1:pi;
y = sin(x);

plot(x,y,'-c')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;

x = -pi:0.1:pi;
y = sin(x);

plot(x,y,'or')
title('Función seno - pi a pi');
xlabel('Valor de angulo');
ylabel('Seno (x)');
grid on;
grid minor;

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 -1000 hasta
1000.
y=x^2 ec. (1)
y=x^3 ec. (3)

x=-1000:10:1000

y=x.^2;
z=x.^3;
hold
plot(x,y,'*r');
plot(x,z,'-.b');
grid

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 -1000 hasta 1000.

x=-10:1:10;

y=x.^2;
z=x.^3;
hold on
plot(x,y,'-*r');
plot(x,z,'-.b');
grid
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.

x=-1000:10:1000
y=x.^2;
z=x.^3;
subplot(2,1,1);
plot(x,y,'-*y');
subplot(2,1,2);
plot(x,z,'-.c');
grid

x=-1000:10:1000
y=x.^2;
z=x.^3;
subplot(1,2,1);
plot(x,y,'-*y');
subplot(1,2,2);
plot(x,z,'-.c');
grid

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.

También podría gustarte