Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda Con C++ metodos numéricos

Estas en el tema de Ayuda Con C++ metodos numéricos en el foro de C/C++ en Foros del Web. Amigos, Cómo están soy el más nuevo de todos y deseo ganar buenas amistades a través de este importante medio. Soy colombiano y estoy en ...
  #1 (permalink)  
Antiguo 12/06/2007, 08:22
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Ayuda Con C++ metodos numéricos

Amigos, Cómo están soy el más nuevo de todos y deseo ganar buenas amistades a través de este importante medio.

Soy colombiano y estoy en ciernes en lo tocante a C++, inicialmente les tengo un problema, debo implementar un programa que calcule con 6 cifras decimales de exactitud la integral de una funcion por medio del método de Romberg; la verdad es que de matrices en C++ muy poco, lo que he hecho es:

#include<iostream.h>
#include<conio.h>
#include<math.h>
#define e 2.71818283
#define max 15
using namespace std;

float d(float g)
{ return pow(2,g);}

float f(float j)
{float fun=pow(e,j);
return fun;}

int main()
{
float R[max][max];
int k,m;
float a,b,h,aux;
cout<<"\n";
cout<<" METODO DE ROMBERG PARA APROXIMACION DE INTEGRALES"<<endl<<endl;
cout<<" Numero de Iteraciones: ";
cin>>k;
cout<<" Ingresar limite inferior: ";
cin>>a;
cout<<" Ingresar limite superior: ";
cin>>b;
h=b-a;

cout<<"\n";
R[0][0]=(h/d(1))*(f(a)+f(b));

cout<<R[0][0];
m=2;
//llena la columna R[k][0] con los valores correspondientes
for(int i=1;i<k;i++)
{aux=0;
for (int n=1;n<m;n++){
aux=aux+f(a+((2*n)*h/d(m)));}
R[i][0]=(1/2)*(R[i-1][0]+(h/d(m-1)*aux));
m=m+1;}

//imprime la columna 0
cout<<endl;
for(int i=0;i<k-1;i++){
cout<<R[i][0];cout<<endl;}

// llena las demas columnas con los valores respectivos
for(int i=1;i<k-1;i++){
for(int j=1;j<k-1;j++){
R[i][j]=R[i][j-1]+((R[i][j-1]- R[i-1][j-1])/(pow(4,j-1)-1));
}
}
cout<<"\n";
cout<<"\n";
//Imprime la matriz de orden k con los valores a las aproximaciones
cout<<"MATRIZ QUE MUESTRA LAS SOLUCIONES";
cout<<"\n";cout<<"\n";
for(int i=0;i<k-1;i++){
for(int j=0;j<k-1;j++){
cout <<R[i][j] << " ";}}


getch();

}
/*recordar que Romberg produce una matriz de la forma

R[0][0]
.
.
.
R[][] R[][]
R[][] R[][] R[][]
R[][] R[][] R[][] R[][]
R[][] R[][] R[][] R[][] R[k][k]
....donde R[k][k] es el valor de la solucion*/


Solicito de su muy poderosa y ya avesada sapiencia. Gracias
  #2 (permalink)  
Antiguo 12/06/2007, 10:58
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: Ayuda Con C++ metodos numéricos

Antes que otra cosa: ¡Bienvenido al foro!

¿Cuál es tu duda? Ayudaría mucho que dijeras si tu programa no funciona bien o que tan bien funciona, si le falta algo....que complementes el post con algo de información, yo he programado varias veces el método de Romberg (entre otros).

Se un poco más informativo en cuanto a tus dudas para que te podamos ayudar mejor...mientras más explicito e informativo sea tu post mejores respuestas obtendrás.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:38.