aki dejo solo las imagenes del programa corriendo porke la vdd el codigo si costo trabajo y no se lo vayan a fusilar jeje
el primer metodo es el de GAUSS
la matriz se puede insertar de cualkier tamaño solo ke escogi el 3 ke es la mas comun
el programa es repetivo y permite la opcion de si se kiere volver a empezar sk me falto una imagen
el segundo metodo es el de GAUSS-JORDAN
el ulitmo metodo es el de GAUSS-SEIDEL
y asi terminan los tres metodos de Gauss.
Temporum memoriis
Este espacio esta diseñado para poder expresar lo que pienso, lo que conozco y para compartir saberes con las demas personas.
lunes, 5 de diciembre de 2011
mi segundo programa...minimos cuadrados
este es mi segundo programa ke corrio correctamente..este es su codigo
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
class Punto{
private:
float x,y;
Punto *nxt;
public:
Punto(float=0,float=0,Punto* =NULL);
void leeDatos(void);
void modifNxt(Punto* p);
float dameX(void);
float dameY(void);
Punto* dameNxt(void);
};
Punto::Punto(float a, float b, Punto* c):
x(a),y(b),nxt(c){
}
void Punto::leeDatos(void){
cout<<endl<<"Dame el valor de la X: ";
cin>>x;
cout<<endl<<"Dame el valor d ela Y: ";
cin>>y;
}
void Punto::modifNxt(Punto* p){
nxt=p;
}
float Punto::dameX(void){
return x;
}
float Punto::dameY(void){
return y;
}
Punto* Punto::dameNxt(void){
return nxt;
}
class Lista{
private:
Punto *inicio,*fin;
public:
Lista(Punto* =NULL,Punto* =NULL);
void nuevoPunto(void);
float SumaX();
float SumaY();
float SumaXY();
float SumaX2();
};
Lista::Lista(Punto* a,Punto* b):
inicio(a),fin(b){
}
void Lista::nuevoPunto(void){
if(inicio==NULL){
inicio=new Punto;
inicio->leeDatos();
fin=inicio;
}
else{
fin->modifNxt(new Punto);
fin=fin->dameNxt();
fin->leeDatos();
}
}
float Lista::SumaX(){
float SX=0;
Punto *aux;
for(aux=inicio;aux!=NULL;){
SX=(aux->dameX()+SX);
aux=aux->dameNxt();
}
return SX;
}
float Lista::SumaY(){
float SY=0;
Punto *aux;
for(aux=inicio;aux!=NULL;){
SY=(aux->dameY()+SY);
aux=aux->dameNxt();
}
return SY;
}
float Lista::SumaXY(){
float SXY=0;
Punto *aux;
for(aux=inicio;aux!=NULL;){
SXY=((aux->dameX())*(aux->dameY()))+SXY;
aux=aux->dameNxt();
}
return SXY;
}
float Lista::SumaX2(){
float SX2=0;
Punto *aux;
for(aux=inicio;aux!=NULL; ){
SX2=(pow(aux->dameX(),2)+SX2);
aux=aux->dameNxt();
}
return SX2;
}
int main(){
system("cls");
Lista L;
int M,N,O;
float V,m,b,R;
cout<<"\tMinimos Cuadrados"
<<endl<<endl<<"¿Cuantos Puntos a Dar?: ";
cin>>N;
M=N-1;
O=N-M;
do{
cout<<endl<<"Valores del Punto "<<O<<" :"<<endl;
L.nuevoPunto();
O++;
}
while(O!=(N+1));
m=(N*L.SumaXY()-L.SumaX()*L.SumaY())/(N*L.SumaX2()-pow(L.SumaX(),2));
b=(L.SumaX2()*L.SumaY()-L.SumaX()*L.SumaXY())/(N*L.SumaX2()-pow(L.SumaX(),2));
cout<<endl<<"¿Que Valor de X Deseas Calcular?: ";
cin>>V;
R=m*V+b;
cout<<endl<<"El Valor de Y para X= "<<V<<" es de: "<<R;
getch();
return 0;
}
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
class Punto{
private:
float x,y;
Punto *nxt;
public:
Punto(float=0,float=0,Punto* =NULL);
void leeDatos(void);
void modifNxt(Punto* p);
float dameX(void);
float dameY(void);
Punto* dameNxt(void);
};
Punto::Punto(float a, float b, Punto* c):
x(a),y(b),nxt(c){
}
void Punto::leeDatos(void){
cout<<endl<<"Dame el valor de la X: ";
cin>>x;
cout<<endl<<"Dame el valor d ela Y: ";
cin>>y;
}
void Punto::modifNxt(Punto* p){
nxt=p;
}
float Punto::dameX(void){
return x;
}
float Punto::dameY(void){
return y;
}
Punto* Punto::dameNxt(void){
return nxt;
}
class Lista{
private:
Punto *inicio,*fin;
public:
Lista(Punto* =NULL,Punto* =NULL);
void nuevoPunto(void);
float SumaX();
float SumaY();
float SumaXY();
float SumaX2();
};
Lista::Lista(Punto* a,Punto* b):
inicio(a),fin(b){
}
void Lista::nuevoPunto(void){
if(inicio==NULL){
inicio=new Punto;
inicio->leeDatos();
fin=inicio;
}
else{
fin->modifNxt(new Punto);
fin=fin->dameNxt();
fin->leeDatos();
}
}
float Lista::SumaX(){
float SX=0;
Punto *aux;
for(aux=inicio;aux!=NULL;){
SX=(aux->dameX()+SX);
aux=aux->dameNxt();
}
return SX;
}
float Lista::SumaY(){
float SY=0;
Punto *aux;
for(aux=inicio;aux!=NULL;){
SY=(aux->dameY()+SY);
aux=aux->dameNxt();
}
return SY;
}
float Lista::SumaXY(){
float SXY=0;
Punto *aux;
for(aux=inicio;aux!=NULL;){
SXY=((aux->dameX())*(aux->dameY()))+SXY;
aux=aux->dameNxt();
}
return SXY;
}
float Lista::SumaX2(){
float SX2=0;
Punto *aux;
for(aux=inicio;aux!=NULL; ){
SX2=(pow(aux->dameX(),2)+SX2);
aux=aux->dameNxt();
}
return SX2;
}
int main(){
system("cls");
Lista L;
int M,N,O;
float V,m,b,R;
cout<<"\tMinimos Cuadrados"
<<endl<<endl<<"¿Cuantos Puntos a Dar?: ";
cin>>N;
M=N-1;
O=N-M;
do{
cout<<endl<<"Valores del Punto "<<O<<" :"<<endl;
L.nuevoPunto();
O++;
}
while(O!=(N+1));
m=(N*L.SumaXY()-L.SumaX()*L.SumaY())/(N*L.SumaX2()-pow(L.SumaX(),2));
b=(L.SumaX2()*L.SumaY()-L.SumaX()*L.SumaXY())/(N*L.SumaX2()-pow(L.SumaX(),2));
cout<<endl<<"¿Que Valor de X Deseas Calcular?: ";
cin>>V;
R=m*V+b;
cout<<endl<<"El Valor de Y para X= "<<V<<" es de: "<<R;
getch();
return 0;
}
mi primer programa ke corrio de analisis
bueno aki les presento mi codigo del primer codigo ke me corrio..es el de interpolacion de lagrange
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<iomanip>
using namespace std;
char opcion;
class Lagrange
{
private:
int n, i, j;
float *vecx, *vecy, *li, x, res, mult, Ev, Vv;
public:
Lagrange();
void guardado();
void organiza();
void Li();
void resultado();
};
Lagrange::Lagrange()
{
cout<<"\n\n\t\tPuntos conocidos = ";
cin>>n;
vecx = new float[n];
vecy = new float[n];
li = new float[n];
res = 0;
mult = 1;
}
void Lagrange::guardado()
{
cout<<"\n\n\n\t\tIngrese el valor de las x y f(x) correspondiente\n";
for(j=0; j<n; j++)
{
cout<<"\n\t\t\t\tx"<<j<<" = ";
cin>>vecx[j];
cout<<"\n\t\t\t\tf("<<j<<") = ";
cin>>vecy[j];
}
}
void Lagrange::Li()
{
cout<<"\n\n\t\tIngrese el valor de x a evaluar f(x) = ";
cin>>x;
for(j=0; j<n; j++)
{
for(i=0; i<n; i++)
{
if(j != i)
mult *= (x - vecx[i])/(vecx[j] - vecx[i]);
}
li[j] = mult;
mult = 1;
}
cout<<"\n\n\t\t\t\tx\tf(x)";
cout<<"\n\t\t\t\t";
for(j=0; j<n; j++)
{
cout<<vecx[j]<<"\t"<<vecy[j];
cout<<"\n\t\t\t\t";
}
}
void Lagrange::resultado()
{
cout<<"\n\n\n\t\tEl polinomio es la suma de L(x)*f(x)";
cout<<"\n\n\t\t\t\tL(x)"<<"\t\t"<<"f(x)"<<endl<<endl;
for(j=0; j<n; j++)
cout<<"\t\t\t\t"<<setprecision(4)<<li[j]<<"\t\t"<<vecy[j]<<endl;
for(j=0; j<n; j++)
{
res += (vecy[j]*li[j]);
}
cout<<"\n\n\t\t\tResultado: "<<setprecision(5)<<res;
cout<<"\n\n\t\t\tIngresa el valor verdadero: ";
cin>>Vv;
Ev = ((Vv - res)/Vv)*100;
cout<<"\n\n\t\t\tEl error verdadero es: "<<Ev<<" %";
}
void Lagrange::organiza()
{
guardado();
Li();
getch();
resultado();
getch();
}
int main()
{
do
{
cout<<"\n\n\n\n\n\t\t\t INTERPOLACION DE LAGRANGE";
cout<<endl<<endl<<"\n\n\n\t\t\t";
system("pause");
system("cls");
Lagrange a;
a.organiza();
system("cls");
cout<<"\n\n\tCalcular otra interpolacion de Lagrange (s/n)?"<<"\t";
cin>>opcion;
system("cls");
if(toupper(opcion)!='S')
{
cout<<endl<<endl<<"\n\n\n\t\t\t";
cout<<"PROGRAMA FINALIZADO";
getch();
}
}
while(toupper(opcion)=='S');
}
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<iomanip>
using namespace std;
char opcion;
class Lagrange
{
private:
int n, i, j;
float *vecx, *vecy, *li, x, res, mult, Ev, Vv;
public:
Lagrange();
void guardado();
void organiza();
void Li();
void resultado();
};
Lagrange::Lagrange()
{
cout<<"\n\n\t\tPuntos conocidos = ";
cin>>n;
vecx = new float[n];
vecy = new float[n];
li = new float[n];
res = 0;
mult = 1;
}
void Lagrange::guardado()
{
cout<<"\n\n\n\t\tIngrese el valor de las x y f(x) correspondiente\n";
for(j=0; j<n; j++)
{
cout<<"\n\t\t\t\tx"<<j<<" = ";
cin>>vecx[j];
cout<<"\n\t\t\t\tf("<<j<<") = ";
cin>>vecy[j];
}
}
void Lagrange::Li()
{
cout<<"\n\n\t\tIngrese el valor de x a evaluar f(x) = ";
cin>>x;
for(j=0; j<n; j++)
{
for(i=0; i<n; i++)
{
if(j != i)
mult *= (x - vecx[i])/(vecx[j] - vecx[i]);
}
li[j] = mult;
mult = 1;
}
cout<<"\n\n\t\t\t\tx\tf(x)";
cout<<"\n\t\t\t\t";
for(j=0; j<n; j++)
{
cout<<vecx[j]<<"\t"<<vecy[j];
cout<<"\n\t\t\t\t";
}
}
void Lagrange::resultado()
{
cout<<"\n\n\n\t\tEl polinomio es la suma de L(x)*f(x)";
cout<<"\n\n\t\t\t\tL(x)"<<"\t\t"<<"f(x)"<<endl<<endl;
for(j=0; j<n; j++)
cout<<"\t\t\t\t"<<setprecision(4)<<li[j]<<"\t\t"<<vecy[j]<<endl;
for(j=0; j<n; j++)
{
res += (vecy[j]*li[j]);
}
cout<<"\n\n\t\t\tResultado: "<<setprecision(5)<<res;
cout<<"\n\n\t\t\tIngresa el valor verdadero: ";
cin>>Vv;
Ev = ((Vv - res)/Vv)*100;
cout<<"\n\n\t\t\tEl error verdadero es: "<<Ev<<" %";
}
void Lagrange::organiza()
{
guardado();
Li();
getch();
resultado();
getch();
}
int main()
{
do
{
cout<<"\n\n\n\n\n\t\t\t INTERPOLACION DE LAGRANGE";
cout<<endl<<endl<<"\n\n\n\t\t\t";
system("pause");
system("cls");
Lagrange a;
a.organiza();
system("cls");
cout<<"\n\n\tCalcular otra interpolacion de Lagrange (s/n)?"<<"\t";
cin>>opcion;
system("cls");
if(toupper(opcion)!='S')
{
cout<<endl<<endl<<"\n\n\n\t\t\t";
cout<<"PROGRAMA FINALIZADO";
getch();
}
}
while(toupper(opcion)=='S');
}
viernes, 21 de octubre de 2011
si quieren pasar ay ke leer y aprender
Pues bueno chavos asi esta la cosa..ahora debemos de ser nuestro propios maestros tambien
dado a que muchos ni conocemos nadita de las materias..tenemos que aprender a ser autodidactas
asi que aki les dejo algunos links de libros ke les podran servir en la escuela..espero les sirvan y si kieren alguno en especifico avisen haber ke se puede hacer...saludos
*HORUS*
Ecuaciones Diferenciales; Denis G. Zill
http://www.4shared.com/document/Wbk810Mm/Ecuaciones_Diferenciales__Denn.htm
Matematicas Avanzadas para Ingenieria; James Glyn
http://www.4shared.com/document/9iWdZKDk/Matemticas_Avanzadas_para_Inge.htm
Variable Compleja y Aplicaciones; Churchill
http://www.4shared.com/document/aJMLau--/variable_compleja_y_aplicacion.htm
Series de Fourier y Problemas de Contorno; Churchill
http://www.4shared.com/document/uGWS9Tox/Series_de_Fourier_y_Problemas_.htm
por ahora son todos despues subire mas links
dado a que muchos ni conocemos nadita de las materias..tenemos que aprender a ser autodidactas
asi que aki les dejo algunos links de libros ke les podran servir en la escuela..espero les sirvan y si kieren alguno en especifico avisen haber ke se puede hacer...saludos
*HORUS*
Ecuaciones Diferenciales; Denis G. Zill
http://www.4shared.com/document/Wbk810Mm/Ecuaciones_Diferenciales__Denn.htm
Matematicas Avanzadas para Ingenieria; James Glyn
http://www.4shared.com/document/9iWdZKDk/Matemticas_Avanzadas_para_Inge.htm
Variable Compleja y Aplicaciones; Churchill
http://www.4shared.com/document/aJMLau--/variable_compleja_y_aplicacion.htm
Series de Fourier y Problemas de Contorno; Churchill
http://www.4shared.com/document/uGWS9Tox/Series_de_Fourier_y_Problemas_.htm
por ahora son todos despues subire mas links
miércoles, 19 de octubre de 2011
introduccion a la teoria y sistemas de comunicacion
chavos aki les dejo el link del libro de Lathi
http://www.4shared.com/get/5jZ1tXQm/Introduccion_a_la_teoria_y_Sis.html
cualkier duda dejen comentario
http://www.4shared.com/get/5jZ1tXQm/Introduccion_a_la_teoria_y_Sis.html
cualkier duda dejen comentario
Awakenings
palabras al aire ke polvo son como susurros al oido escucho su cancion, mientras solo miro a mi alrededor para ver ke solo ya estoy, pensando en la inmensidad de mi propio ser doy cuenta ke me he alejado de lo ke un dia pude ser y tratando de retomar mi camino hoy he vuelto a caer, me levanto apresurado porke el tiempo no detiene su caminar dandome cuenta ke muxos pasos he perdido en mi andar, me detengo a refelexionar que kiero en realidad, cuando la luna responde mis preguntas el viento en mi rostro me da trankilidad porke haciendome recordar akellas palabras ke a mi corazon hacen palpitar puedo abir mis ojos al destino ke aun me ha de esperar.....
Suscribirse a:
Entradas (Atom)