Idi nazad   Croportal Forum > Tehnologija i Tehnika > Računala
Registracija FAQ Lista korisnika Kalendar Pretraži Današnje Poruke Označi forume pročitanima Online igre


Računala Raspravljate o temi Linearna regresija u C++- u u Tehnologija i Tehnika forumu; Problem je u tome što sam trebao riješiti linearnu regresiju u C++-u i nasao sam neki program koji ...

Odgovor
 
Opcije Teme
Star 25-01-06, 20:10   #1 (permalink)
Cobo
 
Avatar od korisnika slay
 
Datum registracije: 11-11-05
Lokacija: BikiniLand
Godina: 22
Poruka: 12,942
slay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosan
Linearna regresija u C++- u

Problem je u tome što sam trebao riješiti linearnu regresiju u C++-u i nasao sam neki program koji ok radi, ali moram to jos nekako izvesti na drugaciji nacin tako da jedan dio maknem i dodam drugi koji bi se odnosio na upisivanje podataka iz file-a.
Konkretno koliko mi je receno trebao bi maknuti ovaj dio izmedju deklariranja x-a i y-a i tu di pocnije deklariranje ovih suma Sx,Sy itd.Na tom mjestu bi nekako trebao izvesti da se ti podaci upisuju iz file-a(navodno trebaju doci 2 for petlje i nesto sa fulaz.open, fulaz.close.

Evo ovaj konkretni program koji radi ali ga treba modficirat, koliko sam zapamtio mislim da bi taj dio programa trebalo izbaciti koji sam pocrvenio.Ako je netko ovo sve skuzio i moze pomoci neka pls pomogne, hvala


#include <iostream.h>

int main(void)
{
double x[20],y[20];
int n = 6;
x[0] = 2.;
x[1] = 4.;
x[2] = 4.5;
x[3] = 6.;
x[4] = 8.5;
x[5] = 9.;

y[0] = 11.;
y[1] = 14.;
y[2] = 13.;
y[3] = 16.;
y[4] = 19.;
y[5] = 23.;

double Sx,Sy,Sxx,Sxy,det;
int i;

Sx=0.;
Sy=0.;
Sxx=0.;
Sxy=0.;

for(i=0;i<n;i++)
{
Sx=Sx+x[i];
Sy=Sy+y[i];
Sxx=Sxx+x[i]*x[i];
Sxy=Sxy+x[i]*y[i];
}

det=n*Sxx-Sx*Sx;

double a0=(Sy*Sxx-Sxy*Sx)/det;
double a1=(n*Sxy-Sx*Sy)/det;

cout<<a1<<"x + "<<a0<<"\n";

return 0;
}
slay je offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Odgovori sa citatom
Star 25-01-06, 20:22   #2 (permalink)
Crazy Kure s Bmw-om
 
Avatar od korisnika HornedRapid
 
Datum registracije: 20-06-05
Lokacija: Zagreb/Dubai/Oslo
Godina: 24
Poruka: 2,305
HornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auruHornedRapid ima spektakularnu auru
Re: Linearna regresija u C++- u

#include <stdio.h>
int main
printf ("ne kuzim u cem je problem");
HornedRapid je offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Odgovori sa citatom
Star 25-01-06, 20:29   #3 (permalink)
Moderator Foruma
 
Avatar od korisnika _Aris_
 
Datum registracije: 12-05-05
Lokacija: Zagreb, Trnje
Godina: 22
Poruka: 4,668
_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan_Aris_ je slavan
Re: Linearna regresija u C++- u

fale ti vitičaste iz maina i printf-a, problem je u učitavanju iz datoteke sa harda, ja radim u C-u, ne znam C++, ne znam ni jel se razlikuje šta...
__________________
Od danas ću svaki dodir čuvati za tebe,
svaki poljubac za tvoje usne i
svaki san da budem s tobom i kad to ne mogu.
_Aris_ je offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Odgovori sa citatom
Star 25-01-06, 20:36   #4 (permalink)
Cobo
 
Avatar od korisnika slay
 
Datum registracije: 11-11-05
Lokacija: BikiniLand
Godina: 22
Poruka: 12,942
slay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosanslay ima na što biti ponosan
Re: Linearna regresija u C++- u

Imam neke vrijednosti u tablici za x i y i njihov upis mora biti nekako izveden direktno iz fajla a ne onako di sam pocrvenio na proslom primjeru.Navodno bi mogao uzeti kod iz ovoga programa (crveno) i malo ga modificirati i nekako uklopiti unutra a to neznam kako.


/***********************************************
* Program GAUSOVA NAIVNA ELIMINACIJA *
* *
* *
***********************************************/
#include "iostream.h"
#include "math.h"
#include "fstream.h"
//***********************************************************************
int main(void)
{

// Deklaracija varijabli *************************************************
int n, status, SOLVED=0,NMAX=20,i,k,j;
double a[20][20],c[20],x[20],sum,faktor,SMALL=1e-8;
ifstream fulaz;
ofstream fizlaz;
// Unos podataka *********************************************************
fulaz.open("gauulaz.txt");

// Unos broja jednadžbi

fulaz >> n;

// Unos elemenata matrice sustava po redovima

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
fulaz >> a[i][j];
}
}
// Unos vektora riješenja

for(i=0;i<n;i++)
{
fulaz >> c[i];
}

fulaz.close();

// Gausova metoda **************************************************************


// Eliminacija unaprijed********

for(k=0;k<(n-1);k++)
{
for(i=k+1;i<n;i++)
{
faktor=a[i][k]/a[k][k];
for(j=k+1;j<n;j++)
{
a[i][j]=a[i][j]-faktor*a[k][j];
}
c[i]=c[i]-faktor*c[k];
}

}
// Supstitucija unatrag*********
for(i=n-1;i>=0;i=i-1)
{
sum=0.;
if(i!=n-1)
{
for(j=i+1;j<n;j++)
{
sum=sum+a[i][j]*x[j];
}
}
x[i]=(c[i]-sum)/a[i][i];
}
status=SOLVED;

// Ispis rezultata **********************************************************

fizlaz.open("gaurjes.txt");

if (status == SOLVED)
{

for(i=0;i<n;i++)
{
fizlaz <<x[i]<<"\n";

}
}

fizlaz.close();

return 0;
}
slay je offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Odgovori sa citatom
Odgovor
Tagovi: linearna, regresija



Broj korisnika koji trenutno prate ovu Temu: 1 (0 članova i 1 gosta)
 
Opcije Teme

Pravila poruka
Vi smijete ne otvarati nove teme
Vi smijete ne odgovarati na poruke
Vi smijete ne slati privitke
Vi smijete ne urediti vašu poruku

vB Kod je Uključen
Smajlići Kod je Uključen
[IMG] kod je Uključen
HTML kod je Isključen
Trackbacks are Isključen
Pingbacks are Isključen
Refbacks are Isključen


Trenutno vrijeme na forumu: 02:49.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114