Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2007, 08:22
CARLOS CAICEDO
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 16 años, 11 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