Soluciones computacionales- Análisis numérico
Enviado por Julio Mayo • 10 de Septiembre de 2020 • Trabajo • 2.547 Palabras (11 Páginas) • 174 Visitas
1. Dado un número real, mostrar su respectiva representación en formato IEEE 754 y viceversa, con los respectivos errores absoluto y relativo generados.
x=input('Digite la 1 si va de real a IEEE o 2 si es viceversa: ');
clc;
switch x
case 1
disp('real a IEEE');
valor_real=input('Digite el valor a convertir: ');
valorIEEE=dec2bin(typecast(single(valor_real),'uint32'),32)
valor_aprox=typecast(uint32(bin2dec(valorIEEE)), 'single');
error_absoluto=valor_real-valor_aprox;
error_relativo=abs((error_absoluto)/valor_real);
fprintf('Error absoluto es: %d \n, Error relativo es: %d\n',error_absoluto,error_relativo);
case 2
disp('IEEE a real');
valor_real=input('Digite el valor a convertir: ','s');
valorreal=typecast(uint32(bin2dec(valor_real)), 'single')
valor_aprox=dec2bin(typecast(single(valorreal),'uint32'),32);
xx=bin2dec(valor_real);
yy=bin2dec(valor_aprox);
error_absoluto=xx-yy;
error_relativo=abs((xx-yy)/xx);
fprintf('Error absoluto es: %d \n, Error relativo es: %d\n',error_absoluto,error_relativo);
otherwise
disp('Valor invalido');
end
Caso 1
real a IEEE
Digite el valor a convertir: 14646494646
valorIEEE =
01010000010110100011111111110001
Error absoluto es: 4.380000e+02
Error relativo es: 2.990476e-08
Caso 2
IEEE a real
Digite el valor a convertir: 01010000010110100011111111110001
valorreal =
1.4646e+10
Error absoluto es: 0.000000e+00
Error relativo es: 0
x>2
Valor invalido
2. Dado una función, generar el polinomio obtenido con la serie de Taylor y mostrar los respectivos errores absoluto y relativo generados, con sus respectivas gráficas.
syms x;
f = input('Digite la funcion ');
a = input ('Digite el valor de a ');
n = input ('Digite el valor de n ');
xi = input ('Digite el valor de xi ');
suma=0;
i=0;
ErA=0;
ErR=0;
for i=0:n
suma = suma + ((subs(diff(f,i),a)*(x-a)^i)/(factorial(i)));
hold on;
i = i+1;
end
disp ('El modelo matematico es')
disp (suma)
img = ezplot(suma);
set(img,'color','cyan')
hold on;
img = ezplot(f);
set(img,'color','blue')
hold on;
legend (char(suma), char(f))
xlabel('x')
ylabel('y')
title ('Serie de Taylor')
ErA = abs(subs(f,xi)-subs(suma,xi));
ErR = ((ErA/subs(f,xi))*100);
fprintf('Error absoluto: %d \nErro relativo: %d \n',ErA,ErR)
Digite la funcion exp(-x)
Digite el valor de a 1
Digite el valor de n 5
Digite el valor de xi 0
El modelo matematico es
(828390857088487*(x - 1)^2)/4503599627370496 - (828390857088487*x)/2251799813685248 - (828390857088487*(x - 1)^3)/13510798882111488 + (828390857088487*(x - 1)^4)/54043195528445952 - (828390857088487*(x - 1)^5)/270215977642229760 + 828390857088487/1125899906842624
Error absoluto: 5.941848e-04
Erro relativo: 5.941848e-02
[pic 1]
3. Presentar un problema de Ingeniería afín a la que estudia el grupo, en la que tengan que resolver una ecuación no lineal, aplicando los métodos Newton Raphson, Bisección, Secante y Regula Falsi Modificado. Elaborar una tabla en la que aparezca la raíz encontrada, el error absoluto, el número de iteraciones consumidas en cada método y el tiempo de procesamiento en cada caso y las gráficas de cada método.
En una planta industrial se está diseñando un tanque esférico para almacenar ácidos líquidos para una planta en Cartagena. El volumen de líquido que puede contener el tanque para un nivel específico se calcula con la ecuación:
V = (pi*h^2*(3R-h))/3
Donde V = volumen (m3), h = profundidad del agua en el tanque (m) y R = radio del tanque (m). Considerando que el radio del tanque es 4 m, y que se desea encontrar el nivel del tanque si se sabe que el volumen almacenado en el mismo es 100 m3. Determine la(s) raíces de la función dada físicamente posibles. Si se sabe que el error permitido es de 10^-9.
- Newton
syms x;
disp('Metodo de Newton-Raphson ');
f = input('Escriba la función: ');
xi = input('Digite el valor incial : ');
tol = input('Digite la tolerancia : ');
...