Vous êtes sur la page 1sur 17

% acabamos de crear el archivo clase1b, que contendra

% todo lo ingresado en el command window


%
%
%
% Ingreso de datos
%
% Todo dato ingresado al programa es parte de un arreglo
% de filas y columnas,propiamente dicho es parte de una
% matriz.
%
% La forma a representar el ingreso, es:
%
% >> variable = valor ;
%
% Variable : Es una agrupacion de caracters alfabeticos,
% numericos y algunos especiales(_:)
%
%
%
%
%
%
%Variable : Es una agrupacion de caracters alfabeticos,
% numericos y algunos especiales( _ , - , .).
% La unica restricción es que no debe empezar
% con caracteres diferentes al alfabetico.
%
% Valor : Es un ordenamiento.
%
% ; : Es la sentencia de la intrucción
%
%

%
%
A=5;
M1=[6 8 9;3 0 1;87 12 -3;0 1 5];
M1=[6 8 9;3 10 1;87 12 -3;0 1 5]
M1 =
6 8 9
3 10 1
87 12 -3
0 1 5
1/0
ans =
Inf
0/0
ans =
NaN
C=['hola mundo']
C =
hola mundo
% Definicion: Un arreglo de la forma 1xm ó nx1 recibe
% el nombre de vector fila y vector
% columna respectivamente.
%
% -3
% f=[3 6 8 9] c= 5
% 9
%
f=[3 6 8 9]; c=[-3;5;9];
f
f =
3 6 8 9
c
c =
-3
5
9
g=4>f
g =
1 0 0 0
m=f>=[6 3 7 10]
m =
0 1 1 0
% RECONOCIMIENTO DE LOS ELEMENTOS DE UN ARREGLO
%
% Por sus indices: Sea Anxm ----> A=[aij]nxm
% aij : elemento de A
%
% aij <> A(i,j)
%
A
A =
5
B
??? Undefined function or variable 'B'.
C
C =
hola mundo
M
??? Undefined function or variable 'M'.
M1
M1 =
6 8 9
3 10 1
87 12 -3
0 1 5
m32=M1(3,2)
m32 =
12
m13=M1(1,3)
m13 =
9
% Por su Posición en el arreglo:
%
% A=[ak]nxm k=1,2,...,nxm ak <> A(k)
%
m2=M1(2)
m2 =
3
m11=M1(11)
m11 =
-3
who % lista de variables creadas
Your variables are:
A M1 c g m11 m2
C ans f m m13 m32
whos % lista de variables creadas con caracteristicas
Name Size Bytes Class Attributes
A 1x1 8 double
C 1x10 20 char
M1 4x3 96 double
ans 1x1 8 double
c 3x1 24 double
f 1x4 32 double
g 1x4 4 logical
m 1x4 4 logical
m11 1x1 8 double
m13 1x1 8 double
m2 1x1 8 double
m32 1x1 8 double
iskeyword % lista de palabras reservadas
ans =
'break'
'case'
'catch'
'classdef'
'continue'
'else'
'elseif'
'end'
'for'
'function'
'global'
'if'
'otherwise'
'parfor'
'persistent'
'return'
'switch'
'try'
'while'
% MATRICES ESPECIALES
%
% Son las definidas por el matlab:
%
% zeros : Crea matriz de elementos nulos%
%
% sintaxis: var = zeros(n) ---> cuadrada de orden n
% var =zeros(n,m) ---> rectangular
% var =zeros([n m])
%
Z1=zeros(3)
Z1 =
0 0 0
0 0 0
0 0 0
Z1=zeros(2,6)
Z1 =
0 0 0 0 0 0
0 0 0 0 0 0
Z1=zeros([3,5])
Z1 =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
U=ones(4) % crea matriz de elementos igual a la unidad
U =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
U1=ones(2,6)
U1 =
1 1 1 1 1 1
1 1 1 1 1 1
I=eye(3) % crea matriz identidad
I =
1 0 0
0 1 0
0 0 1
I1=eye(4,8)
I1 =
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
% ------------------
M1
M1 =
6 8 9
3 10 1
87 12 -3
0 1 5
A=[5 6 7; 8 9 2;0 4 5]
A =
5 6 7
8 9 2
0 4 5
Da=diag(A)
Da =
5
9
5
% si aplicamos a un vector generaremos una matriz
% diagonal
f
f =
3 6 8 9
F=diag(f)
F =
3 0 0 0
0 6 0 0
0 0 8 0
0 0 0 9
A
A =
5 6 7
8 9 2
0 4 5
daigA=diag(diag(A))
daigA =
5 0 0
0 9 0
0 0 5
% Caracterisiticas y propiedades de un arreglo
A
A =
5 6 7
8 9 2
0 4 5
ordenA=size(A) % vector que contiene el orden de A
ordenA =
3 3
U=ones(size(A))
U =
1 1 1
1 1 1
1 1 1
longA=length(A) % maimo entre el #f y el #c
longA =
3
% si lo aplicamos a un vector el resultado es numerica-
% mente igual al numero de elementos
f
f =
3 6 8 9
longf=length(f)
longf =
4
A1=sort(A,1) % ordena ascendentemente las columnas de A
A1 =
0 4 2
5 6 5
8 9 7
A2=sort(A,2) % ordena ascendentemente las filas de A
A2 =
5 6 7
2 8 9
0 4 5
A
A =
5 6 7
8 9 2
0 4 5
s1A=sum(A,1) % vector de resultados de sumar cada Columna
s1A =
13 19 14
s2A=sum(A,2) % vector de resultados de sumar cada Columna
s2A =
18
19
9
% Si lo aplicamos a un vector, obtendremos la suma de sus elementos
sf=sum(f)
sf =
26
stA=sum(sum(A,1))
stA =
46
p1A=prod(A,1) % realiza el producto de los elementos de cada columna
p1A =
0 216 70
p2A=prod(A,2) % realiza el producto de los elementos de cada fila
p2A =
210
144
0
% Si lo aplicamos a un vector, obtendremos el producto de sus elementos
prod(prod(A))
ans =
0
pf=prod(f)
pf =
1296
R=rand(3) %genera matriz cuadrada de orden 3 de elementos entre 0 y 1
R =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
R=31*rand(3) %genera matriz cuadrada de orden 3 de elementos entre 0 y 31
R =
29.9115 29.6722 4.3985
4.8860 15.0466 13.0746
30.0884 24.8087 28.3878
R=23+rand(3) %genera matriz cuadrada de orden 3 de elementos entre 23 y 24
R =
23.7922 23.0357 23.6787
23.9595 23.8491 23.7577
23.6557 23.9340 23.7431
X=4+5*rand(1,6)
X =
5.9611 7.2774 4.8559 7.5302 4.1592 5.3846
R1=round(X) % redondea al entero proximo los valores del arreglo
R1 =
6 7 5 8 4 5
R2=floor(X) % obtiene el maximo entero de los elementos del arreglo
R2 =
5 7 4 7 4 5
P=round(47*rand(5,4))
P =
2 45 37 33
5 2 9 35
39 21 23 13
33 18 21 32
15 36 30 31
% OPERADORES
%
% Aritmeticos : /, * , -, +
%
% Algrebaicos: abs(x) , sqrt(x) , exp(x) , log(x) , log10(x) , log2(x) , x^n
%
% Trigonometricos: sin(x) , cos(x) , tan(x) , asin(x) , acos(x) , atan(x)
%
% sinh(x), cosh(x) , tanh(h) , asinh(x) , acos(x) , atanh(x)
%
%
% Sea: x=[0 1 2] ----> y1 = sin(x) = [sin(0) sin(1) sin(2)]
%
% ----> y2 = exp(x) = [exp(0) exp(1) exp(2)]%
%
% ¿y=sin(x)exp(x)? <> ¿y=sin(x)*exp(x)? o no se pordría realizar la operación
%
% Lo que deseamos es tener: y=[sin(0)exp(0) sin(1)exp(1) sin(2)exp(2)]
%
% y lo podremos hacer si es que anteponemos el punto (.) a los operadores: * , /
y ^
%
%
% A este tipo de operacion se le llama operacion punto ó elemento a elemento
%
x=[0 1 2];
y1=sin(x)
y1 =
0 0.8415 0.9093
y2=exp(x)
y2 =
1.0000 2.7183 7.3891
y=sin(x).*exp(x)
y =
0 2.2874 6.7188
y=sin(x)./exp(x)
y =
0 0.3096 0.1231
y=sin(x).^exp(x)
y =
0 0.6255 0.4953
N=[3 5;9 6]
N =
3 5
9 6
K=[0 8 ;1 4]
K =
0 8
1 4
Q=N+K
Q =
3 13
10 10
W=N*K
W =
5 44
6 96
W=N.*K
W =
0 40
9 24
N
N =
3 5
9 6
K
K =
0 8
1 4
% El operador paso (:)
%
% Permite crear vectores de elementos en progresion aritmetica
%
% sintaxis: var = Vini : paso : Vfin paso ~= 1
% var = Vini : Vfin ----> paso = 1
%
v=3:8
v =
3 4 5 6 7 8
v=3:4:18
v =
3 7 11 15
P=2:2:100
P =
Columns 1 through 15
2 4 6 8 10 12 14 16 18 20 22 24 26
28 30
Columns 16 through 30
32 34 36 38 40 42 44 46 48 50 52 54 56
58 60
Columns 31 through 45
62 64 66 68 70 72 74 76 78 80 82 84 86
88 90
Columns 46 through 50
92 94 96 98 100
% AGRUPACION DE MATRICES
%
% HORIZONTAL: - matrices de igual # de filas
% - Seran tratados como elementos de una misma fila
%
% Sea las matrices P y Q ---> R=[P Q] ó R=[Q P]
%
P=[3 4;2 9]; Q=[4;7];
R=[P Q]
R =
3 4 4
2 9 7
R=[Q P]
R =
4 3 4
7 2 9
% VERTICAL : - Matrices de igual # de columnas
% - Seran tratados como elementos de un mismo vetor columna
%
% Se las matrices M y N ------> W = [M;N] ó W = [N;M]
%
M=[3 4 5;0 9 6]; N=[3 1 7];
W=[M;N]
W =
3 4 5
0 9 6
3 1 7
W=[N;M]
W =
3 1 7
3 4 5
0 9 6
demos
echodemo graf2d
Click <a href="matlab:echodemo('graf2d',2)">Next</a> to continue or <a href="mat
lab:home">Stop</a> to end <a href="matlab:edit('graf2d')"
>graf2d.m</a> (1/7)
---------------------------------------------------------------------------
2-D PLOTS
Here are some examples of 2-D line plots in MATLAB(R).
---------------------------------------------------------------------------
echodemo('graf2d',2)
Click <a href="matlab:echodemo('graf2d',3)">Next</a> to continue or <a href="mat
lab:home">Stop</a> to end <a href="matlab:edit('graf2d')"
>graf2d.m</a> (2/7)
---------------------------------------------------------------------------
LINE PLOT OF A CHIRP
---------------------------------------------------------------------------
x=0:0.05:5;
y=sin(x.^2);
plot(x,y);
echodemo('graf2d',3)
Click <a href="matlab:echodemo('graf2d',4)">Next</a> to continue or <a href="mat
lab:home">Stop</a> to end <a href="matlab:edit('graf2d')"
>graf2d.m</a> (3/7)
---------------------------------------------------------------------------
BAR PLOT OF A BELL SHAPED CURVE
---------------------------------------------------------------------------
x = -2.9:0.2:2.9;
bar(x,exp(-x.*x));
echodemo('graf2d',4)
Click <a href="matlab:echodemo('graf2d',5)">Next</a> to continue or <a href="mat
lab:home">Stop</a> to end <a href="matlab:edit('graf2d')"
>graf2d.m</a> (4/7)
---------------------------------------------------------------------------
STAIRSTEP PLOT OF A SINE WAVE
---------------------------------------------------------------------------
x=0:0.25:10;
stairs(x,sin(x));
echodemo('graf2d',5)
Click <a href="matlab:echodemo('graf2d',6)">Next</a> to continue or <a href="mat
lab:home">Stop</a> to end <a href="matlab:edit('graf2d')"
>graf2d.m</a> (5/7)
---------------------------------------------------------------------------
ERRORBAR PLOT
---------------------------------------------------------------------------
x=-2:0.1:2;
y=erf(x);
e = rand(size(x))/10;
errorbar(x,y,e);
echodemo('graf2d',6)
Click <a href="matlab:echodemo('graf2d',7)">Next</a> to continue or <a href="mat
lab:home">Stop</a> to end <a href="matlab:edit('graf2d')"
>graf2d.m</a> (6/7)
---------------------------------------------------------------------------
POLAR PLOT
---------------------------------------------------------------------------
t=0:.01:2*pi;
polar(t,abs(sin(2*t).*cos(2*t)));
echodemo('graf2d',7)
End of demo. Click <a href="matlab:echodemo('graf2d',1)">Replay</a> to see it ag
ain <a href="matlab:edit('graf2d')">graf2d.m</a> (7/7)
---------------------------------------------------------------------------
STEM PLOT
---------------------------------------------------------------------------
x = 0:0.1:4;
y = sin(x.^2).*exp(-x);
stem(x,y)
indexhelper('c:\program files\matlab\r2008a\toolbox\matlab\demos','hndlgraf','',
'MATLAB','Line Plotting','')
hndlgraf
open 'matlab\demos\hndlgraf.m'
clc % LIMPIA PANTALLA
clc % LIMPIA PANTALLA
% ------------------
%
% INTRODUCCION A LA PROGRAMACION
%
% Comandos de Entrada y Salida de datos.
%
% input : Extrae lo digitado por el teclado bajo previo mensaje y lo direcciona
a una variable
%
% sintaxis: var = input('mensaje') ----> Ingreso de datos como en el
command
%
% var = input('mensaje','s') --> Lo ingresado será netamente d
e tipo char
%
V=input('Ingresa un numero:');
Ingresa un numero:57
V
V =
57
V1=input('Nombre:');
Nombre:jorge
??? Error using ==> input
Undefined function or variable 'jorge'.
Nombre:'jorge'
V1
V1 =
jorge
V2=input('Nombre:','s');
Nombre:Hider
V2
V2 =
Hider
% disp : Muestra el contenido de una variable
%
% sintaxis: disp(var)
%
disp(V)
57
disp(V1)
jorge
disp(V2)
Hider
%
% fprintf : Salida con formato
%
% sintaxis: fprintf('...mensaje...%Nc.Ndf...\n',var)
%
k=3;
fprintf('el valor obtenido es %2i\n',k)
el valor obtenido es 3
q=3.657123;
fprintf('el valor obtenido es %7.6f\n',q)
el valor obtenido es 3.657123
V2
V2 =
Hider
fprintf('Tu nombre es %6k\n',V2)
Tu nombre es
fprintf('Tu nombre es %6c\n',V2)
Tu nombre es H
Tu nombre es i
Tu nombre es d
Tu nombre es e
Tu nombre es r
fprintf('Tu nombre es %6c\n',V2')
Tu nombre es H
Tu nombre es i
Tu nombre es d
Tu nombre es e
Tu nombre es r
fprintf('Tu nombre es %5c\n',V2')
Tu nombre es H
Tu nombre es i
Tu nombre es d
Tu nombre es e
Tu nombre es r
fprintf('Tu nombre es %1c%1c%1c%1c%1c\n',V2(1),V2(2),V2(3),V2(4),V2(5)')
Tu nombre es Hider
%
% M-FILES : Son archivos de extension ".m" propios del matlab que contienen line
as de
% codigo. Su edición se realiza en el editor debugger del programa que e
s invocado
% con el comando : >> edit
%
% Se clasifican en 2 tipos:
%
% Funcion : Archivo de cabecera definida para su ejecución, necesita dat
os de entrada
% para mostrar un resultado de salida.
%
% x ------> funcion -------> funcion(x)
%
% sintaxis: ----------------------------------------------------------
% | function [S1,S2,...,Sn]=nombre_funcion(E1,E2,...,Em)
% | % comentarios 1
% | <sentencias 1>;
% | % comentarios 2
% | <sentencias 2>;
% | .
% | .
% | <sentencias N>;
% ----------------------------------------------------------
-
% Guardar como: nombre_funcio
n
%
% Ejemplo:
%
edit % invocamos al editor
Q=fcn(5,8)
Q =
37.0521
[c,A,B]=hypo(30,40)
c =
50

A =
0.6435

B =
0.9273
[c,A,B]=hypo(30,40)
c =
50

A =
36.8699

B =
53.1301
% Podemos generar funciones en linea que representen expresiones matematicas de
% n variables, de la siguiente manera:
%
% >> var = inline('expresion matematica de n variables')
%
g=inline('sqrt(x)+x*exp(-x)')
g =
Inline function:
g(x) = sqrt(x)+x*exp(-x)
a=g(5)
a =
2.2698
h=inline('sin(y)*x+cos(y)*abs(x)')
h =
Inline function:
h(x,y) = sin(y)*x+cos(y)*abs(x)
b=h(3,8)
b =
2.5316
% -----------------------
% Comando de importacion de datos desde el excel (2007,2003)
%
% var = xlsread('name_file','Celda_Ini:Celda_Fin','#hoja')%
%
% El archivo a utilizar debe esatr en la misma carpeta del matlab
%
Z=xlsread('datas','C4:D8','1')
??? Error using ==> <a href="matlab: opentoline('c:\program files\matlab\r2008a\
toolbox\matlab\iofun\xlsread.m',193,0)">xlsread at 193</a>
XLSREAD unable to open file datas.
File C:\Users\a70\Documents\MATLAB\datas.xls not found.
Z=xlsread('datas.xlsx','C4:D8','1')
Z =
5 12
6 2
7 3
8 6
9 7
diary off

Vous aimerez peut-être aussi