Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fichero Parte 2
Fichero Parte 2
barh(x,y)
>> yr =[1988:1994];
Gráfico de escaleras >> sle=[8 12 20 22 18 24
27];
Formato de la función: >> stairs(yr,sle)
stairs(x,y)
Formato de la
función:
Matlab dibuja
Pie(x,y) secciones de diferente
color. Las letras
(clases) se añadieron
urtilizando el editor
gráfico
Histogramas
• Los histogramas son gráficos que muestran la
distribución de una serie de datos. Para ello el
rango completo de los datos se divide en
subrangos menores denominados intervalos de
modo que el histograma muestra cuántos puntos
hay en cada intervalo
• Sintaxis
hist(y)
En este caso Matlab divide los datos por defecto en
10 intervalos igualmente espaciados.
• Ejemplo: los siguientes
datos representa la
temperatura máxima
diaria (°F) de
WasshingtonDC
durante el mes de abril
de 2002:
• >> y=[58 73 73 53 50
48 56 73 73 66 69 63
74 82 84 91 93 89 91
80 59 69 56 64 63 66
64 74 63 69];
• >> hist(y)
Histograma con intervalos definidos
• Sintaxis
hist(y, número_intervalos) o bien hist(y,x)
Ejemplo: mostrar los datos anteriores de
temperatura en 3 intervalos
>> hist(y,3)
• El número y ancho de cada intervalo se puede
especificar también utilizando un vector x que
contiene los elementos que definen los centros
de los intervalos
• >> x=[45:10:95]
x=
45 55 65 75 85 95
>> hist(y,x)
PROGRAMACION EN MATLAB
• Estructuras de control de flujo
Matlab como lenguaje de programacion dispone
de sentencias para realizar bifurcaciones
Las bifurcaciones.- permiten realizar una u otra
operación según se cumpla o no una
determinada condición, a continuación veremos
las tres posibles formas de bifurcación
Sentencia if
• En su forma más simple, se escribe de la siguiente
manera:
if condición Falso
sentencias
end
Ejemplo
>> x=2;
>> if x<5
fprintf('el número es menor que 5\n')
end
Forma completa de la sentencia if
if condición
bloque 1
else Falsa
Condicion
bloque 2
end Verdadera
Ejemplo
>> x=2;
Bloque 1
>> if x<5
fprintf('el número es menor que 5\n')
end
el número es menor que 5
>> x=4;
>> if rem(x,2)==0
fprintf('el número es par\n')
else
fprintf('el número es impar\n')
end
Bifurcación múltiple
• En la bifurcación múltiple pueden concatenarse
varias condiciones if com se desee.
If condición1
bloque 1
Elseif condición2
bloque2
Else % cuando no se cumplen
%las condiciones 1 y 2
bloque
Los bucles
• Los bucles permiten repetir las misma o
análogas operaciones sobre datos distintos
• Sentencia while
while condición Condición Sentencias
sentencias Falsa
Verdadera
end
Por ejemplo, si escribimos en un
fichero:
x=1
while x<=11
x=2*x
End
disp([x,y]);
end
Por ejemplo si queremos calcular el valor
de k2, cuando k = 4,5,6, escribiríamos:
>> for k=[4,5,6]
k^2
end
• la salida sería
ans =
16
ans =
25
ans =
36
Bucles anidados
for i = 1:m
for j=1:n
sentencias( i , j)
end
end
Sentencia switch
• La sentencia switch realiza una función análoga a un
conjunto de if …elseif concatenados, su forma general
es la siguiente
Switch switch_expresión
Case exp_1
bloque 1
Case exp_2
bloque 2
Case(exp_3, exp_4, exp_5…)
…
Othewrwie, % opción por defecto
Sentencia continue
• La sentencia continue hace que se pase
inmediatamente a la siguiente iteración del
bucle for o while, saltando todas las
sentencias que hay entre el continue y el fin
del bucle en la iteración actual
Sentecias try…catch…end
• Estas sentencias permiten gestionar los
errores que se pueden producir en tiempo de
ejecución. Su forma es la siguiente
try
sentencias1
catch
sentencias2
end
Curvas de ajuste
• Se utiliza la funcion polyfit
Sintaxis
p=polyfit(x,y,n)
n=4
n=3
n=5 n=6
Otras curvas de ajustes
Función Forma de uso del comando polyfit
potencia 𝑦 = 𝑏𝑥 𝑚 p=polyfit(log(x),log(y),1)
exponencial 𝑦 = 𝑏𝑒 𝑚𝑥 𝑜 𝑏𝑖𝑒𝑛 p=polyfit(x, log(y),1) o bien
𝑦 = 𝑏10𝑚𝑥 p=polyfit(x,log10(y),1)
logarítmica 𝑦 = 𝑚𝑙𝑛 𝑥 + 𝑏 𝑜 𝑏𝑖𝑒𝑛 p=polyfit(log(x)y,1) o bien
𝑦 = 𝑚𝑙𝑜𝑔 𝑥 + 𝑏 p=polyfit(log10(x),y,1)
recíproca 1 p=polyfit(x,1./y, 1)
𝑦=
𝑚𝑥 + 𝑏
• Para un conjunto de datos, es posible predecir,
hasta cierto punto , cuál de las funciones
proporcionará un buen ajuste. Para ello hay
que representar los datos utilizando diferentes
combinaciones de ejes lineales y logarítmicos.
Si en un uno de los gráficos los datos parecen
ajustarse a una línea recta, entonces la
función correspondiente puede proporcionar
un buen ajuste según la siguiente lista:
Eje x Eje y Función
lineal lineal Lineal 𝑦 = 𝑚𝑥 + 𝑏
Logarítmica Logarítmica Potencia 𝑦 = 𝑏𝑥 𝑚
lineal lineal 1
Recíproca 𝑦 = 𝑚𝑥+𝑏
plot(1/y)
>> t=0:0.5:5;
>> w=[6 4.83 3.70 3.15 2.41 1.83 1.49 1.21 0.96 0.73
0.64];
>> plot(t,w,'o')
• Para la reciproca:
>> t=0:0.5:5;
>> w=1./[6 4.83 3.70 3.15 2.41 1.83 1.49 1.21 0.96
0.73 0.64];
>> plot(t,w,'o')
𝑦 = 𝑏𝑒 𝑚𝑥
• m=
-0.4580
• b=
5.9889
Función:
w= 5.9889𝑒 −0.4580𝑡
Ajuste de curva por mínimos cuadrados
Guardar con el nombre: correl
>> correl
ingrese los valores de xi:
[4 5 2 5 6 7 1 8 3 7];
ingreso los valores de yi:
[5 6 4 5 7 10 3 11 4 9 ];