Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
a= 1 4 6 9 2 4 7 10 3 5 8 0
OPERACIONES Y FUNCIONES. Operaciones aritmticas bsicas: +, -, *, /, \ , ^ , sqrt Operaciones de relacin: >, <, <=, >=, == (igual), ~= (distinto) Operaciones lgicas: & (and), | (or), ~ (not) Funciones trigonomtricas bsicas: sin, cos, tan, asin, acos, atan Funciones logartmicas bsicas: exp, log, log10, log2,...
OPERACIONES SOBRE MATRICES A\B A/B % inv(A)*B % A*inv(B) Devuelve la matriz X tal que AX = B Devuelve la matriz X tal que XB = A Devuelve la matriz inversa de A
inv(A) %
OPERACIONES SOBRE MATRICES (elemento a elemento) C = A.*B % Multiplica elemento a elemento 2 matrices: Cij = Aij * Bij
A./B, A.\B, y A.^B devuelven aij/bij, bij/aij y aij bij respectivamente. COMANDOS GENERALES (AYUDA) >> cd >> cd \subdir >> dir >> who >> whos >> clear >> save n >> load n >> help >> help n >> clg >> demo >> quit % Muestra el directorio de trabajo. % Cambia el directorio de trabajo a subdir. % Listado de los ficheros en el directorio de trabajo. % Lista todas las variables del espacio de trabajo. % Igual que who, pero ms informacin. % Borra el espacio de trabajo. % Guarda el espacio de trabajo en n.mat. % Carga el espacio de trabajo almacenado en n.mat. % Lista todos los comandos de Matlab. % Proporciona ayuda del comando n. % Borra la pantalla grfica. % Lista las demostraciones. % Salir de Matlab.
DESARROLLO DE LA PRCTICA
REVISION DE COMANDOS USADOS FRECUENTEMENTE Repita los comandos que se listan a continuacin y observe los resultados. Se proporcionan de forma escueta para que se haga uso del comando help cuando sea necesario.
1.
>> aux = [1 2 3; 4 5 6; 7 8 0] >> A = [ 1 2 3 1 0 0 2 2 2] >> D = A(:,2) % vector con todos los datos de la segunda columna. >> D = A(1:2,2:3) % submatriz con filas 1 a 2 y columnas de 2 a 3. >> B = A % traspuesta >> C = A * B % producto de matrices. >> C = A .* B % producto elemento a elemento de las dos matrices. >> C = A / B % calcula la matriz C tal que C.B = A >> C = A \ B % calcula la matriz C tal que A.C = B >> det(A) >> rank(A) >> inv(A) >> p = poly(A) % determinante % rango de A % inversa % polinomio caracterstico de A
Si a una matriz le aadimos un nmero de una direccin no existente, la matriz crecer hasta encajar el nuevo elemento y llenar con ceros los espacios no especificados. >> h = [1 2; 4 >> h(3,4) = 10 >> h Matrices especiales: >> eye(3) >> eye(3,2) >> ones(3) >> ones(3,4) >> zeros(3) >> zeros(3,5) >> diag([ 1 2 3 4]) 2. % identidad 3x3 % identidad 3x2 % matriz de 1, tamao 3x3 % matriz de 1, tamao 3x4 % matriz de 0, tamao 3x3 % matriz de 0, tamao 3x5 % matriz diagonal de tamao 4x4 4] % comprobar el nuevo valor de h
TRABAJO CON VECTORES. % Polinomio P = 1X2 + 8X + 15 % races del polinomio + 4 % Polinomio Q = X2 % races del polinomio % producto de polinomios % races del polinomio S % Polinomio X + 2 % Descomposicin en fracciones simples del cociente de R entre S % a: numeradores % b: denominadores (races de S) % c: cociente de los polinomios R y S (si existe)
>> P = [1 8 15] >> roots(P) >> Q = [ 1 0 4] >> roots(Q) >> S = conv(P,Q) >> roots(S) >> R = [1 2] >> [a b c] = residue(R,S)
>> c = [ 1 2 3] >> d = [ 4 5 6] >> d = d >> c*d >> d*c >> x = 1 : 5 >> y = 0: 0.5 : 5 >> z = 5 : -1 : 0 3.
% vector de 5 elementos de 1 a 5, incremento 1 % vector de 11 elementos, de 0 a 5, incremento 0.5 % vector de 6 elementos, de 5 a 0, decremento 1.
>> x = [ 1 1 1 1 1 1 1] >> for i = 2: 4, x(i) = 0; end >> x >> x = [ 10 20 30 40 >> i = 1 >> while x(i) < 45, x(i) = 0; i= i+1;end;
>> x % Otra forma de hacer lo mismo: >> x = [ 10 20 >> i = 1 >> while x(i) < 45 x(i) = 0; i= i +1; end; >> x 30 40
50
60
70
80]
>> x = [-1 2 -3 >> for i=1 : 6 if x(i) < 0 x(i) = 0; else x(i) = 22; end; end; >> x 4. TRABAJO CON GRAFICAS
>> x=[0.0 0.5 1.5 2.0 3.0 4.0 6.0 4.0 4.5] >> plot(x) % grfico en 2D >> grid % Dibuja una cuadricula: observe el nuevo grfico >> title(mi grfico) % Aade un ttulo: observe el nuevo grfico >> xlabel(eje x) % Aade un titulo al eje horizontal: observe el nuevo grfico >> ylabel(eje y) % Aade un titulo al eje vertical: observe el nuevo grfico >> x = [1 >> y = [5.0 >> plot(x,y);grid >> plot(y,x);grid >> plot(x,y,'b') >> plot(x,y,'o') >> plot(x,y,'+y') >> plot(x,y,'*r') >> t=0:0.01:10; >> y = sin(t); >> plot(t,y);grid >> z = cos(2*t); >> plot(t,z);grid >> plot(t,y,'-r',t,z,'-g') >> v = [0 20 -2 2] >> axis(v) >> hold on >> p = y.*y; >> plot(t,p,b) >> hold off 2 6.0 4 6.5 8 6.6 16 6.4 32 6.2 64] 4.5]
% Dibuja y en funcin x % Dibuja x en funcin y % Dibuja y en funcin de x en color azul (blue) % Dibuja y en funcin de x usando o % Dibuja y en funcin de x usando +, color amarillo (yellov) % Dibuja y en funcin x usando *, color rojo (red) % Define una variable t definida entre 0 y 10 con intervalos de 0.01 % Define la variable y como el seno de la variable t. % Dibuja la funcin seno(t) entre t=0 y t = 10. % Define la variable z como el coseno de la variable (2*t). % Dibuja la funcin coseno(2*t) entre t=0 y t = 10. % Dibuja dos grficos sobre los mismos ejes (colores rojo y verde)
% Cambia la escala del eje de abscisas (entre 0 y 20) y el de ordenadas (entre 2 y 2) % Mantener el grfico actual % Define la variable p como y2 % Dibuja sobre el grfico antiguo la variable p (en color azul) % Permite el refresco del grfico actual
Puede hacer un ZOOM sobre una zona del grfico con la orden zoom haciendo click sobre el icono que aparece en la ventana grfica.
5.
En modo normal, Matlab ejecuta comandos en forma interactiva, despus de escribir un comando Matlab responde. Sin embargo, el programa matlab esta capacitado para ejecutar programas que estn almacenados en ficheros en disco. Existen dos requisitos: el programa (en formato solo texto) debe residir en el path del Matlab y debe tener extensin .m. El programa Matlab permite la creacin y almacenamiento en disco de dos tipos de ficheros (M-files): function files y script files.
Functions: Fichero con un conjunto de instrucciones que se ejecutarn tras una llamada y a la que se le pueden pasar parmetros y puede devolver resultados. Si se usan variables auxiliares dentro de la funcin, estas variables sern locales a la funcin, y no afectan al espacio de trabajo. El formato debe ser el siguiente: Nombre del fichero: nombre_funcion.m Instrucciones: Function [sal1,sal2,sal3, ...] = nombre_funcion(ent1,ent2, ...) ... .... [sal1,sal2,sal3, ...] = .... % Asignacin de valores (juntos o por separado). Scripts: Fichero con el conjunto de instrucciones que se van a realizar tras la llamada. Las instrucciones se ejecutan secuencialmente de la misma forma que si se hubiesen introducido una a una en la ventana de comandos. Las variables que se usen dentro del script afectan al espacio de trabajo. Mediante las opciones del men de Matlab File New M-file crear dos ficheros, uno correspondiente a una funcin (con el nombre fact.m) y el otro a un script (con el nombre programa.m). fact.m function result = fact(dato) % devuelve el factorial de dato result = 1; for i=1 : dato result = result * i; end; programa.m fprintf('\nPrograma que calcula el maximo comun divisor de dos enteros \n '); a = input('Valor del primer entero '); b = input('Valor del segundo entero '); datoa = a; datob = b; while (a ~= b) % Alt Gr + 44 if (a > b) a = a - b; else b = b -a; end; end; fprintf('\nEl mcd de %d y %d es %d \n',datoa,datob,a);
Despus de crear los dos ficheros y guardarlos en disco con los nombres indicados (fact.m, programa.m) pueden ser utilizados de la siguiente forma desde el matlab: >> fact(10) >> a = fact(3) >> b = fact(a) >> b = fact(2+a) >> programa
6.
EJERCICIO. Represente grficamente la funcin y = 2 * seno(5t) * (e-2t ) entre t = 0 y t = 3, utilizando intervalos de tiempo de 0.001 segundos. Utilizando las funciones de Matlab max y min, calcule el mximo y el mnimo de la funcin en ese intervalo, as como el instante de tiempo en el que se producen. Compruebe, haciendo zoom, que esos valores son correctos. Utilice las funciones: exp, sin, max, min.