Está en la página 1de 30

2.

arreglos y matrices
a) cree un programa en archivo .m, él se debe ingresar el valor de un Angulo en notación
decimal y que almacene en un vector de orden 3 el valor de dicho Angulo, pero en notación
sexagesimal. La primera celda debe contener el correspondiente valor en grados, la segunda
celda debe de contener el correspondiente valor en minutos y la tercera celda debe de
contener el valor correspondiente valor en segundos. Consecuentemente debe publicar un
mensaje indicando el respectivo vector.
Código programa archivo .m
% 2. Punto a) Arreglos y matrices Convertir Grados decimales en sexagesimal

V=[0 0 0];% Vector

Dato1=input("Ingrese Grados Decimales:")% Ingreso del valor en Grados por


parte del usuario
grados=floor(Dato1);%Separamos parte entera de la decimal
minG=mod(Dato1,grados);%Modulo
min1=minG*60;%Minutos Reales
min=floor(min1);
seg1=mod(min1,min);%Modulo
seg2=seg1*60;%Segundos Reales
seg=floor(seg2);
%Asignacion del Vector
v(1)=grados; %Grados
v(2)=min; %Minutos
v(3)=seg; %Segundos

%Resultado en Pantalla
sprintf("La conversion Equivale:")
sprintf("%d grados %d minutos %d segundos "
,grados, min, seg)
Pantallazo 1 Editor de Matlab

Pantallazo 1
Pantallazo 2 ventana command window ejecución del programa .m
Pantallazo 2
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 programa archivo .m
% 2. Punto B Arreglos y matrices vector fila

V=[0 0 0 0 0]; %vector fila

Dato1=input("Ingrese Numero Entero del Vector:");% Ingresa posicion 1


Dato2=input("Ingrese Numero Entero del Vector:");% Ingresa posicion 2
Dato3=input("Ingrese Numero Entero del Vector:");% Ingresa posicion 3
Dato4=input("Ingrese Numero Entero del Vector:");% Ingresa posicion 4
Dato5=input("Ingrese Numero Entero del Vector:");% Ingresa posicion 5

% Posiciones del Vector


V(1)=Dato1;
V(2)=Dato2;
V(3)=Dato3;
V(4)=Dato4;
V(5)=Dato5;

%Muestra vector fila en Pantalla

sprintf(" Posicion 1: %d Posicion 2: %d Posicion 3: %d Posicion 4: %d


Posicion 5:%d ", Dato1, Dato2, Dato3, Dato4, Dato5)

Pantallazo 3 Editor de Matlab


Pantallazo 3
Pantallazo 4 ventana command window ejecución del programa .m

Pantallazo 4
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.

Pantallazo 5 ventana command window ejecución del programa .m


Pantallazo 5
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 los puntos anteriores se aplicó el vector fila como lo pide el punto B se utiliza el ciclo for
inicializando en la posición 1 hasta la 5 como se solicitaba en el ejercicio, también se aplica
la función round para solo almacenar y admitir los datos de tipo entero, finalmente el vector
se almacena en y luego para mostrar en pantalla se aplica la función printf seguidamente en el
literal c se ingresa el vector fila el cual es el z dentro de este se inserta cada valor de los
números dando un espacio entre cada valor para después pulsar enter y visualizar el resultado
en la pantalla del command window.
e) Cree u archivo .m, para generar una matriz de 4*4 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.
Pantallazo 6 ventana editor de Matlab del programa .m

Pantallazo 6

Código del programa archivo .m


% 2. Punta E Arreglos y matrices 4x4
clc
clear all

m=input("Ingrese numero de filas de la Matriz");


n=input("Ingrese numero de Columnas de la Matriz");

for i=1:m
for j=1:n
disp(['posicion(',num2str(i),',',num2str(j),')'])
A(i,j)=input(' ');
end
end

disp('Matriz es:%A')
A

Pantallazo 7 ventana command window ejecución del programa .m


f) Crear con sentencias predefinidas, propias del tratamiento de vectores y matrices con
software especializado, una matriz de orden de 4*4 que contengan números enteros. Publicar
el respectivo resultado.
Pantallazo 8 ventana command window ejecución del programa .m

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 item d) anterior.
En el ejercicio E se realiza la creación de un programa que solicite al usuario que ingrese un
numero de fila y columnas para la creación de una matriz esto se realiza por medio del
comando input. Después de haber ingresado el número de columnas y filas de la matriz se
colocan o se asignan dos ciclos for anidados el cual tienen como función de recorrer la
variable inicializada en 1 hasta el valor ingresado una vez culmine el ciclo el programa nos
imprimirá la matriz en cada una de las posiciones asignadas. Para el punto E hacemos
referencia al uso del command window del software especializado se asigna a una variable la
matriz entre corchetes dejando espacios entre cada valor y para pasar de fila a columnas lo
hacemos con un “;” una vez terminado de ingresar los valores deseados cerramos corchetes y
el programa nos mostrara la matriz creada.
i) Genere dos matrices de números reales (A y B), de orden 4*4 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).
Pantallazo 9 ventana command window ejecución del programa .m generación de dos
matrices Ay B de 4*4
Pantallazo 10 ventana command window ejecución del programa .m generación de dos
matrices Ay B de 4*4 operación Suma

Pantallazo 10
Pantallazo 11 ventana command window ejecución del programa .m generación de dos
matrices Ay B de 4*4 operación Resta

Pantallazo 11
Pantallazo 12 ventana command window ejecución del programa .m generación de dos
matrices Ay B de 4*4 operación Multiplicación

Pantallazo 12
Pantallazo 13 ventana command window ejecución del programa .m generación de dos
matrices Ay B de 4*4 operación lógica unión

Pantallazo 13
Pantallazo 14 ventana command window ejecución del programa .m generación de dos
matrices Ay B de 4*4 operación lógica intersección

Pantallazo 14
Pantallazo 15 ventana command window ejecución del programa .m generación de dos
matrices Ay B de 4*4 operación lógica diferencia

Pantallazo 15
j) Realice un programa que genere tres números aleatorios entre 1 y un límite superior; esos
tres números debe de imprimirlos ordenados en forma ascendente o descendente, tanto el
límite superior como el orden ascendente o descendente los establece el usuario.
Pantallazo 16 ventana editor de Matlab del programa .m

Pantallazo 16
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 esta repetido y en que posiciones.
Una vez ubicado los datos, debe de dar la posibilidad de modificar aquellos que el usuario
indique por el valor que de igual forma determine. Al final mostrar la nueva matriz.
Pantallazo 17 ventana editor de Matlab del programa .m

Pantallazo 17
Pantallazo 18 Ingreso de datos de nuestra matriz cuadrada desde el valor mínimo hasta el
máximo que vamos a ingresar.

Pantallazo 18
Pantallazo 19 Matriz impresa con la pregunta del número a cambiar y la cantidad de veces
que se encuentra repetido

Pantallazo 19
Pantallazo 20 Matriz original con la pregunta si se desea modificar la posición 2,2
Pantallazo 21 Impresión de la modificación de la nueva matriz en este caso el numero 44 por
el 20 ubicado en la fila 2 columna 2.

Pantallazo 21
3.Graficos 2d
a) Crear un vector con los valores de la función seno desde −π hasta π , utilizando las
siguientes líneas de comando:
x=− p i:0.1 : pi ;
y=s i n ⁡( x )

Consecuentemente realice la gráfica de la función seno generada. La grafica debe mostrar los
valores correspondientes tanto en la abscisa como en la ordenada. Adicionalmente, debe
agregar un título en la gráfica, texto indicando a lo correspondiente de la abscisa y la
ordenada.
Pantallazo 22
Pantallazo 23

b) Para
el
grafico
final

generado en el item anterior, genere la misma gráfica, pero con el trazo de la función en colores
verde rojo, negro y amarillo.

Código grafica color verde


% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'g')%aplicar color grafica verde
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on

Pantallazo 24 Grafico verde

Código grafica color rojo


% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'r')%aplicar color grafica rojo
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on
Pantallazo 25 Grafico rojo
Código de la gráfica color negro
% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'k')%aplicar color grafica negro
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on

Pantallazo 26 Grafico negro

Código de la gráfica color amarillo


% Graficos 2d Punto 3
clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'y')%aplicar color grafica amarillo
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on

Pantallazo 27 Grafico amarillo

c) Para el grafico final generado en el item anterior, genera la misma grafica 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)

Para comenzar utilizaremos el color cian


Código de la gráfica color cian
% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'c')%aplicar color cian
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on

Pantallazo 28 Grafico color cian

Código de la gráfica aplicando el carácter * color cian


% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'*c')%aplicar color cian
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on
Pantallazo 29 gráfica aplicando el carácter * color cian
Código de la gráfica aplicando el carácter + color cian
% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'+c')%aplicar color cian
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on
Pantallazo 30 gráfica aplicando el carácter + color cian

Código de la gráfica aplicando el carácter - color cian


% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'-c')%aplicar color cian
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on

Pantallazo 31 gráfica aplicando el carácter - color cian

Código de la gráfica aplicando la o minúscula color cian


% Graficos 2d Punto 3

clc
clear all

x=-pi:0.1:pi;
y=sin(x);
plot(x,y,'oc')%aplicar color cian
title('funcion seno')
xlabel('-pi,pi')
ylabel('sin(x)')
grid on

Pantallazo 32 gráfica aplicando la o minúscula color cian


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.

^
y= x 2 ec. (1)

z= x 3^ ec. (2)

Código primera grafica figura 1 la ec 1 y= x 2^ puntos representados en asteriscos color rojo y


gráfica figura 2 aplicando la ec 2 y= x 3^ en línea punteada color azul

%graficos 2d punto d
%comandos
a=-1500;
b=1500;
n=100;
x=linspace(a,b,n);
y=x.^2;
figure(1)
plot(x,y,'r-*')
grid on
xlabel('Eje x')
ylabel('Eje y')
title('Grafica x^2')
figure(2)
plot(x,y,'.b')
grid on
xlabel('Eje x')
ylabel('Eje y')
title('Grafica x^3')
Pantallazo 33 gráfica figura 1 aplicando la ec 1 y= x 2^ en asteriscos color rojo

Pantallazo 34 gráfica figura 2 aplicando la ec 2 y= x 3^ en línea punteada color azul

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.

Código punto e
%graficos 2d punto e
%comandos
x=-1500:30:1500;
y=(x.^2);
z=(x.^3);
hold on
plot(x,y,"r*")
xlabel("Rango de x desde -1500 hasta 1500")
ylabel("sin(X)")
plot(x,z,"b.")
xlabel("Rangos de x desde -1500 hasta 1500")
ylabel("sin(x)")
title ("Grafica del seno")
hold off

Pantallazo 35 grafica de las dos ecuaciones con intervalo de ambas de -1500 hasta 1500

f) Consultar sobre el uso del comando subplot, para proceder a realizar un programa que grafique las
funciones del item d) e subgraficos de modo horizontal, así como de modo vertical.

Código representación de la función en modo horizontal


%puntof horizontal
x = -1500:30:1500;
y= (x.^2);
z= (x.^3);
subplot(2,1,1)
plot(x,y,"r-*")
xlabel("Rangos de x desde -1500 hasta 1500")
ylabel("sin (x)")
subplot(2,1,2)
plot(x,z,"b.")
xlabel("Rangos de x desde -1500 hasta 1500")
ylabel("sin (x)")
title ("Grafica del Seno")

Pantallazo 36 Grafica de la función en modo horizontal

Código representación de la función en modo vertical


%Puntof vertical
x = -1500:30:1500;
y= (x.^2);
z= (x.^3);
subplot(1,2,1)
plot(x,y,"r*")
xlabel("Rangos de x desde -1500 hasta 1500")
ylabel("sin (x)")
subplot(1,2,2)
plot(x,z,"b.")
xlabel("Rangos de x desde -1500 hasta 1500")
ylabel("sin (x)")
title ("Grafica del Seno")

Pantallazo 37 Grafica de la función en modo vertical

4.Interfaz gráfica de usuario

Realizar una Interfax grafica de usuario, a través de la cual se ejecute la generación de las graficas de
las funciones indicadas en el item 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 del respectivo informe.

Código Interfax en representación de la ecuación ec 1 y= x 2^ y la ec 2 y= x 3^

classdef Interfaxgrafica < matlab.apps.AppBase

% Properties that correspond to app components


properties (Access = public)
UIFigure matlab.ui.Figure
x3Button matlab.ui.control.Button
x2Button matlab.ui.control.Button
UIAxes matlab.ui.control.UIAxes
end

% Callbacks that handle component events


methods (Access = private)

% Button pushed function: x2Button


function x2ButtonPushed(app, event)
x=-1500:30:1500;
y=(x.^2);
plot(app.UIAxes,x,y,"r-o")
end

% Button pushed function: x3Button


function x3ButtonPushed(app, event)
x=-1500:30:1500;
z=(x.^3);
plot(app.UIAxes,x,z,"b")
end
end

% Component initialization
methods (Access = private)

% Create UIFigure and components


function createComponents(app)

% Create UIFigure and hide until all components are created


app.UIFigure = uifigure('Visible', 'off');
app.UIFigure.Position = [100 100 640 480];
app.UIFigure.Name = 'MATLAB App';

% Create UIAxes
app.UIAxes = uiaxes(app.UIFigure);
title(app.UIAxes, 'Interfaz Grafica funciones x.^2 y x.^3')
xlabel(app.UIAxes, 'X')
ylabel(app.UIAxes, 'Y')
zlabel(app.UIAxes, 'Z')
app.UIAxes.Position = [198 165 300 185];

% Create x2Button
app.x2Button = uibutton(app.UIFigure, 'push');
app.x2Button.ButtonPushedFcn = createCallbackFcn(app,
@x2ButtonPushed, true);
app.x2Button.Position = [34 294 100 22];
app.x2Button.Text = '(x^2)';

% Create x3Button
app.x3Button = uibutton(app.UIFigure, 'push');
app.x3Button.ButtonPushedFcn = createCallbackFcn(app,
@x3ButtonPushed, true);
app.x3Button.Position = [34 246 100 22];
app.x3Button.Text = '(x^3)';
% Show the figure after all components are created
app.UIFigure.Visible = 'on';
end
Pantallazo 38 Grafica programa Interfax ec 1 y= x 2
^ y la ec 2 y= x 3
^

% App
Pantallazo 39 Grafica programa Interfax ec 1 y= x 2
^ y la ec 2 y= x 3
^
Pantallazo 38 Grafica programa Interfax ec 1 y= x 2 ^ y la ec 2 y= x 3
^
Aplicación y asignacion de los button (x^2) y (x^3)

Pantallazo 39 Grafica programa Interfax ec 1 y= x 2


^ y la ec 2 y= x 3
^
Pantallazo 40 Grafica programa Interfax button 1 x 2^ y button 2 x 3^

Pantallazo 41 simulación Grafica programa Interfax button 1 x 2^ y button 2 x 3^


Pantallazo 42 simulación programa Interfax button 1 x 2^
Pantallazo 43 simulación programa Interfax button 2 x 3^

También podría gustarte