Vous êtes sur la page 1sur 9

Reporte: Prctica dirigida #1

Introduccin a MATLAB

Juan Camilo Rodrguez Quintero 20132123801


Laura Daniela Borrero Romeo 20132123482
Mara Del Mar Polo Urriago 20132123596

Universidad Surcolombiana
24/08/2015

I. INTRODUCCIN A MATLAB: DESARROLLO DE ALGORITMOS


BSICOS EN MATLAB
Esta prctica est orientada al uso del software Matlab para resolver problemas
bsicos en la campo de la programacin buscando adquirir destrezas en el
aprendizaje del lenguaje M.

II. RESULTADOS
Las evidencias de esta prctica son los algoritmos desarrollados en Matlab que se
presentan a continuacin.
1.
%Realizar un programa (m-file) que pida un dato,
%lo evale en la siguiente expresin y entregue su resultado.
clc;
clearvars;
y = input ('Ingrese un numero...');
x= (sqrt(5+y))/(25);
fprintf('***El valor de x es igual a %f \n',x);

% Disee el algoritmo de un programa que:


% a) Pida por teclado dos nmeros (datos enteros).
% b) Calcule la suma y multiplicacin de ambos nmeros.
% c) Muestre por pantalla:
% "La suma es mayor.", en caso de que sea mayor que la multiplicacin de
ambos
% nmeros.
% "La multiplicacin es mayor.", en caso de que sea mayor que la suma de
ambos
% nmeros.
% "La suma y multiplicacin son iguales.", en caso de que as sea.
clear all;
clc;
n1 = input('Ingrese el 1er numero...');
n2 = input('Ingrese el 2do numero...');
suma = n1 + n2;
mult = n1 * n2;
if (suma > mult)
disp('La suma es mayor');
end
if (mult > suma)
disp('La multiplicacion es mayor');
end

if (mult == suma)
disp('La suma y multiplicacin son iguales');
end
disp('Fin');

2.
%
y
%
%
%
%
%
%
-

Dado un vector ingresado por teclado, realizar los siguientes clculos


mostrar los
resultados:
a. Hallar el mximo valor del vector. (Usar funcin max - ver help max)
b. Elevar cada elemento del vector al cuadrado.
c. Multiplicar cada elemento del vector por 3.
d. Hallar el mnimo valor del vector. (Usar funcin min - ver help min)
e. Organizar los datos del vector de menor a mayor. (Usar funcin sort
ver help sort)

clear all;
clc;
cant = input('Cuantos elementos va a ingresar...') ;
for contador=1:cant
vector(contador) = input('Ingrese el elemento...');
end
maxim = max(vector);
vector_al_cuadrado = vector .* vector;
vector_por_tres = vector .* 3;
minim = min(vector);
ordenado = sort(vector);
disp('a)');
disp(maxim);
disp('b)');
disp(vector_al_cuadrado);
disp('c)');
disp(vector_por_tres);
disp('d)');
disp(minim);
disp('e)');
disp(ordenado);

3.

% Dadas dos matrices de 3 filas y 3 columnas ingresadas por teclado,


realizar los siguientes
% clculos y mostrar los resultados:
% a. Sumar las dos matrices.
% b. Hallar el determinante de cada matriz. (Usar funcin det - ver help
det)
% c. Hallar la inversa de cada matriz. (Usar funcin inv - ver help inv)
% d. Multiplicar las dos matrices elemento a elemento.
% e. Realizar la multiplicacin matricial de las dos matrices.
% f. Multiplicar el elemento (1,2) de la primera matriz con el elemento
(3,2) de la segunda
% matriz.
% g. Dividir el elemento (3,3) de la primera matriz con el elemento (1,1)
de la segunda matriz.
clear all;
clc;
disp('llene la 1ra matriz');
for fila=1:3
for columna=1:3
fprintf('Fila %f Columna %f ',fila, columna);
matriz1(fila,columna)= input('...');
end
end
disp('llene la 2da matriz');
for fila=1:3
for columna=1:3
fprintf('Fila %f Columna %f ',fila, columna);
matriz2(fila,columna)= input('...');
end
end
suma = matriz1 + matriz2;
determ1 = det(matriz1);
determ2 = det(matriz2);
inversa1 = inv(matriz1);
inversa2 = inv(matriz2);
mult_ele_ele = matriz1.*matriz2;
mult_matricial = matriz1 * matriz2;
punto_f = matriz1(1,2)*matriz2(3,2);
punto_g =matriz1(3,3)/matriz2(1,1);
disp('Ejercico a) Suma');
disp(suma);
disp('Eercicio b) Determinantes');
disp(determ1);
disp(determ2);
disp('Ejercicio c) Inversas');
disp(inversa1);
disp(inversa2);
disp('Ejercicio d) Multiplicacion elemento por elemento');
disp(mult_ele_ele);
disp('Ejercico e) Multiplicacion matricial');
disp(mult_matricial);

disp('Ejercicio f)');
disp(punto_f);
disp('Ejercicio g)');
disp(punto_g);

4.
%Tres personas deciden invertir su dinero para fundar una empresa. Cada
una de ellas
%invierte una cantidad distinta. Obtener el porcentaje que cada quien
invierte con respecto a
%la cantidad total invertida.
clear all;
clc;
a = input('Ingrese inversion persona 1...');
b = input('Ingrese inversion persona 2...');
c = input('Ingrese inversion persona 3...');
total = a+b+c;

porc1= (a*100)/total;
porc2= (b*100)/total;
porc3= (c*100)/total;

fprintf('El porcentaje de inversion de la persona 1 es... %.2f


\n',porc1);
fprintf('El porcentaje de inversion de la persona 2 es... %.2f
\n',porc2);
fprintf('El porcentaje de inversion de la persona 3 es... %.2f
\n',porc3);

5.
%Una compaa dedicada al alquiler de automviles cobra $300 hasta un
mximo de 300 km
%de distancia recorrida.
%Para ms de 300 km y hasta 1000 km, cobra $300 ms un monto adicional de
$20 por cada kilmetro excedido sobre 300.
%Para ms de 1000 km cobra $300 ms un monto adicional de $15 por cada
kilmetro excedido sobre 300
%y $10 por cada kilmetro excedido sobre 1000.
%Disee un programa que determine el monto a pagar por el
%alquiler de un vehculo, dado el kilometraje recorrido.
clearvars;
clc;
dist = input('Ingrese la distancia recorrida... ');
pagar = 0;
precioKm = 1;

if (dist>0 && dist<=300)


disp('1ra condicion');
pagar = dist * precioKm;
end
if (dist>300 && dist<=1000)
disp('2da condicion');
pagar = 300;
pagar = pagar + ( (dist-300)* 20 );
end
if (dist>1000)
disp('3ra condicion');
pagar = 300;
pagar = pagar +(dist-300)* 15;
pagar = pagar +(dist-1000)* 10;
end
disp('*******************');
fprintf('El total a pagar es %.00f \n',pagar);
disp('Fin');
disp('*******************');

6.
%Hacer un algoritmo que pida al usuario un nmero N e imprima nmeros
sucesivos
%(1,2,3,4) hasta que el ltimo sea el anterior a N. a) Utilice la
estructura while-end b)
%Utilice la estructura for-end .
clearvars;
clc;
num = input('Ingrese un numero..');
contador=1;
numMenosUno= num - 1 ;
disp('*********************')
disp('Utilizando While-end');
while (contador<=numMenosUno)
disp(contador);
contador = contador +1 ;
end
disp('*********************')
disp('Utilizando for-end');
for contador=1:numMenosUno
disp(contador)

end
disp('Fin')
disp('*********************')

7.
%Disear un algoritmo que calcule el rea de un tringulo en funcin de
las longitudes
%de sus lados, para ello tenga en cuenta la siguiente expresin:
%donde, A,B,C, con los lados del tringulo y p es el semiperimetro, que
se expresa como:
clear all;
clc;
lado1 = input ('Ingrese lado 1...');
lado2 = input ('Ingrese lado 2...');
lado3 = input ('Ingrese lado 3...');
p= (lado1+lado2+lado3)/2;
area= sqrt(p*(p-lado1)*(p-lado2)*(p-lado3));
fprintf('El rea del triangulo es...%.2f \n',area);

8.
%Escribir en pantalla los nmeros de 50 al 5 de 5 en cinco, es decir, en
pantalla debe
%salir: 50, 45, 40, ..., 5.
clear all;
clc;
x= 50:-5:5;
disp(x);

9.
%Realizar un programa que reciba nmeros entre 0 y 10, cuando el usuario
escriba un
%numero diferente por fuera de este rango, el programa termina. Al final,
el programa dice
%cuantos nmeros ingres.
clear all;
clc;
x=1;
contador=0;
while( (x>=0 && x<=10 ) )
x= input('Ingrese un numero...');
contador=contador+1;

end
fprintf('Se ingresaron %.0f numeros...\n',contador);
disp('****************************');
disp('fin');

10.
%crear un programa que represente esta funcin hasta que f(t) = 50. Dada
una funcin tal
%que:
% f(x) = 2(e^(t/10))
clear all;
clc;
t=1;
ejex=[];
ejey=[];
while t<=50
f= 2 * (2.71828 ^(t./10)

);

fprintf('Punto %.0f \n',t);


disp(f);
ejex(t)=t; %crea vector con datos del eje x
ejey(t)= f; %crea vector con datos del eje y
end

t=t+1; %aumenta el tiempo

plot(ejex,ejey); %grafica los dos ejes

III. CONCLUSIONES Y OBSERVACIONES


Se puede concluir que Matlab es un software que nos permite utilizar las
estructuras bsicas de programacin de una manera muy sencilla y similar otros
grandes lenguajes de programacin.

IV. RECURSOS TCNICOS


Entre los recursos utilizados se encuentra el software Matlab.

V. REFERENCIAS
Gilat, A. (2014). MATLAB, An Introduction with Applications (5 ed.). Wiley.
Lent, C. S. (2013). Learning to Program with MATLAB (1 ed.). Wiley.
Perez Lopez, C. (2014). MATLAB Matrix Algebra (1 ed.). Apress.

Vous aimerez peut-être aussi