Está en la página 1de 22

Introduccion

Matlab
(MATrix LABoratory)

Iniciar-Finalizar

Ventana de ejecucin del programa, editor de


caminos de bsqueda (lista de directorios)

Editor programa (archivo*.m)

Ventana del editor y depurador de errores

Variables

Para declarar las variables podemos utilizar cualquier


nombre
Evitar el uso de palabras reservadas (if) o el nombre
de funciones (sin)
Principales valores especiales

eps (epsilon nmero ms pequeo que reconoce


2.2204e-16)
pi (valor )
i,j (unidad imaginaria)
inf (infinito)
date (fecha)
flops (# de operaciones de punto flotante que hasta
ese momento se han realizado)

Signos de puntuacin

signo ;

Cuando ponemos un
punto y coma despus
de la declaracin de
alguna variable o
i n s t r u c c i n
automticamente
guarda ese valor pero
no lo muestra en la
pantalla de trabajo

signo ,

Cuando ponemos coma


despus de la
declaracin de alguna
variable o instruccin
automticamente
arroja ese valor
mostrandolo en la
pantalla de trabajo

Lectura y escritura
Las

funciones de lectura y escritura


son;

input
" fprintf (printf) desp. Pantalla
" fsanf (scanf) declara y lee archivos
" save
" load .MAT
" dispdesp. Mensaje
" diary
>> help (nombre de la funcin)
"

input

Para la declaracin de comentarios se inicia con el


signo %
a = input(cadena de caracteres, opcin)

Ejemplos:
input('teclee valor: ');
teclee valor: 20
ans
ans =
20
z=input('teclee valor: ')
teclee valor: 10
z=
10

Ejemplos:
input('nombre: ','s');
nombre: matlab
a=input('nombre: ','s')
nombre: matlab
a=
matlab

fprintf

Escribe datos en un archivo (incluyendo pantalla)


fprintf(fid,formato,argumento)

Ejemplo:
v=12.34;
fprintf(1,'%e\n',v);
1.234000e+001
u=123.456;
fprintf('%12.5f\n',u);
123.45600

Identificador
de archivo

%d-entero
%o-octal
%u-entero sin signo
%x-entero hexadecimal
%f-numero en punto flotante
%e-num. con punto flotante exp.
%c-carcter
%s-cadena de caracteres

fscanf

Lee datos desde un archivo (incluyendo teclado)


A [A,count]=fscanf
(fid,formato,zise)

Abrir archivo
para leer

Valores
capturados

Ejemplo:
fid=fopen('test.dat');
a=fscanf(fid,'%f',1);

Identificador
de archivo %d-entero
%o-octal
(opcional)
# de elem.
capturados

(opcion)
tamao de la
matriz

%u-entero sin signo


%x-entero hexadecimal
%f-numero en punto flotante
%e-num. Con punto flotante exp.
%c-carcter
%s-cadena de caracteres

fid=fopen('d:\master\resultados\E_alto.dat','r');
bk1=fscanf(fid,'%f',[40,210]);

Vector y Matriz

Inicializacin

a) escribir todos los elementos dentro de corchetes


x=[0,0.1,0.2,0.3,0.4,0.5]; generacin de vector horizontal
x
x=
0 0.1000 0.2000 0.3000 0.4000 0.5000
x=[0 0.1 0.2 0.3 0.4 0.5];
x
x=
0 0.1000 0.2000 0.3000 0.4000 0.5000
x=[0;0.1;0.2;0.3;0.4;0.5]; generacin de vector vertical
x
x=
0
0.1000
0.2000
0.3000
0.4000
0.5000

Vector y Matriz
A=[0,0.1,0.2;0.3,0.4,0.5;0.6,0.7,0.8]; generacin de matriz
A
A=
0
0.1000 0.2000
0.3000 0.4000 0.5000
0.6000 0.7000 0.8000
b) asignacin de elemento por elemento
x(1)=0;
x
x(2)=0.1;
x=
x(3)=0.2;
0
x(4)=0.3;
0.1000
x(5)=0.4;
0.2000
x(6)=0.5;
0.3000
0.4000
0.5000

Vector y Matriz

x(1)=0
x(2)=0.1
x(3)=0.2
x(4)=0.3
x(5)=0.4
x(6)=0.5

x=
0
0.5000

0.1000

0.2000

0.3000

0.4000

c) para ahorrarnos todo esto usamos tamao de paso


x =[0 0.1 0.2 0.3 0.4 0.5 ]
x=[0 : 0.1 : 0.5]
Valor final
Valor
inicial

Intervalo o
paso

Ejemplo:
x=[0:0.1:0.5]
x=

0.1000

0.2000

0.3000

0.4000

0.5000

Vector y Matriz
para la matriz tenemos;
x=[0.1 : 0.1 : 0.3; 0.4 :0.1: 0.6;0.7 :0.1: 0.9]

Valor final
Valor
inicial

Intervalo o
paso
Ejemplo:
x=[0.1:0.1:0.3;0.4:0.1:0.6;0.7:0.1:0.9]
x=
0.1000
0.4000
0.7000

0.2000
0.5000
0.8000

0.3000
0.6000
0.9000

Vector y Matriz
Operacin sobre vector y Matriz
a) opcin de signacin

x=[1;2;3;4];
x
x=
1
2
3
4

1)vector horizontal
x=[1,2];
x(3)=3;
x
x=
1 2 3
x=[x 4]
x=
1 2 3
x=[0 x]
x=
0 1 2

2) vector vertical

x(5)=5;
x
x=
1
2
3
4
5

x=[x;6]
x=
1
2
3
4
5
6

Vector y Matriz
Notacion
x(K1:K2) vector que consiste de K1-simo elemento a
K2-simo elemento

Para vector
x=[1 3 5 7 9];
y=x(2:4);
y
y=3 5 7
x=[1 3 5 7 9 11 13];
y=x(5:-1:2);
z=x(1:2:7);
u=x(2:6);
y
y=9 7 5 3
z
z =1 5 9 13
u
u =3 5 7 9 11

Para Matriz
x=[1 2 3;4 5 6;7 8 9];
x
x= 1 2 3
4 5 6
7 8 9
x(2,3)=0
x= 1 2
4 5
7 8

3
0
9

x(3,4)=0
x= 1 2
4 5
7 8

3
0
9

0
0
0

Extraccin de vectores
% Vector de rengln de A
A=[1 2 3;4 5 6;7 8 9];
A=
1
2
3
4
5
6
7
8
9
V1=A(1,:)
V1 =
1
2
3
K1=A(2,:)
K1 =
4
5
K2=A(1,3)
K2 =
3

% Vector de columna de A
A=[1 2 3;4 5 6;7 8 9];
A=
1
2
3
4
5
6
7
8
9
V2=A(:,1)
V2 =
1
4
7
K2=A(:,3)
K2 =
3
6
9

Extraccin de vectores
v=[-1,-1,-1];
A(:,4)=v;
??? In an assignment A(:,matrix) = B,
the number of rows in A and B must be
the same.

A=[1 2 3;4 5 6;7 8 9];


v=[0 0 0];
A(2,:)=v;
A=
1
2
3
v=[-1,-1,-1,-1];
0
0
0
A(:,4)=v;
7
8
9
v=[10,11,12];
A(4,:)=v;
A=
1
2
3
0
0
0
7
8
9
10 11 12

??? In an assignment A(:,matrix) = B,


the number of rows in A and B must be
the same.

v=[-1,-1,-1,-1];
v1=v';
A(:,4)=v1;
A= 1
2
3 -1
0
0
0 -1
7
8
9 -1
10 11 12 -1

Operaciones Aritmticas

Operador

+
*
/
\
^

.*
./
.\
.^
.

Operacin

A+B
vectores y mat. del
mismo tam.
A-B
A*B
A/B
A*B-1
A\B
A^B
A
A.*B
A./B
A.\B
A.^B
A.

A-1*B
AB
A(i,j)*B(i,j)
A(i,j)/B(i,j)
B(i,j)/A(i,j)
A(i,j)B(i,j)
A

Operaciones Aritmticas
x=[1 2 3];

y=[4 5 6];

z=x+y
z=
5
7
9
z1=x-y
z1 = -3 -3 -3
z2=x*y
??? Error using ==> * Inner matrix dimensions must agree.
z3=x.*y
z3 =
4 10 18
z4=x.^y
z5=x./y
z4 =
1 32 729
z5 = 0.2500 0.4000 0.5000
m=y
m=
4
5
6
z6=x*m
z6 = 32

Funciones
1.

Funciones matemticas

sin (x), cos (x) .....,etc. [trigonomtricas]


abs(x) [valor absoluto]
sqrt(x) [raz cuadrada]
real(x), imag(x)
conj(x) [conjugado]
round (x) [redondea al entero ms cercano]
sign(x) [signo + o -]
rem(x,y) [residuo]
exp(x) [exponencial]
log (x) [log base natural]
log 10(x) [log base 10]
sort (x) [ordena vector o matriz en forma ascendente]

Funciones
2. Funciones que realizan tareas
Sumatoria
sum (x) [calcula la suma de los elementos de un vector o matriz]
Mximo y mnimo
max(x) [obtiene el elemento de mximo valor del vector]
min (x) [obtiene el elemento de mnimo valor del vector]
Numeros aleatorios
rand(x) [genera una matriz de n*n numeros aleatorios
uniformemente distribuidos]
rand(1) [genera un nmero aleatorio]

3. Funciones de usuario
El usuario puede generar un archivo .m como funcin o como
cdigo fuente
1) Archivo de procedimiento
2) Archivo de funcin de usuario

Ejemplos

Sea A=
[1,2,3;4,5,6;7,8,9]

Determine las siguientes matrices

4 5 6
B = 7 8 9
1 2 3

1 2 3
C = 6 5 4
7 8 9

3 2 1
D = 6 5 4
9 8 7

9 8 7
E = 6 5 4
3 2 1

o D=A(1:3,3:-1:1);
D = 3 2 1
6 5 4
9 8 7

o D=A(:,3:-1:1);
D= 3 2 1
6 5 4
9 8 7

Ejemplo
v1=A(:,1);
v2=A(:,2);
v3=A(:,3);
D(:,3)=v1;
D(:,2)=v2;
D(:,1)=v3;
D=
3
2
6
5
9
8

1
4
7

o D(:,1)=A(:,3);
D(:,2)=A(:,2);
D(:,3)=A(:,1);
D=3
2
1
6
5
4
9
8
7

También podría gustarte