Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alumno:
Bryan Javier Torres Mendoza
Cédula
EC-106-185
Profesor:
Gustavo Jesús Bracho Rodríguez
Materia:
Física computacional
20 de junio de 2022
Gráfica de la función dada
Sin embargo, podríamos plantear una nueva función que nos permita hacer una gráfica donde los
interceptos con el eje de las abscisas son los valores de 𝑇𝑎 correspondientes a cada valor de 𝜎𝑠𝑓
157570.1 66423080 12438000000 862194900000
𝑔 = −ln (𝜎𝑠𝑓 ) − 139.34411 + − + −
𝑇𝑎 𝑇𝑎2 𝑇𝑎3 𝑇𝑎4
A continuación, se mostrarán las gráficas para distintos valores de 𝜎𝑠𝑓 .
Para 𝝈𝒔𝒇 = 𝟓
Para 𝝈𝒔𝒇 = 𝟏𝟎
Para 𝝈𝒔𝒇 = 𝟑𝟎
#include <iostream>
#include <iomanip>
#include "conio.h"
#include <cmath>
#include <ctime>
#include "stdlib.h"
#include <stdio.h>
#include <limits>
#include <string>
#include <windows.h>
#include <locale.h>
#include "locale.h"
#include <math.h>
#include <fstream>
using namespace std;
/*
Definición de las varibales más relevantes
//////////////////////////////////////////////////////////////Función
double inline funcion(double Ta, double sig)
{
return -logl(sig) - 139.34411+(157570.1/Ta)
- (66423080/pow(Ta,2)) + (12438000000/pow(Ta,3))
- (862194900000/pow(Ta,4));
}
II: cout << "\nEl número de iteraciones realizadas es: " << i <<endl;
cout << "La temperatura en kelvin por Newton-Raphson es: ";
cout << x;
cout << "\nLa temperatura en celsius por Newton-Raphson es: ";
cout << x - 273.15;
}
/////////////////////////////////////Cálculo del método de Steffensen
double MetodoSteffensen(double x0, double sig, int imax, double tol)
{
double x, numerador, denominador, x1, x2;
int i = 1;
II: cout << "\nEl número de iteraciones realizadas es: " << i << endl;
cout << "La temperatura en kelvin por Steffensen es: ";
cout << x;
cout << "\nLa temperatura en celsius por Steffensen es: ";
cout << x - 273.15;
}
do
{
f0 = funcion(x0, sig); //Función evaluada en x0
g0 = derivada(x0); // Derivada primera en x0
h0 = segunda_derivada(x0); // Derivada segunda en x0
x0 = x;
i++;
if(i>imax)
{
cout << "No se ha encontrado una raíz. ";
exit (0);
}
f1 = funcion(x, sig);
}
while(fabs(f1) > tol);
cout << "\nEl número de iteraciones realizadas es: " << i - 1;
cout << "\nLa temperatura en kelvin por MAbbs es: ";
cout << x;
cout << "\nLa temperatura en celsius por MAbbs es: ";
cout << x - 273.15;
}
////////////////////////////////////////////////////Función principal
int main()
{
double x0, sig, tol, x_actual, x_nuevo;
int imax, eleccion;
char option;
setlocale(LC_CTYPE,"Spanish");
cout.precision(6);
cout.setf(ios::fixed);
system("color F1");
if (eleccion == 1)
{
metodoNewtonRaphson(x0, sig, imax, tol);
}
else if (eleccion == 2)
{
MetodoSteffensen(x0, sig, imax, tol);
}
else if (eleccion == 3)
{
MAbbs(x0, sig, imax, tol);
}
else
{
cout << "\nDebe introducir un número que sea 1, 2 o 3\n";
system("pause");
goto IV;
}