%% Clase Matlab M01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Author:   Roberto Ortega
% Email:    roberto.ortega.a@usach.cl
% Fecha:    16.10.2013
%
%
%% IMPORTANTE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Para más detalles de las funciones o comandos use:
% Por ejemplo, para la función <<sin(x)>>:
%   help sin
%   doc sin
%
%% Definicion Matrices y Vectores

% Definir una matriz

A = [1 -2  5
     0 -6 -1
     7  4 -9]

% Definir una matriz usando una variable a = 89

a = 89;
A = [1 -2  5
     0  a -1
     7  4 -9]
 
% Definir un vector

b = [1; 2; 3]

% Multiplicacion de matrices

B = A * A
C = A * B
D = C' * A

% Multiplicacion de vectores:

c = b * b'      % Se obtiene una matriz
d = b' * b      % Se obtiene un escalar
d = dot(b,b)    % Se obtiene un escalar

% Multiplicacion de matrices y vectores:

f = A * b 		% Se obtiene un vector
%g = b * A		% OJO: Dimensiones incorrectas, Error Matlab

%% Operaciones sobre una matriz

da = det(A)     % Determinante
n2 = norm(A,2)  % Norma 2 
n2 = sqrt(max(eigs(A'*A))) % Norma 2
ta = trace(A)

%% Operaciones sobre un vector

b = ones(5,1) 	% Función <<unos>>
nb = norm(b) 	% Norma euclídea

%% Otras funciones utiles

b = zeros(5,1)  % Vector de <<ceros>>
B = zeros(5,5)  % Matriz de <<ceros>

I = eye(6,6)    % Matriz identidad dimension 6x6

%% Operaciones trigonométricas

vv = (0:pi/30:pi) 	% Vector fila
sv = sin(vv)		% Función seno
cv = cos(vv) 		% Función coseno
tv = tan(vv) 		% Función tangente

%% Operaciones aritméticas

ww = vv + 2 * vv 	
ww = sin(ww) + cos(vv) + tan(vv + ww)


%% Gráficos 2D

xx = (pi/30:pi/30:pi) 
yy = sin(xx) + log(xx) 

hold on

plot(xx, yy)
plot(xx, yy, 'LineWidth',2)
plot(xx, yy, 'r','LineWidth',2)
plot(xx, yy, '--r','LineWidth',2)
plot(xx, yy, '--rs','LineWidth',2)

% hold off
% x = -pi:pi/10:pi;
% y = tan(sin(x)) - sin(tan(x));
% plot(x,y,'-*','LineWidth',2,...
%                 'MarkerEdgeColor','k',...
%                 'MarkerFaceColor','g',...
%                 'MarkerSize',20)






