Cálculo integral utilizando analíticamente y métodos de Simpson
- frenchcookie
- Born


- Registrado: Dic 06, 2012
- Mensajes: 1
- Status: Offline
Hola,
Tengo problema con mi programa. Estoy tratando de calcular analíticamente el valor de la integral con dos diferentes conjuntos de parámetros
y entonces ambos para calcular el valor mediante la regla de Simpson.
No sé cómo modificar mi código para calcular una) con la regla de Simpson, porque ahora todos los resultados son el mismo n y yo no sé por qué después de n = 15 todos mis resultados son 0.
Estaba leyendo sobre representación doble y estaba analizando la regla de Simpson y mi analíticamente código para integral pero no podemos resolverlo por eso hay 0, porque lo calculo con Mathematica para mejorar mis resultados y da
Mis algunos números no 0.
Por ahora tengo este código, los resultados de la sección b) y analíticamente de un) son ok esperar n > 15 donde tengo 0.
Tengo problema con mi programa. Estoy tratando de calcular analíticamente el valor de la integral con dos diferentes conjuntos de parámetros
y entonces ambos para calcular el valor mediante la regla de Simpson.
No sé cómo modificar mi código para calcular una) con la regla de Simpson, porque ahora todos los resultados son el mismo n y yo no sé por qué después de n = 15 todos mis resultados son 0.
Estaba leyendo sobre representación doble y estaba analizando la regla de Simpson y mi analíticamente código para integral pero no podemos resolverlo por eso hay 0, porque lo calculo con Mathematica para mejorar mis resultados y da
Mis algunos números no 0.
Por ahora tengo este código, los resultados de la sección b) y analíticamente de un) son ok esperar n > 15 donde tengo 0.
CPP Código: [ Select ]
#include <iomanip>
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
const int N = 1;
double f(double x)
{
double dx, b=2.0, z, p;
int n;
for(n=1;n<=20;n++){
p=1 - (pow(10.0, (-n)));
z=1/(pow(x, p));
return z;}
}
double fx(double x)
{
double n;
double p=0.5;
double b=1 + (pow(10.0, (-n)));
double dx=(b-1)/N;
double z=dx/(pow(x, p));
return z;
}
int main()
{
ofstream PLIK;
double a, b, s1,s2,s3,s4,x, p; int i;
int n;
s1=0;s3=0;
s2=0;s4=0;
cout.unsetf(ios::floatfield);
cout.precision(16);
PLIK.open("RESULTS.txt");
cout << "ANALYTICALLY." << endl;
PLIK<<"ANALYTICALLY A<<endl;
cout << "SECTION A:" << endl; // Podpunkt pierwszy
for (n = 1; n <= 20; n++)
{
a=1.0; b=2.0;
cout << n << " ";
p = 1 - pow(10.0, (-n));
s1 = (pow(b, (1 - p)) - (pow(a, (1 - p))))/(1 - p);
cout <<s1<<" " << endl;
PLIK<<s1<<setprecision(16)<<" "<<endl;
}
PLIK<<"ANALYTICALLY B"<<endl;
cout << "ANALYTICALLY " << endl;
cout << "SECTION B:" << endl; // Podpunkt drugii
for (n = 1; n <= 20; n++)
{
a=1.0; p=0.5;
cout << n << " ";
b = 1 + pow(10.0, (-n));
s2 = (pow(b, (1 - p)) - (pow(a, (1 - p))))/(1 - p);
cout << s2<<" " << endl;
PLIK<<s2<<setprecision(16)<<" "<<endl;
}
PLIK<<"SIMPSON A"<<endl;
cout << "SIMPSON RULE" << endl;
cout << "SECTION A" << endl;
for (n = 1; n <= 20; n++)
{
p=1 - (pow(10.0, (-n)));
a=1.0;
cout << n << " ";
b=2.0;
s3 = (b-a)/ 6 * (f(a) + (4*(f((a+b)/2)))+f(b));
cout << s3<<" " << endl;
PLIK<<s3<<setprecision(16)<<" "<<endl;
}
PLIK<<"SIMPSON B"<<endl;
cout << "SIMPSON RULE " << endl;
cout << "SECTION B" << endl;
for (n = 1; n <= 20; n++)
{
a=1.0;p=0.5;
cout << n << " ";
b=1 + pow(10.0, (-n));
s4 = (b-a)/ 6 * (fx(a) + (4*(fx((a+b)/2)))+fx(b));
cout << s4 << " " << endl;
PLIK<<s4<<setprecision(16)<<" "<<endl;
}
PLIK.close();
cout<<endl;
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
const int N = 1;
double f(double x)
{
double dx, b=2.0, z, p;
int n;
for(n=1;n<=20;n++){
p=1 - (pow(10.0, (-n)));
z=1/(pow(x, p));
return z;}
}
double fx(double x)
{
double n;
double p=0.5;
double b=1 + (pow(10.0, (-n)));
double dx=(b-1)/N;
double z=dx/(pow(x, p));
return z;
}
int main()
{
ofstream PLIK;
double a, b, s1,s2,s3,s4,x, p; int i;
int n;
s1=0;s3=0;
s2=0;s4=0;
cout.unsetf(ios::floatfield);
cout.precision(16);
PLIK.open("RESULTS.txt");
cout << "ANALYTICALLY." << endl;
PLIK<<"ANALYTICALLY A<<endl;
cout << "SECTION A:" << endl; // Podpunkt pierwszy
for (n = 1; n <= 20; n++)
{
a=1.0; b=2.0;
cout << n << " ";
p = 1 - pow(10.0, (-n));
s1 = (pow(b, (1 - p)) - (pow(a, (1 - p))))/(1 - p);
cout <<s1<<" " << endl;
PLIK<<s1<<setprecision(16)<<" "<<endl;
}
PLIK<<"ANALYTICALLY B"<<endl;
cout << "ANALYTICALLY " << endl;
cout << "SECTION B:" << endl; // Podpunkt drugii
for (n = 1; n <= 20; n++)
{
a=1.0; p=0.5;
cout << n << " ";
b = 1 + pow(10.0, (-n));
s2 = (pow(b, (1 - p)) - (pow(a, (1 - p))))/(1 - p);
cout << s2<<" " << endl;
PLIK<<s2<<setprecision(16)<<" "<<endl;
}
PLIK<<"SIMPSON A"<<endl;
cout << "SIMPSON RULE" << endl;
cout << "SECTION A" << endl;
for (n = 1; n <= 20; n++)
{
p=1 - (pow(10.0, (-n)));
a=1.0;
cout << n << " ";
b=2.0;
s3 = (b-a)/ 6 * (f(a) + (4*(f((a+b)/2)))+f(b));
cout << s3<<" " << endl;
PLIK<<s3<<setprecision(16)<<" "<<endl;
}
PLIK<<"SIMPSON B"<<endl;
cout << "SIMPSON RULE " << endl;
cout << "SECTION B" << endl;
for (n = 1; n <= 20; n++)
{
a=1.0;p=0.5;
cout << n << " ";
b=1 + pow(10.0, (-n));
s4 = (b-a)/ 6 * (fx(a) + (4*(fx((a+b)/2)))+fx(b));
cout << s4 << " " << endl;
PLIK<<s4<<setprecision(16)<<" "<<endl;
}
PLIK.close();
cout<<endl;
- #include <iomanip>
- #include <iostream>
- #include <cmath>
- #include <fstream>
- using namespace std;
- const int N = 1;
- double f(double x)
- {
- double dx, b=2.0, z, p;
- int n;
- for(n=1;n<=20;n++){
- p=1 - (pow(10.0, (-n)));
- z=1/(pow(x, p));
- return z;}
- }
- double fx(double x)
- {
- double n;
- double p=0.5;
- double b=1 + (pow(10.0, (-n)));
- double dx=(b-1)/N;
- double z=dx/(pow(x, p));
- return z;
- }
- int main()
- {
- ofstream PLIK;
- double a, b, s1,s2,s3,s4,x, p; int i;
- int n;
- s1=0;s3=0;
- s2=0;s4=0;
- cout.unsetf(ios::floatfield);
- cout.precision(16);
- PLIK.open("RESULTS.txt");
- cout << "ANALYTICALLY." << endl;
- PLIK<<"ANALYTICALLY A<<endl;
- cout << "SECTION A:" << endl; // Podpunkt pierwszy
- for (n = 1; n <= 20; n++)
- {
- a=1.0; b=2.0;
- cout << n << " ";
- p = 1 - pow(10.0, (-n));
- s1 = (pow(b, (1 - p)) - (pow(a, (1 - p))))/(1 - p);
- cout <<s1<<" " << endl;
- PLIK<<s1<<setprecision(16)<<" "<<endl;
- }
- PLIK<<"ANALYTICALLY B"<<endl;
- cout << "ANALYTICALLY " << endl;
- cout << "SECTION B:" << endl; // Podpunkt drugii
- for (n = 1; n <= 20; n++)
- {
- a=1.0; p=0.5;
- cout << n << " ";
- b = 1 + pow(10.0, (-n));
- s2 = (pow(b, (1 - p)) - (pow(a, (1 - p))))/(1 - p);
- cout << s2<<" " << endl;
- PLIK<<s2<<setprecision(16)<<" "<<endl;
- }
- PLIK<<"SIMPSON A"<<endl;
- cout << "SIMPSON RULE" << endl;
- cout << "SECTION A" << endl;
- for (n = 1; n <= 20; n++)
- {
- p=1 - (pow(10.0, (-n)));
- a=1.0;
- cout << n << " ";
- b=2.0;
- s3 = (b-a)/ 6 * (f(a) + (4*(f((a+b)/2)))+f(b));
- cout << s3<<" " << endl;
- PLIK<<s3<<setprecision(16)<<" "<<endl;
- }
- PLIK<<"SIMPSON B"<<endl;
- cout << "SIMPSON RULE " << endl;
- cout << "SECTION B" << endl;
- for (n = 1; n <= 20; n++)
- {
- a=1.0;p=0.5;
- cout << n << " ";
- b=1 + pow(10.0, (-n));
- s4 = (b-a)/ 6 * (fx(a) + (4*(fx((a+b)/2)))+fx(b));
- cout << s4 << " " << endl;
- PLIK<<s4<<setprecision(16)<<" "<<endl;
- }
- PLIK.close();
- cout<<endl;
Attachments:
- Anonymous
- Bot


- Registrado: 25 Feb 2008
- Mensajes: ?
- Loc: Ozzuland
- Status: Online
Diciembre 6th, 2012, 4:47 am
Página 1 de 1
Para responder a este tema que necesita para ingresar o registrarse. Es gratis.
Publicar Información
- Total de mensajes en este tema: 1 mensaje
- Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 131 invitados
- No puede abrir nuevos temas en este Foro
- No puede responder a temas en este Foro
- No puede editar sus mensajes en este Foro
- No puede borrar sus mensajes en este Foro
- No puede enviar adjuntos en este Foro
