Академический Документы
Профессиональный Документы
Культура Документы
RESOLUCIÓN DE PROBLEMAS
1. La temperatura máxima diaria (en °F) en Nueva York y Anchorage, Alaska, durante el mes
de enero de 2001 son las mostradas en la siguiente tabla (datos tomados del Ministerio de
Meteorología y Oceanografía de Estados Unidos):
Días 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
New York 31 26 30 33 33 39 41 41 34 33 45 42 36 39 37 45 43 36 41 37 32 32 35 42 38 33 40 37 36 51 50
Anchorage 37 24 28 25 21 28 46 37 36 20 24 31 34 40 43 36 34 41 42 35 38 36 35 33 42 42 37 26 20 25 31
Resolución
Considerando que el entorno de Microsoft Excel es mucho más amigable para el ingreso de
información tabular, los datos proporcionados de temperatura se almacenan en un archivo
de dicho entorno (.xls), para luego —previa verificación de los valores—, ser importados
al entorno de Matlab y allí ser procesados. De ese modo, al archivo generado en Excel se
le asigna el nombre de “Temperaturas”.
En la ejecución del programa elaborado en Matlab y cuyo nombre es “PP_7”, se importan
automáticamente los datos contenidos en el archivo Excel previamente creado y además se
solicita al usuario proporcione la temperatura a ser utilizada en la comparación de las
series de datos, tal como lo señala el enunciado del problema. El código del programa se
detalla a continuación:
clear;
T=xlsread('Temperaturas');
T1=T(1,:);
T2=T(2,:);
N1=input('Ingrese el nombre de la zona 1:');
N2=input('Ingrese el nombre de la zona 2:');
t=input('Ingrese la temperatura a usar en la comparación:');
disp('================================================================');
%Cálculo de las temperaturas medias
T1med=sum(T1)/length(T1);
fprintf('La temperatura media de '),fprintf(N1),fprintf(' es:
%f\n',T1med);
T2med=sum(T2)/length(T2);
fprintf('La temperatura media de '),fprintf(N2),fprintf(' es:
%f\n',T2med);
disp('----------------------------------------------------------------');
%Cálculo del N° de días en que las temperaturas estuvieron por debajo de
la media
N1d=sum(T1<T1med);
Página 2 de 5
Programación con Matlab Alumno: Dayan Saynes Puma
>> PP_7
Ingrese el nombre de la zona 1:'New York'
Ingrese el nombre de la zona 2:'Anchorage'
Ingrese la temperatura a usar en la comparación:32
=========================================================================
La temperatura media de New York es: 37.677419
La temperatura media de Anchorage es: 33.129032
-------------------------------------------------------------------------
Días en que la temperatura de New York estuvo debajo de su media: 17
Días en que la temperatura de Anchorage estuvo debajo de su media: 13
-------------------------------------------------------------------------
N° de días en que la temperatura de Anchorage fue mayor que en New York:
11
Días en que la temperatura de Anchorage fue mayor que en New York: 1
7 9 14 15 18 19 21 22 25 26
-------------------------------------------------------------------------
N° de días en que la temperatura de Anchorage fue igual que en New York:
1
Días en que la temperatura de Anchorage fue igual que en New York: 23
-------------------------------------------------------------------------
N° de días en que la temperatura de New York y Anchorage fue mayor que
32.00: 16
Página 3 de 5
Program
mación con Matlab Alumno:: Dayan Saynnes Puma
Días
s en que la
l tempera
atura de New
N York y Anchorag
ge fue may
yor que 32
2.00:
7 8 9 13 14 15
5 16 17 18
8 19 20 23
3 24
25 26 2
27
====
==========
==========
==========
==========
==========
==========
==========
=======
Escrib
ba dos funcciones MATLLAB: una de e ellas debee calcular la a velocidad d de la partícula en
un instante t (utiilice la siguiente definiición de funnción: v = velocidad
v (t)), y la otra
a función
debeerá calcularr la aceleración de la partícula
p enn el instante t (utilice pa
ara ello la siguiente
s
definnición de la
a función: a = aceleracción (t)). Esccriba posteriormente un u programa, en un
fichero script, quue represennte las gráficas de la velocidad
v y la acelera ación, en funnción del
tiemppo, de una partícula en e movimie ento (las doos gráficas deben apa arecer en la a misma
ventaana gráfica a). Para ello, dentro del ficheroo script, creee primero un vector t, para
0 ≤ t ≤ 40 seguundos, y desspués utilice e las funcionnes velocida ad y acelera ación para crear
c los
vectoores v y a, que
q se utiliza arán para generar
g la representac
r ción gráfica.
Resolución
El enunciado del problema señala form mular primero una funciión que calccule la veloccidad en
determinado tieempo; dicha a función debe
d ser ejecutable
e no
n solo para un escalar, sino
ademmás para unn vector de valores, pues solo así se
s podría trrazar su grááfico. Considerando
lo annterior, la función
f parra calcular la velocida
ad y cuyo nombre es “velocidad d”, es la
siguieente:
func
ction v=ve
elocidad(t
t)
v1=1
1.4*t;
v2=1
14+5*sin((
(pi/10)*(t
t-10));
v3=9
9;
v4=9
9-(9/5)*(t
t-35);
v=v1
1.*(0<=t&t
t<10)+v2.*
*(10<=t&t<
<25)+v3.*(
(25<=t&t<3
35)+v4.*(3
35<=t&t<=4
40);
Seguuidamente se pide generar una seegunda funcción que evvalúe la aceeleración referida a
un tiempo espe ecífico; la cual tambiénn debe tenner la capa acidad de evaluar valores de
po ordenad
tiemp dos en un veector. La funnción para calcular la aceleraciónn y cuyo noombre es
“aceleracion”, es la siguientte:
Páginna 4 de 5
Program
mación con Matlab Alumno:: Dayan Saynnes Puma
func
ction a=ac
celeracion
n(t)
a1=i
inline(dif
ff(sym(@(t
t) 1.4*t)),'t');
a2=i
inline(dif
ff(sym(@(t
t) 14+5*si
in((pi/10)*(t-10)))),'t');
a3=i
inline(dif t) 9)),'t');
ff(sym(@(t
a4=i
inline(dif
ff(sym(@(t
t) 9-(9/5)*(t-35))),'t');
a=a1
1(t).*(0<=
=t&t<10)+a
a2(t).*(10
0<=t&t<25)+a3(t).*(
(25<=t&t<3
35)+a4(t).
.*(35<=
t&t<
<=40);
Por último, se pide formular un ficchero scriptt que perm mita grafica ar la velocidad y
aceleeración parra un rangoo temporal ded 0 ≤ t ≤ 40 s. El deetalle del fichero al quue se ha
denoominado “grrafico”, es el
e siguiente:
t=0:0.1:40;
elocidad(t
v=ve t);
a=ac
celeracion
n(t);
subp
plot(2,1,1
1);
plot
t(t,v,'-b');
xlab
bel('Tiemp
po (s)');
ylab
bel('Veloc
cidad (m/s
s)');
titl
le('Veloci
idad de un
na partícu
ula que se
e desplaza
a en línea
a recta');
;
grid
d on;
subp
plot(2,1,2
2);
plot
t(t,a,'--r
r');
xlab
bel('Tiemp
po (s)');
ylab
bel('Acele
eración (m
m/s^2)');
titl
le('Aceler
ración de una partí
ícula que se despla
aza en lín
nea recta'
');
grid
d on;
El ressultado que
e muestra Matlab al eje
ecutarse el script
s “grafico” se muesstra a continnuación:
Páginna 5 de 5