Tarea 4
Tarea 4
Estudante
JOHN EDISON GUTIERREZ BARRAGAN
Código: 1072191878
Grupo
203036_23
1. Arreglos y matrices
decimal y que almacene en un vector de orden 3 el valor de dicho ángulo, pero en notación
celda debe contener el correspondiente valor en minutos y la tercera celda debe contener el
el respectivo vector.
clear all
clc
A=[0 0 0];
disp 'programa conversor de un angulo de decimal a sexagenimal'
angul=input('ingrese el valor del angulo ');
grados=floor(angul);
minutosa=mod(angul,grados);
minutosb=minutosa*60;
minutos=floor(minutosb);
segundosa=mod(minutosb,minutos);
segundosb=segundosa*60;
segundos=floor(segundosb);
A(1)=grados;
A(2)=minutos;
A(3)=segundos;
valores enteros. Para la creación de este vector debe usar comandos propios de programación
pantalla.
clear all
clc
tamanovect=[];
disp ('vector en fila')
disp ('ingrese los 5 valores que comforman el vector')
for vect=1:5
numero=input(['ingrese el numero de la pocision ' num2str(vect) '
: ']);
tamanovect(vect)=numero;
end
tamanovect
c. Crear con sentencias predefinidas, propias del tratamiento de vectores y matrices con
respectivo resultado.
clear all
clc
disp('Vector de 5 elementos con sentencias predefinidas')
v = fix(1000*rand(1,5))
d) Redactar un párrafo no superior a 10 líneas, en el cual compara de manera concluyente, lo
Con la sentencias predefinidas nos permite de manera más sencilla con plantillas ya
creadas en Matlab el realizar vectores y matrices, mientras que las definidas por el
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
pantalla.
clear all
clc
disp ('Matriz 4x4')
disp (' ')
disp('Ingrese cada uno de los elementos de la matriz')
disp(' ')
for colum=1:4
for fila=1:4
disp(['ingrese el numero de la pocision
',num2str(colum),',',num2str(fila),': ']);
A(colum,fila)=input(' ');
end
end
disp(' ')
disp('Los valores de la matriz son ')
A
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.
clear all
clc
disp('Matriz 4x4 de enteros con sentencias predefinidas')
v = fix(1000*rand(4,4))
g. Redactar un párrafo no superior a 10 líneas, en el cual compara de manera concluyente, lo
puesto que para la creación de vectores se puede definir solo con un bucle, mientras que una
matriz necesita la creación de un doble bucle, además de más instrucciones que permitan
definir la creación de la matriz, ingresando los elementos por teclado o generados por
sentencias predefinidas.
decimal y que almacene en un vector de orden 3 el valor de dicho ángulo, pero en notación
celda debe contener el correspondiente valor en minutos y la tercera celda debe contener el
el respectivo vector.
clear all
clc
A=[0 0 0];
disp 'programa conversor de un angulo de decimal a sexagenimal'
angul=input('ingrese el valor del angulo ');
grados=floor(angul);
minutosa=mod(angul,grados);
minutosb=minutosa*60;
minutos=floor(minutosb);
segundosa=mod(minutosb,minutos);
segundosb=segundosa*60;
segundos=floor(segundosb);
A(1)=grados;
A(2)=minutos;
A(3)=segundos;
i. Genere 2 matrices de números reales (A y B), de orden 4x4 y con ellas realice las siguientes
intersección y diferencia).
clear all
clc
disp 'Operacion entre matrices'
disp ' '
disp 'Matriz A'
A=[2,3,4,5;4,21,11,4;12,23,21,1;3,8,7,9]
disp 'Matriz A'
B=[20,1,10,17;3,6,13,2;2,4,6,6;21,5,8,7]
disp 'Suma de las matrices A + B'
A+B
disp 'Resta de las matrices A - B'
A-B
disp 'Multiplicacion de las matrices A * B'
A*B
disp 'Union de matrices A U B'
C=union(A,B)
disp 'Interseccion de matrices A ? B'
D=intersect(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
clear all
clc
disp('Generacion de tres numeros aleatorios con ingreso de limite
superior')
disp(' ')
lim=input('Ingrese el limite superior: ')
disp('Ingrese el orden en que se imprimen los datos: ')
orden=input ('1. Ascendente\n2. Descendente\n')
if orden==1
v = sort(fix(lim*rand(1,3)),'ascend')
elseif orden==2
v = sort(fix(lim*rand(1,3)),'descend')
end
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
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.
clear all
clc
disp('Matriz 4x4 de enteros con sentencias predefinidas')
limite=input('Ingrese el rango de numeros: ')
m=input('Ingrese el orden de la matriz: ')
v = fix(limite*rand(m,m))
[C,ia,ic]=unique(v);
v_counts=accumarray(ic,1);
value_counts=[C,v_counts]
disp(' ')
s=input('ingrese el numero que desea buscar dentro de la matriz: ')
[fila,columna]=find(v==s)
contador=numel(find(v==s))
2. Gráficos 2d
a. Crear un vector con los valores de la función seno desde -𝜋 hasta 𝜋, utilizando las
x = -pi:0.1:pi;
y = sin(x);
ordenada.
clear all
clc
close all
hold on
x=[-pi:0.1:pi]
ax=gca;
ax.XTick=-2*pi:pi/2:2*pi;
ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-
\pi/2','0','\pi/2','\pi','3\p i/2','2\pi'};
y=[sin(x)]
plot(x,y)
title('sin(x) from -pi to pi')
xlabel('eje x');
ylabel('eje y');
grid
b. Para el gráfico final generado en el ítem anterior, genera la misma gráfica, pero con
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
𝑦 = 𝑥 2 𝑒𝑐. (1)
𝑧 = 𝑥 3 𝑒𝑐. (3)
close all
clc
hold on
tiledlayout(2,1);
nexttile;
x=-1000:50:1000;
y=x.^2;
plot(x,y,'*r');
title('Grafica 1');
grid;
nexttile;
x=-1000:50:1000;
z=x.^3;
plot(x,z,'.b');
title('Grafica 2');
grid;
hold off
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.
close all
hold on
x=-1000:50:1000;
y=x.^2;
plot(x,y,'*r')
z=x.^3;
plot(x,z,'.b')
grid
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.
close all
clear all
clc
title('Combine Plots')
hold on
x=-1000:50:1000;
y=x.^2;
subplot(3,2,1),plot(x,y,'*r'),title('grafico 1');
grid;
x=-1000:50:1000;
z=x.^3;
subplot(3,2,2),plot(x,z,'.b'),title('grafico 2');
grid;
hold off
3. 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
clear all
clc
[x,y]=meshgrid(-2:0.1:2);
z=x.*exp(-x.^2-y.^3);
mesh(x,y,z)