Collaguazo - Jonnathan - Trabajo Individual

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERIA QUÍMICA


CARRERA DE INGENIERIA QUÍMICA
PROGRAMACIÓN
Trabajo individual
Nombre: Jonnathan Collaguazo
Fecha: 9/08/2022
Indicaciones:
• Realizar el código para cada problema en el programa MATLAB
• Copiar el código en el documento
• Presentar en formato PDF

Considerar todos los errores que pueden darse al ingresar los datos el usuario.
1. Cree un vector x de valores desde 0 hasta 20ᴨ, con un espaciamiento de
ᴨ/100. Defina los vectores y y z como:
𝒚 = 𝒙 𝒔𝒆𝒏(𝒙)
𝒛 = 𝒙 𝒄𝒐𝒔(𝒙)
a. Cree una gráfica x-y de x e y, poner títulos, leyenda, color cian, círculos
que representen los puntos, activar la gradilla y poner los ejes en el
origen.
b. Cree una gráfica polar de x e y.
c. Cree una gráfica lineal tridimensional de x, y y z, poner títulos, leyenda,
color cian, círculos que representen los puntos, activar la gradilla.
clear all, clc
x=0:(pi/100):20*pi;
y=x.*sin(x);
z=x.*cos(x);
hold on
subplot(1,3,1),plot(x,y,'oc');
grid on
title('Y - X')
legend('y=xsen(x)')
xlabel('Tiempo')
ylabel('velocidad y distancia')
hold off
subplot(1,3,2),polar(x,y,'m');
hold on
subplot(1,3,3),plot3(x,y,z,'oc');
grid on
title('Y - X - Z')
legend('Y - x - z')
xlabel('X')
ylabel('y')
zlabel('z')
hold off

2. Imagine que usted es un orgulloso nuevo padre. Decide iniciar ahora un plan
de ahorros universitario para su hijo, con la esperanza de tener suficiente
dentro de 18 años para pagar los crecientes costos de una educación. Suponga
que sus amigos le dan $1000 para iniciar y que cada mes puede aportar $100.
Suponga también que la tasa de interés compuesta mensual es de 6% por
año, que equivale a 0.5% cada mes. Debido a los pagos de interés y a su
aportación, cada mes su saldo aumentará en concordancia con la fórmula

𝑺𝒂𝒍𝒅𝒐 𝒏𝒖𝒆𝒗𝒐 = 𝒔𝒂𝒍𝒅𝒐 𝒂𝒏𝒕𝒆𝒓𝒊𝒐𝒓 + 𝒊𝒏𝒕𝒆𝒓é𝒔 + 𝒔𝒖 𝒂𝒑𝒐𝒓𝒕𝒂𝒄𝒊ó𝒏

Encontrar la cantidad en la cuenta de ahorros cada mes para los siguientes


18 años. Grafique la cantidad en la cuenta como función del tiempo.
clear all, clc
disp('Programa que calcula el ahorro de un padre en 18 años aportando cada
mes $100');
c_i=1000;
c=1000;
meses=1:1:216;
s_n=100;
t=randi([1 1],1,216);
for i=0:1:216;
c_i=c_i+s_n;
sald=(c+(0.005*c_i)+s_n)
s=sald.*t;
end
f=table(meses',s','VariableNames',{'Mese','Saldo_cuenta'});
disp('El dinero en la cuenta de ahorros por mes para los próximos 18 años
(216 meses) es:')
disp(f)
hold on
plot(meses,s,'g')
plot(meses,s,'ro')
xlabel('Meses')';
ylabel('Ahorro');
title('Ahorros en función del tiempo')
hold off
3. Genere tablas de conversión de temperatura para valores desde 0 hasta
200°F, el usuario debe ingresar el aumento de la temperatura.
clear all
clc
disp('Programa que realiza una conversión de temperaturas de °F a °C, K y R')
n=input('Ingrese el valor para separar las temperaturas: ');
if n<0
n=input('Ingrese un valor mayor a cero: ');
end
f=0:n:200;
c=[(f-32)*(5/9)];
k_e=c+273.15;
r_e=(f-32)+459.67;
t=table(f',c',k_e',r_e','VariableNames',{'Fahrenheit','Celcius','Kelvin','Ranking'
});
disp(t)

4. Si la ecuación que modela la distancia vertical recorrida por un proyectil


como función del tiempo es
𝟏
𝒚(𝒕) = 𝒕𝒗𝟎 𝒔𝒆𝒏(𝒖) − 𝒈𝒕𝟐
𝟐
entonces, del cálculo, la velocidad en la dirección vertical es
𝒗(𝒕) = 𝒗𝟎 𝒔𝒆𝒏(𝒖) − 𝒈𝒕
Cree un vector t desde 0 hasta 20 s y calcule la posición vertical y la velocidad
en la dirección vertical, si supone un ángulo de lanzamiento u de ᴨ/4 rad y
una velocidad inicial de 100 m/s. Grafique ambas cantidades en la misma
gráfica. Poner títulos, leyendas, etiquetas en los ejes y un color diferente a
cada gráfico.
clear all ,clc
disp('Este programa calcula la distancia vertical y la velocidad en dirreción
vertical');
t=0:1:20;
v_o=100;
u=pi/4;
g=9.81;
y=t*v_o*sin(u)-((1/2)*g*(t.^2));
v=v_o*sin(u)-(g*t);
T=table(t',y',v','VariableNames',{'Tiempo','Distancia','Velocidad'});
disp(T)
hold on
plot(t,y,'g');
plot(t,v,'b');
hold off
grid on
xlabel('Tiempo')
ylabel('velocidad y distancia')
title('Grafica de velocidad, distancia en función del tiempo')
legend('v=v_o*sin(u)-g*t', 'y=t*v_o*sin(u)-1/2*g*t^2')

5. Escribir una función de Matlab que calcule el término n de la función


Fibonacci y los almacene en un vector. Presentar los resultados en una tabla
que indique el número del término y su valor.
clear all, clc
fprintf('Programa que calcula la serie de fibonachi \n')
n=input('Ingrese el valor de posicion a calcular en la serie:');
s_0=0;
b=1;
S(1)=0;
S(2)=0;
for i=3:n
f=s_0+b;
s_0=b;
b=f;
S(i)=f;
end
d=[1:n];
t=table(d',S','VariableNames',{'numero_Serie','Termino'});
disp(t)

6. Genere un matriz en la cual el usuario ingrese la dimensión de la matriz


rectangular, si el usuario ingresa los valores de una matriz cuadrada debe
visualizar un mensaje de error indicando que la dimensión está mal y debe
ingresar las dimensiones correctas. Los valores de la matriz deben tener
números aleatorios entre 10 y 50.
Encontrar:
1. ¿Cuál es el valor máximo en cada columna?
2. ¿En cuál fila se presenta dicho máximo?
3. ¿Cuál es el valor máximo en cada fila?
4. ¿En cuál columna ocurre el máximo?
5. ¿Cuál es el valor máximo en toda la tabla?
6. ¿Cuál es el valor medio en cada columna?
7. ¿Cuál es la mediana para cada columna?
8. ¿Cuál es el valor medio en cada fila?
9. ¿Cuál es la mediana para cada fila?
10. ¿Cuál es la mediana para toda la matriz?
clear all, clc
disp('Genera una matriz rectangular');
m=input('Ingrese el número de filas: ');
n=input('Ingrese el número de columnas: ');
while m==n || ~isnumeric(m) || ~isnumeric(n) || m < 0 || n < 0
disp('La cantidad de las filas y columnas no deben ser las mismas y el
número que sea positivo y mayor a cero');
m=input('Vuelva a ingresar el número de filas: ');
n=input('Vuelva a ingresar el número de columnas: ');
end
a=randi([10,50],m,n);
disp(a);
[m,n]=size(a);
col_m=max(a);
disp('Los valores máximos en cada columna son: ')
disp(col_m)
disp('Su posición respectiva en cada columna es: ');
[m,i]=max(a);
disp(i);
fil_m=max(a,[],2);
disp('Máximos valores en cada fila son: ')
disp(fil_m);
disp('Su posición respectiva en cada columna es:');
[n,j]=max(a,[],2);
disp(j);
maxi=max(a);
disp('El valor máximo en la matriz es: ')
disp(maxi);
disp('Los valores medios de cada columnda de la matriz es:');
media=mean(a);
disp(media);
disp('Las medianas de cada columna es:');
medc=median(a);
disp(medc);
disp('Los valores medios en cada fila en la matriz son:');
med=mean(a,2);
disp(med);
disp('Las medianas de cada fila son:');
medi=median(a,2);
disp(medi);
medm=median(a);
m_d=median(medm);
fprintf('La mediana de toda la matriz es: %1.2f\n',m_d);
7. Considere los requerimientos de aire acondicionado de una casa. El interior
de la casa se calienta por calor que se desecha de la iluminación y los aparatos
eléctricos, del calor que se filtra desde el exterior y del calor que expulsan las
personas en la casa. Un acondicionador de aire debe ser capaz de remover
toda esta energía térmica con la finalidad de evitar que aumente la
temperatura interna. Suponga que hay 20 focos que expulsan 100 J/s de
energía cada uno y cuatro aparatos que expulsan 500 J/s cada uno. Suponga
también que el calor se filtra del exterior a una tasa de 3000 J/s. (a) ¿Cuánto
calor por segundo debe remover de la casa el acondicionador de aire? (b) Una
unidad particular de acondicionador de aire puede manipular 2000 J/s.
¿Cuántas de estas unidades se requieren para mantener constante la
temperatura de la casa?
clear all, clc
disp('1 foco expulsa 100 J/s');
disp('1 aparato expulsa 500 J/s');
disp('Calor filtrado al exterior 3000 J/s');
disp('¿Cuánto calor por segundo de remover de la casa el acondicionador de
aire?');
f=100;
a=500;
c_f=3000;
c_e=(20*f)+(4*500)+c_f;
disp('El calor que tiene qur expulsar en J/s es: ');
disp(c_e)
disp('Una unidad praticular expulsa 2000 J/s');
disp('¿Cuántas de estas unidades se requieren para mantener constante la
temperatura de la casa?');
u=2000;
u_n=c_e/u;
disp('Las unidades necesarias son: ');
disp(u_n)

8. Generar 60 datos aleatorios entre 10 y 30, y generar una tabla de frecuencias,


y graficar el histograma de la frecuencia absoluta y la frecuencia relativa.
clear all, clc
m=randi([10,30],1,60);
nd=60;
mini=min(m);
maxi=max(m);
rango=max(m)-min(m);
sqrt=(nd)^(1/2);
clases=round(sqrt);
ampli=rango/clases;
d_t=sort(m);
disp(d_t)
subplot(1,3,1),hist(d_t)

n=(1:1:clases);
Linf=d_t(1);
for k=1:clases
Lsup(k)=Linf(k)+ampli;
Linf(k+1)=Lsup(k);
end
Linf=Linf(1:clases);

for j=1:length(Linf)
s=0
for i=1:length(d_t)
if d_t(i)>=Linf(j) && d_t(i)<Lsup(j) && j<clases
s=s+1;
end
end
frec(j)=s;
end
%Marca de clase
x=(Linf+Lsup)/2;
%frevuencia relativa
for b=1:clases
fre_r(b)=frec(b)/nd;
end
table(n',Linf',Lsup',x',frec',fre_r','VariableNames',{'n','Linf','Lsup','m','frec','fre
_r'})

subplot(1,3,2)
hist(frec)
title('Histograma frecuencia acumulada');
subplot(1,3,3)
hist(fre_r)
title('Histograma frecuencia relativa');

9. La ecuación Antoine usa constantes empíricas para modelar la presión de


vapor de un gas como función de la temperatura. La ecuación modelo es
donde
P = presión, en mmHg,
A = constante empírica,
B = constante empírica,
C = constante empírica, y
T = temperatura en grados C.
𝑩
𝒍𝒐𝒈𝟏𝟎(𝑷) = 𝑨 −
𝑪+𝑻
El punto de ebullición normal de un líquido es la temperatura a la que la
presión de vapor (P) del gas es igual a la presión atmosférica, ingresada por
el usuario en mmHg. Use variables simbólicas para encontrar el punto de
ebullición normal del benceno si las constantes empíricas son:
A=6.89272
B=1203.531
C=219.888
clear all, clc
disp('Programa que modela la presión de vapor de un gas como función de la
temperatura');
n=input('Ingrese el valor de Temperatura: ');
A=6.89272;
B=1203.531;
C=219.88;
syms P
ec1=log10(P)==A-(B/(C+n));
t=solve(ec1,P);
disp(double(t))

10. Genere una matriz aleatoria de dimensión n x n, el valor n es ingresado por


el usuario
1. Encuentre la desviación estándar para cada columna.
2. Encuentre la varianza para cada columna.
3. Calcule la raíz cuadrada de la varianza que encontró para cada columna.
5. ¿Cuál es el valor medio en cada columna?
6. ¿Cuál es la mediana para cada columna?
7. ¿Cuál es el valor medio en cada fila?
8. ¿Cuál es la mediana para cada fila? ¿Cuál es la mediana para toda la
matriz?

clear all, clc


n=input('Ingrese el número de filas y columnas: ');
disp('La matriz generada es:')
for i=1:n
for j=1:n
F(i,j)=randi([10,50]);
end
end
disp(F)
disp('De cada columna su desviación estándar es:')
d_s=std(F);
disp(d_s)
disp('De cada columna su varianza es:')
v_r=var(F);
disp(v_r)
disp('Raíz de la varianza es:')
r_a=sqrt(v_r);
disp(r_a)
v_medcol=sum(F)/n;
disp('De cada columna su valor medio es: ')
disp(v_medcol)
o_r=sort(F);
disp('La matriz ordenada (columnas) es:')
disp(o_r)
disp('La mediana de cada columna es:')
mc_or=median(o_r);
disp(mc_or)
vmf=sum(F')/n;
disp('De cada fila su valor medio es: ')
disp('La mediana de cada fila es:')
u_f=sort(F');
m_f=median(u_f);
disp(m_f)
med=median(F);
md_ma=median(med);
disp('La mediana de la matriz es:')
disp(md_ma)

11. Las tasas de reacciones químicas son proporcionales a una conste de tasa k
que cambia con la temperatura de acuerdo con la ecuación Arrhenius.
𝑸
𝒌 = 𝒌𝟎 𝒆−𝑹𝑻
Para ciertas reacciones
𝒄𝒂𝒍
𝑸 = 𝟖𝟎𝟎𝟎
𝒎𝒐𝒍
𝒄𝒂𝒍
𝑹 = 𝟏. 𝟗𝟖𝟕
𝒎𝒐𝒍 𝑲
𝒌𝟎 = 𝟏𝟐𝟎𝟎 𝒎𝒊𝒏−𝟏
Encuentre los valores de K para temperaturas de 100 K hasta 500K, en
incrementos de 50 grados. Cree una tabla con sus resultados.
clear all,clc
disp('Programa que realiza el cálculo de la ecuación de Arrhenius con temperaturas
de 100 a 500 k con un intervalo de 50 entre cada valor');
Q=8000;
R=1.987;
K_o=1200;
T=100:50:500;
K=K_o*exp(-Q./(R*T));
t=table(T',K','VariableNames',{'Temperatura','K'});

12. Cree vectores x e y desde -5 hasta 5 con un espaciamiento de 0.5. Use estos
datos calcular el vector z y graficarlo usando el comando mesh.

𝒛 = 𝒔𝒆𝒏 (√𝒙𝟐 + 𝒚𝟐 )

clear all,clc
[x,y]=meshgrid(-5:0.5:5);
z=sin(sqrt((x.^(2))+(y.^(2))));
mesh(x,y,z)

También podría gustarte