Académique Documents
Professionnel Documents
Culture Documents
ICM ESPOL
lrodrig@espol.edu.ec
ICM ESPOL
INTRODUCCIN
Objetivo
Proporcionar a los interesados los conocimientos bsicos para usar el entorno de MATLAB y las
facilidades para su programacin.
Metodologa
Mediante explicaciones basadas en los ejemplos incluidos en este manual, el interesado puede
adquirir en forma progresiva y autnoma los conocimientos bsicos para utilizar MATLAB.
Para progresar rpidamente, puede abrir dos ventanas en la pantalla de su computador, una con el
programa MATLAB y otra con este manual, entonces puede escribir y probar cada ejemplo en la
ventana de comandos de MATLAB.
El programa MATLAB
Caractersticas de MATLAB
Operacin
Simple y eficiente
Interactivo y programable
Command History.
Workspace.
Se sugiere al inicio dejar activa nicamente la ventana de comandos, cerrando las otras ventanas.
Para restaurarlas use la opcin view de la barra de herramientas de MATLAB.
El smbolo
>> indica que el programa est listo para recibir sus instrucciones (comandos)
2
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
y = cos(2 ) + 5 + 27
Ventana de comandos
Obtendr inmediatamente la respuesta
de MATLAB
y=
131.2361
Se escribe el comando
Se obtiene la respuesta
y = cos(2*pi)+sqrt(5)+2^7
En esta seccin se revisa el uso de los comandos principales de MATLAB comenzado con los
ms elementales. Debe escribir cada ejemplo y presionar la tecla de ingreso.
En la mayora de los ejemplos no se han escrito los resultados que produce MATLAB para
evitar que este tutorial sea innecesariamente extenso. Los resultados los puede observar al
probar cada comando.
>>
exp(2)/3
calcule e
ans =
2.4630
respuesta mostrada por MATLAB, ans significa answer
>> x = exp(2)/3
calcule e
x=
2.4630
respuesta mostrada por MATLAB
>>
y = exp(2)/3;
el ; evita que el resultado se muestre inmediatamente
>> y
Escribir la variable para conocer su contenido
y=
2.4630
respuesta mostrada por MATLAB
>> u = 2*x+1
puede usar el contenido de las variables
u=
5.9260
respuesta mostrada por MATLAB
>> x = x+1
puede modificar el contenido de las variables
x=
3.4630
respuesta mostrada por MATLAB
3
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
Reutilizacin de comandos
y=
comandos en una misma lnea
5.9260
respuestas mostradas por MATLAB
z=
7.3891
MATLAB ofrece una descripcin detallada del uso de cada comando y cada funcin digitando help
y el nombre del comando.
Esta informacin
SQRT(X) is the square root of the elements of X. Complex
aparece en pantalla
results are produced if X is not positive.
>> help
despliega temas de ayuda
Adicionalmente, presionando el cono Help usted puede entrar al sistema de ayuda de MATLAB
organizado por contenido, ndice, bsqueda y demostraciones.
Digite cada uno de los siguientes ejemplos en la ventana de comandos. Al final de cada ejemplo se
ha escrito con letra azul una breve explicacin para faciltar la comprensin de cada comando y el
resultado que se obtendr.
a = [2, 3; 5, -2];
1) Para resolver el sistema:
b = [4; 6];
x = inv(a)*b;
2x + 3y = 4
5x 2y = 6
= 1.3684 0.4211
2)
Integrar la funcin f(x) = x sen(x), evaluar el integral, derivar
>> f = 'x*sin(x)';
>> h = int(f)
Integrar analticamente
h = sin(x)-x*cos(x)
r = 1.7416
>> g = diff(f)
Primera derivada de f(x)
g = sin(x)+x*cos(x)
3)
Para resolver la ecuacin cbica 5x3 + 2x2 - 3x + 1 = 0;
>> x = roots(a)
Obtener las tres races
x = -1.1060
Una raz real y dos races complejas
0.3530 + 0.2371i
0.3530 - 0.2371i
4
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
t = 1+x+1/2*x^2+1/6*x^3+1/24*x^4
syms x
y = x^3- 8;
t = factor(y)
Expandir ex con 5 trminos de la serie de
Taylor
t = (x-2)*(x^2+2*x+4)
CLCULO NUMRICO
x=
7.38905609893065
>> format bankformato para 2 decimales
>> x
x=
7.39
>> format rat
>> x
x=
2431/329
notacin cientfica
>> x
x=
7.3891e+000
5
Ing. Luis Rodrguez Ojeda, MSc.
>> format +
ICM ESPOL
muestra signos +, , -
ans =
1.4142135623730950488
Operadores aritmticos
+-*/\^()
^ se usa para potenciacin
/
es divisin a la derecha
\
es divisin a la izquierda (para matrices)
>> help ops
listar los operadores y caracteres especiales
Funciones matemticas
Trigonometric.
sin
- Sine.
sinh
- Hyperbolic sine.
asin
- Inverse sine.
...
Operadores relacionales y lgicos
== representa al smbolo =
~= representa al smbolo
t=sin(2) < 0.8 & log(2) > 0.5 el resultado es un valor lgico (0 o 1)
2/0
Inf
es el smbolo
>> 0/0
NaN
>> pi
contiene la constante
>> realmax
representa al smbolo 1
>> x = 3+2i
>> t = 2*x + 3 - 5i
t=
9.0000 - 1.0000i
>> y =exp(x)
y=
-8.3585 +18.2637i
>> y = log(-2)
y=
0.6931 + 3.1416i
funciones para nmeros complejos conj, real, imag, abs, angle, complex
>> z=3+2i;
>> t=conj(z)
obtener el conjugado
6
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
VARIABLES
>> x=[2 7 4]
>> x=2+3i
x es de tipo complejo
>> x
>> whos x
>> disp(x)
la puede usar
lista de comandos
>> exist('c')
Comandos especiales
>> clock
>> clock
CADENAS DE CARACTERES
>> x='Matematica';
concatenacin de cadenas
7
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
VECTORES Y MATRICES
x=[3 -1 4 7 -2]
x(2)=5
3
4
5
y=x(2: 4) y =
-1 4 7
t=[3; -1; 4; 5] t =
3 -1 4 5
y=[2, 5, 4, ...
t=x'
7, -3]
x=[3, 5, 2, 0]
y=2*x
y = [3, x, -6, 7] y =
y=exp(x)
3
3
a = [6 3 ; 5 1]
-1
4
a=
7
>> y = 2:1:10
1
a(2,1)
y=
a=[2, -3; 5, 1; 0, 7]
x=[7, 3]
a=[x; x]
b=[5, 6]
c=[a; b]
d=[a, b']
x=c(1, :)
x=c(: ,1)
c(:,2)=[ ]
Matrices especiales
-2 -6 7
a=ones(3)
a=ones(3,5)
a=zeros(4,5)
8 9 10
a=eye(5)
a=magic(4)
a=hilb(5)
matriz 3x3 iniciada con unos matriz 3x5 iniciada con unos
matriz 4x5 iniciada con ceros matriz identidad 5x5
cuadrado mgico 4x4
8
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
x=[2, 5, 3, 7];
un vector
a=vander(x)
a=[ ]
5
0
0
0
3
0
0
0
9
>> c=eye(3);
En la ventana workspace puede activar el editor de arreglos, similar a una hoja electrnica,
con el cual puede modificar con facilidad las dimensiones y el contenido de vectores y
matrices.
>> t=x(p)
>> t=a(p, q)
t contiene las filas 1 y 3, columnas 2 y 3 de a
6.5
Operaciones con matrices
a=
3
2
4
b=[8, 6; 5, 7];
>> c=a'
transpuesta de a
c=
3
1
2
4
>> c=2*a
6
4
2
8
>> c=a+b
suma de matrices
c=
11
8
6
11
>> c=a*b
producto de matrices
c=
34
32
28
34
>> c=a.*b
>> c=a^2
9
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
>> c=a~=b
>> [n,m]=size(a)
>> n
nmero de filas: 3
>> m
nmero de columnas: 3
>> any(a)
>> t=find(x)
>> t=dot(x, x)
>> k=rank(a)
rango de a
>> t=trace(a)
traza de a
>> d=det(a)
determinante de a
>> b=inv(a)
inversa de a
>> h=norm(a, 1)
>> c=cond(a)
>> t=diag(a)
>> t=diag(x)
>> t=rot90(a)
>> t=fliplr(a)
>> t=tril(a)
>> t=triu(a)
>> [t,s]=lu(a)
>> t
>> s
matriz de covarianza de a
>> e=eig(a)
valores propios de a
>> p=poly(a)
polinomio caracterstico de a
>> v=max(a)
el mayor valor por columnas de la matriz a
v=
5
7
>> t=sum(x)
suma de componentes
>> v=sum(a)
suma de componentes por columnas
10
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
>> t=prod(x)
producto escalar
>> v=prod(a)
>> t=cumsum(x)
suma acumulada
>> v=cumsum(a)
>> t=cumprod(x)
producto acumulado
>> v=cumprod(a)
>> t=mean(x)
media aritmtica
>> v=mean(a)
>> v=median(a)
>> t=std(x)
desviacin estndar
>> v=std(a)
>> t=sort(x)
>> v=sort(a)
ordenamiento ascendente
>> t=dsort(x)
ordenamiento descendente
>> bar(x)
diagrama de barras
>> bar(a)
>> hist(x)
histograma
>> stairs(x)
>> pie(x)
>> pie3(x)
pastel en relieve
>> x=rand
>> a=rand(5)
>> d=fix(rand*10)+1
entre 1 y 10
11
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
8
INGRESO DE PUNTOS DESDE LA PANTALLA CON EL MOUSE
>> ezplot('sin(x)');
ejemplo para tomar puntos desde un grfico
>> grid on
>> [x,y]=ginput(5);
ingrese 5 puntos desde la pantalla .
>> x
observe las abscisas
>> y
y las ordenadas ingresadas
POLINOMIOS
>> y=polyval(a,4)
evaluacin del polinomio con un valor
>> x=roots(a)
obtenga un vector con races (reales y complejas)
>> p=poly(x)
producto de todas las races
>> c=conv(a,b)
producto de polinomios
>> c
cociente
>> r
residuo
>> z=3.2;
valor para interpolar, z puede ser un vector
>> u=interp1(x,y,z,linear)
resultado de la interpolacin lineal
>> u=spline(x,y,z)
interpolacin con un trazador cbico
>> a
el vector a contiene los coeficientes
10
MANEJO SIMBLICO
>> syms x;
definicin de variable tipo simblico
>> 2*x+3*x
suma algebraica
>> t=inv(a)
su inversa tambin contiene smbolos
>> f=3*x^2+5*x;
definicin simblica de una funcin
>> t=factor(f)
factorar la expresin
>> s=expand(t)
expandirla
>> e=taylor(exp(x))
expansin con la serie de Taylor
>> limit(sin(x)/x)
obtencon de lmites de funciones
>> syms y;
>> f=2*x^3+3*y^2
una funcin de dos variables
>> g=diff(f,x)
derivada parcial
>> u=int(f,x)
integrar en x
>> f='2*t+1';
definicin de una funcin en forma literal
>> t=3;
>> y=eval(f)
evaluacin de la funcin
11
FUNCIONES ESPECIALES PARA MEDIR EFICIENCIA DE ALGORITMOS
>> tic;
Inicia cronmetro
>> toc;
muestra el tiempo transcurrido
12
Ing. Luis Rodrguez Ojeda, MSc.
12
ICM ESPOL
GRAFICACIN
Grfico de funciones de
hold off
clf
f='exp(x)-3*x';
figure(1)
ezplot(f)
ezplot(f, [0, 2])
subplot(2,3,1)
grid on
clf(1)
x=[0: 0.1: 2*pi];
clf
y=sin(x);
x=[0:0.1:10};
plot(x,y);
y=exp(x);
plot(x,y,'o')
semilogx(x,y)
plot(x,y,'r')
semilogy(x,y)
plot(x,y,'og')
loglog(x,y)
grid on
grid on
title('seno de x')
a=0:0.01:2*pi;
gtext('seno de x')
r=sin(3*a);
xlabel('X')
polar(a, r);
ylabel('Y')
una variable
c=[0, 2*pi, -2, 2]
axis(c)
hold on
'rosa' de 3 ptalos
13
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
>> ezplot(f,[-1,5,0,6])
Colocar cuadrculas
>> g=y-2*(x-3)^2-3;
>> ezplot(g,[-1,5,0,6])
>> ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',[0,pi]);
Editor de grficos
Despus que el grfico ha sido realizado puede utilizar las facilidades del editor de grficos para
cambiar las propiedades de las figuras: color, tipo, etc. Tambin puede realizar estadsticas bsicas y
ajuste de curvas. Adicionalmente puede insertar directamente en el grfico texto, lneas, flechas,
rtulos, etc.
Para habilitar el editor de grficos seleccione el botn tools en la barra de opciones del grfico y
luego elija edit plot . Para realizar estadsticas bsicas y ajuste de curvas, elija respectivamente
Data Statistics y Basic Fitting
>> grid on
poner cuadrculas
>> hold on
>> a=polyfit(x,y,4);
>> a
14
Ing. Luis Rodrguez Ojeda, MSc.
>> p=polyval(a,z);
>> plot(z,p)
>> b=polyfit(x,y,1);
>> b
ICM ESPOL
>> q=polyval(b,t);
>> s=spline(x,y,z);
El siguiente ejemplo es una referencia para graficar funciones de dos variables Graficar z =
x2 y2, -2x2, -3y3
>> x=-2:0.1:2;
dominio de la funcin para el ejemplo
>> y=-3:0.1:3;
>> [u,v]=meshgrid(x,y);
u, v: matrices q' contienen cada par ordenado x,y
>> z=u.^2 - v.^2;
puntos de la funcin z = x2 y2
>> mesh(x, y, z)
grfico de malla
rotulacin de eje x
15
Ing. Luis Rodrguez Ojeda, MSc.
-1.0000 1.8284
MATLAB CONCEPTOS BSICOS Y PROGRAMACIN
>> ylabel('Y')
ICM ESPOL
>> colormap copper; color del grfico; tambin: gray, jet, pink
>> shading interp;
Grfico final
Adicionalmente puede usar las opciones del editor de grficos para editar la figura, rotar,
cambiar la perspectiva, insertar ttulos, etc.
Elija en la barra de opciones del grfico el botn File y luego la opcin Export
1.6385
f='exp(x)-pi*x';
x=solve(f)
x=eval(x)
=
0.5538
1.6385
x=fzero(f,2)
resultado de MATLAB
1.6385
x=fzero(f,[1,2])
Resolver el sistema:
+ ab b = 3
4b = 5
16
Ing. Luis Rodrguez Ojeda, MSc.
-3.8284
>> b=eval(b)
resultados entregados por MATLAB
b=
-1.0000
-0.4142
2.4142
13.3
Integracin
>> f = 'exp(x)-pi*x';
>> v = int(f)
integracin analtica
v=
ICM ESPOL
exp(x)-1/2*pi*x^2
r=
0.1059
>> g = 'x*exp(-x)';
r=
13.4
Diferenciacin
>> u = diff(f)
diferenciacin con una variable
u=
exp(x)-pi
>> f = 'x*exp(x+y)';
>> u = diff(f,'x')
diferenciacin con dos variables
u=
exp(x+y)+x*exp(x+y)
y=dsolve('Dy=(x-y)/x','y(0)=0','x')
ezplot(y,0,2);
grid on
y=dsolve('D2y+Dy+2*y-x-3=0','y(0)=0,Dy(0)=1','x')
y=
Solucin calculada
5/4+1/2*x-5/4*exp(-1/2*x)*cos(1/2*7^(1/2)*x)-1/28*7^(1/2)*exp(-1/2*x)*sin(1/2*7^(1/2)*x)
17
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
y=dsolve('D2y-Dy+2*y-5*x-3=0','y(0)=0,y(1)=2','x');
Optimizacin
f=2*sin(x)*exp(x);
[x,y]=fminbnd(f,-2,2)
=
-0.7854
=
-0.6448
ezplot(f,-2,2), grid on
hold on
plot(x,y,o);
18
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
Ejercicio. Escribir las instrucciones necesarias para encontrar el valor del radio x de un cilindro de
1000 cc de capacidad, de tal manera que el valor del rea sea el mnimo:
Primer enfoque:
f='2*pi*x*1000/(pi*x^2)+2*pi*x^2';
ezplot(f,0,10), grid on
x=fminbnd(f,4,6)
=
5.4193
>> area=eval(f) area = 553.5810
Segundo enfoque
g=diff(f)
g = -2000/x^2+4*pi*x
x=fzero(char(g),[4,6])
x = 5.4193
x=solve(g)
x=
5/pi*4^(1/3)*(pi^2)^(1/3)]
19
Ing. Luis Rodrguez Ojeda, MSc.
14
ICM ESPOL
PROGRAMACIN EN MATLAB
Para usar el componente programable de MATLAB debe abrir una ventana de edicin
presionando el botn New M-File en la barra de opciones de MATLAB:.
Ejemplo. Escribir y probar un programa en MATLAB para obtener la suma de los dos valores
mas altos de tres nmeros ingresados como datos.
4) Activar el programa,
edicin
para almacenar el
2) Escribir el programa en
la ventana de edicin
Archivos de comandos
En la ventana de edicin Escribir los comandos y almacnelos en un archivo con algn nombre.
Puede incluir comentarios con el smbolo %
Ejemplo. Escribir en la ventana de edicin las instrucciones para graficar sen(x) entre 0 y 2
x=0:0.1:2*pi;
y=sin(x);
plot(x,y); grid on
20
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
variable=input(mensaje);
Ej.
disp(valor)
Ej.
x=exp(2);
disp(x);
Ej.
x=2^7;
y=sqrt(pi);
disp([x, y]);
Ej.
x=2^7;
y=sqrt(pi);
fprintf('%d %f',x,y);
Ej.
x=2^7;
y=sqrt(pi);
fprintf('%5d %8.3f',x,y);
if condicin
if condicin
instrucciones
instrucciones
end
else
instrucciones
end
Ej. Escribir y almacenar el siguiente programa para mostrar el mayor entre dos datos:
m=a; else
>> prueba
21
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
3,
x=1
y=
+ 1,
x = 2,3,4
2x
otro x
e ,
case 1, y=3;
otherwise y=exp(x);
end disp(y);
prueba2
end
prueba3
end
end disp(s);
22
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
prueba4
Ej. Leer n datos. Calcular y mostrar la raz cuadrada. Pero si entra un valor negativo, mostrar un
mensaje y terminar
disp(Error);
break; else
r=sqrt(x);
disp([x,r]); end
end
Funciones en MATLAB
El mecanismo usual para trasmitir datos a las funciones es mediante una lista de variables que se
denominan parmetros. Sin embargo, a diferencia de los programas, las variables que se usan
dentro de una funcin, no estn disponibles fuera de ella, a menos que se use una declaracin
explcita y que se ver mas adelante.
variable
parmetros
nombre
identifica a la funcin
El uso de una funcin es similar al uso de las funciones comunes de MATLAB. El nombre debe
coincidir con el nombre asignado, aunque los parmetros pueden tener nombres diferentes, pero su
uso debe ser coherente.
23
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
Ej. Escribir una funcin para elegir el mayor entre dos nmeros
m = b; end
a = exp(pi);
b = pi^exp(1);
m = mayor(a, b)
23.1407
x = exp(pi);
y = pi^exp(1);
t = mayor(x, y)
23.1407
Ej. Escribir una funcin que reciba un nmero y determine si es un nmero primo. El
resultado que entrega la funcin ser 1 o 0 segn corresponda;
function p = primo( x ) c = 0;
for d = 1: x
if mod(x, d) == 0 c = c + 1;
end end
if c > 2 p = 0;
else
p = 1; end
x = 25;
p = primo(x)
0
x = 43;
p = primo(x)
Escribir en una nueva ventana de edicin un programa que use la funcin primo para
encontrar todos los nmeros primos menores a 20:
24
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
for x = 1: 20
if primo(x) == 1 disp(x);
end end
>> prueba
2
3
5
7
11
13
17
19
Ej. Escribir una funcin que entregue el rea y el volumen de un cilindro dados su radio
y su altura (h)
Use la funcin para calcular el rea y el volumen de una lata de cilndrica que tiene un
dimetro de 10cm y una altura de 12cm
r = 5;
h = 12;
[a, v] = cilindro(r,h);
a
v
MATLAB mostrar los resultados almacenados en a y en v
x = 2*c;
a = 3;
b = 5;
t = fn(a, b)
t = 16
>> c
25
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
x = 2*c; disp(x);
>> prueba
16
>> c
c=8
Es posible hacer que las variables de una funcin sean visibles fuera de su mbito,
a = 3;
b = 5;
t = fn(a, b)
t = 16
>> c
c=8
x=1; end
end
Una funcin puede no entregar resultados ni usar parmetros Ej. Escribir una funcin que
imprima un men
>> menu
26
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
Ej. Escribir una funcin que reciba un vector y entregue el promedio del valor de sus
elementos.
s=0;
for i=1:n s=s+x(i); end p=s/n;
Para usar esta funcin debe definir el vector antes de llamar a la funcin. La funcin
determina la longitud del vector con la funcin length
x=[2 7 3 5 4 7 6];
t=prom(x)
t = 4.8571
Ej. Escribir una funcin que entregue un vector de longitud n conteniendo nmeros aleatorios
enteros con valor entre 1 y 6:
d(i)=fix(rand*6+1); end
>> t=dados(5)
Ej. Escribir una funcin que reciba dos vectores A, B y entregue un tercer vector que
contenga los elementos que estn en ambos vectores:
m=length(B);
k=1;
for i=1:n for j=1:m
end
Para usar esta funcin debe definir los vectores que entran. Recuerde que pueden tener
nombres diferentes a los que usa la funcin:
A=[2 7 5 4 3 8];
B=[7 1 3 9 0];
C=interseccion(A,B)
C= 7 3
27
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
14.3.11 Si la salida de una funcin es antes del final, puede usar el comando return Ej.
Escribir una funcin para determinar si los elementos de un vector estn en orden creciente:
Ej. Escribir una funcin para eliminar espacios intermedios de una frase:
x='';
for i=1:n
if f(i) ~= ' '
x = strcat(x, f(i));
end end
Ahora escriba un programa que lea una frase, use la funcin compactar para eliminar los
espacios intermedios, y luego muestre un mensaje en caso de que sea simtrica, es decir, si
los caracteres opuestos son iguales
end end
if sim == 1
disp('la frase es simetrica'); else
Probamos este programa suponiendo que lo hemos almacenado con el nombre prueba:
>> prueba
la frase es simetrica
(resultado de MATLAB)
28
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
Ej. Use la siguiente definicin recursiva para calcular el mximo comn divisor entre dos
nmeros enteros. Escribir una funcin con esta definicin
mcd(a b,b),
a>b
b>a
a=b
a,
end
end
Use la funcin:
x=mcd(36, 48)
if d<0
error('valor incorrecto'); end
Ej. Escribir y almacenar una funcin para obtener el polinomio de interpolacin en forma
analtica con la frmula de Lagrange:
p (x) =
n
L (x)
i=0
x-xj
Li (x) =
, i = 0, 1, . . . , n
j=0,j i
x -x
i
syms t;
n = length(x); for i = 1:n
L=1;
for j = 1:n if i ~= j
L = L*(t-x(j))/(x(i)-x(j)); end
end
p = p+L*y(i);
p = simplify(p); end
x=[3, 5, 6, 8, 9];
29
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
p=Lagrange(x,y)
p=
61/3600*t^4-629/1800*t^3+9019/3600*t^2-4157/600*t+49/5
ezplot(p, 3, 9)
Una mirada a algunas funciones del mdulo de Estadstica de MALAB normpdf: distribucin de
probabilidad normal
>> x=4:0.1:10;
>> plot(x,p)
Grfico
Ej. Calcule la probabilidad que una variable aleatoria distribuida normalmente, con media 10 y
desviacin estndar 2, tenga un valor entre 11.4 y 13.5
=
0.2019
30
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
Ej. Encuentre un intervalo de 99% de probabilidad para una variable con distribucin normal con
media 2 y desviacin estndar 1
p=[0.005 0.995];
x=norminv(p,2,0.5)
x=
0.7121 3.2879
Ej. Crear una estructura con el nombre e con tres componentes x, r, t y asignar valores
e.x = 58.3;
e.r = 'ABCD';
e.t = [3.5 4.2 7.8];
e
e=
x: 58.3000
y su contenido
r: 'ABCD'
t: [3.5000 4.2000 7.8000]
='Libro';
art(1).precio=5.2;
art(2).cod =432;
>> art(2).id
='Regla';
>> art(2).precio=1.4;
>> t = art(1)
t=
cod: 235
id: 'Libro'
precio: 5.2000
>> art Estructuracin de la variable art
art =
precio
Ej. Escribir un programa para almacenar una lista de artculos con tres componentes
save art
Ejecutar el programa e ingresar los datos. Los datos se guardarn en el archivo art
>> crear
31
Ing. Luis Rodrguez Ojeda, MSc.
ICM ESPOL
Ej. Escribir un segundo programa para encontrar en el archivo de datos art, los artculos cuyo
precio es menor a 5
load art
end
end
>> buscar
15
En Excel cree la tabla y almacnela con formato tipo texto delimitado con tabulaciones. Elija algn
nombre. Ejemplo T.txt
load T.txt;
A=T
En MATLAB cree una matriz y almacnela con el comando save con el siguiente formato. Elija los
nombres. Ejemplo
16
BIBLIOGRAFA
32
Ing. Luis Rodrguez Ojeda, MSc.