Você está na página 1de 12

Informe #1

% Practica 1: Introduccin, Matlab


% Semana 1/16
% Leonardo Villarreal Marcano 201421773

Declaracin de Matrices
A=[4 10 3; 7 2 5; 1 0 6]

B=[5 1+1*j 6; 2*j 1 5; 12 2 -5]

A =

10

B =

5.0000 + 0.0000i

1.0000 + 1.0000i

6.0000 + 0.0000i

0.0000 + 2.0000i

1.0000 + 0.0000i

5.0000 + 0.0000i

12.0000 + 0.0000i

2.0000 + 0.0000i

-5.0000 + 0.0000i

Operaciones
Ca=A+B
Cb=A-B
Cc=A/B
Cd=A\B
Ce=inv(A) % =(A)^-1
Cf=transpose(A) % = A'
Cg=A*B
Ch=A.*B

% La diferencia entre las operaciones resultan ser:


% Cg es el resultado de la multiplicacion matricial.
% Ch es el resultado de la multiplicacion de elemento a elemento de cada
% matriz, es decir, C(n)=A(n)*B(n) donde n=1,2,3,4,...,9.

Ca =

9.0000 + 0.0000i

11.0000 + 1.0000i

9.0000 + 0.0000i

7.0000 + 2.0000i

3.0000 + 0.0000i

10.0000 + 0.0000i

13.0000 + 0.0000i

2.0000 + 0.0000i

1.0000 + 0.0000i

Cb =

-1.0000 + 0.0000i

9.0000 - 1.0000i

-3.0000 + 0.0000i

7.0000 - 2.0000i

1.0000 + 0.0000i

0.0000 + 0.0000i

-11.0000 + 0.0000i

-2.0000 + 0.0000i

11.0000 + 0.0000i

-2.1025 - 3.1921i

5.0521 + 4.3186i

1.9291 + 0.4880i

0.4453 + 0.0192i

0.8350 - 0.1702i

0.3694 - 0.1472i

0.5862 + 0.3206i

0.2425 - 0.5588i

-0.2540 - 0.1740i

-1.7927 + 0.3659i

-0.1220 - 0.0366i

1.3659 + 0.0000i

0.5274 - 0.1280i

0.0427 + 0.1128i

0.3720 + 0.0000i

2.2988 - 0.0610i

0.3537 + 0.0061i

-1.0610 + 0.0000i

Cc =

Cd =

Ce =

-0.0366

0.1829

-0.1341

0.1128

-0.0640

-0.0030

0.0061

-0.0305

0.1890

Cf =

10

Cg =

56.0000 +20.0000i

20.0000 + 4.0000i

59.0000 + 0.0000i

95.0000 + 4.0000i

19.0000 + 7.0000i

27.0000 + 0.0000i

77.0000 + 0.0000i

13.0000 + 1.0000i -24.0000 + 0.0000i

Ch =

20.0000 + 0.0000i

10.0000 +10.0000i

18.0000 + 0.0000i

0.0000 +14.0000i

2.0000 + 0.0000i

25.0000 + 0.0000i

12.0000 + 0.0000i

0.0000 + 0.0000i -30.0000 + 0.0000i

Grficas
Funcin f(t)=2*sin(60t+pi) con puntos de 0.001
t=0:.001:2*pi/60;
figure(1)
plot(t,2*sin(60*t+pi))
legend('f(t)=2*sin(60t+pi)')

Funcin f(t)=1.7*cos(60t+pi) con puntos de 0.001


figure(2)
plot(t,1.4*cos(60*t+pi))
legend('f(t)=1.7*cos(60t+pi)')

Grafica de funciones
figure(3)
subplot(2,1,1)
plot(t,2*sin(60*t+pi))
legend('f(t)=2*sin(60t+pi)')

subplot(2,1,2)

plot(t,1.4*cos(60*t+pi))
legend('f(t)=1.7*cos(60t+pi)')

Grafica de la suma de las dos funciones


figure(4)
plot(t,2*sin(60*t+pi)+1.4*cos(60*t+pi))
legend('f(t)=2*sin(60t+pi)+1.7*cos(60t+pi)')

Funcin Producto de Matrices


function C=LJVM(A,B)

% LJVM es una funcion que verifica si el producto entre dos matrices es


% posible. En caso de no serlo muestra el error como: Las matrices no
% se pueden multiplicar debido a sus dimensiones.
%
% C=LJVM(A,B)
% Entradas: Matrices A y B
% Salida: Matriz C

sA=size(A);
sB=size(B);

if sA(2)~=sB(1)
fprintf('\n Las matrices no se pueden multiplicar debido a sus dimensiones.
\n \n');
else
C=A*B;
end

Funcin esprimo
function S=esprimo()

% esprimo es una funcion que imprime por pantalla todos los numeros primos
% a partir de uno introducido por teclado.
%
% S=esprimo()
% Entrada: numero que indica el usuario.
% Salida: Matriz cuyos elementos son todos los numeros primos a partir del
% introducido.

% METODO UTILIZADO PARA DETERMINAR SI UN NUMERO ES PRIMO O NO


% Basicamente he seguido la definicion de numero primo: Un numero primo

% solo es divisible entre si mismo y la unidad.


% Por tanto, todo numero primo al ser dividido entre cualquier otro numero
% produciria como resultado un numero cuya parte decimal es no nula.
% El algoritmo realiza divisiones sucesivas y determina que un numero es
% primo, si y solo si:
%

* Todo resultado de dividir el "candidato a numero

primo" por el resto de numeros que le preceden,

resultan con parte decimal no nula.

% NOTA DE OPTIMIZACION
% Una forma de lograr que el algoritmo sea mas "rapido" es limitar el
% la cantidad de numeros que dividiran al "candidato a numero primo" a la
% mitad. ( Puede evidenciarse esto en la linea 36)

E=input('\n Introduzca el valor inicial:

');

X=NaN(E,1);

if E==1
fprintf('\n La unidad es un numero primo? \n \n');
return
end

for n=1:E
for m=1:floor(E/2)

% Se cambia E por floor(E/2). VER NOTA DE OPTIMIZACION

f=n/m;
g=f-floor(f);
if g==0 && m~=1 && n~=m
X(n)=0;
break
else
X(n)=n;
end
end
end

n=1;
for m=1:E
if X(m)~=0
S(n)=X(m);
n=n+1;
end
end

S=S';

fprintf('\n Los numeros primos a partir de %d son: \n',E);

Published with MATLAB R2013a

Você também pode gostar