Gyors kérdések - gyors válaszok

Fórumok

Itt lehet kérdezni olyan szakmait, amire rövid válaszok dukálnak.

Íme az első:

Van egy ponthalmaz, kiszámítom a meredekségét. Hol metszi az
egyenes az y_tengelyt? (y=mx+b, kiszámoltam m-t, b=?)

Köszi!

Hozzászólások

Egy ponthalmaznak nincs meredeksége. Két pont meghatároz egy egyenest, annak van meredeksége. Ebben az esetben az y tengellyel való metszéspont kiszámítása:

Pontok:

P1(x1, y1)
P2(x2, y2)

A meredekség:

m=(y2-y1)/(x2-x1)

Az egyenes egyenlete:

y=mx+b=((y2-y1)/(x2-x1))*x+b

A P1 pont koordinátáit behelyettesítve az egyenletbe:

y1=((y2-y1)/(x2-x1))*x1+b

Ebből:

b=y1-((y2-y1)/(x2-x1))*x1

Ez még mindig nem pontos, és ha matekról van szó, akkor az egyik legelső dolog, hogy légy pontos.

Mit jelent az, hogy az egyenes "ponthalmaz elemeitől való távolsága a lehető legkisebb"? A pontoktól való átlagos távolság legyen a legkisebb? Vagy a pontoktól való távolságok összege legyen a lehető legkisebb? Egyáltalán nem mindegy, a görbeillesztésre (http://en.wikipedia.org/wiki/Curve_fitting) létezik egy csomó módszer.

Amibe ezek közül leginkább bele tudsz futni, az a lineáris regresszió (http://en.wikipedia.org/wiki/Linear_regression) névre hallgat. Ezen belül a legkisebb négyzetek módszerét szokták tanítani leginkább (http://en.wikipedia.org/wiki/Least_squares), ami arról szól, hogy az egyenes pontoktól való távolságainak négyzetösszege legyen minimális.

A szükséges képleteket a linkelt wikipedia cikkekben megtalálod.

Köszi szépen.

Így csinálom:


double TGAcomputing(unsigned int ndx, unsigned int len, double data[], double step)
{unsigned int i;
double tga,xavg,yavg;
double xstep,sx,ssreg;
double tmpd;

tga=xavg=yavg=0.0;xstep=step;

i=0;while(i < len){yavg+=data[i+ndx];xavg+=xstep;i++;}
xavg/=(double)i;yavg/=(double)i;

sx=ssreg=0.0;
i=0;while(i < len)
{tmpd=((xstep*(i+1))-xavg)*(data[i+ndx]-yavg);sx+=tmpd;
tmpd=((xstep*(i+1))-xavg)*((xstep*(i+1))-xavg); ssreg+=tmpd;
i++;
}tga=sx/ssreg;

return(tga);
}

<\code>

Most látom, hogy a xavg,yavg koordinátán átmegy az egyenes.

> Sol omnibus lucet.

Ez az "Oldjátok meg a házifeladatomat, mert nem akarok tanulni" topic? :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Az egyenes meredekségéből tengelymetszetet számolni nehogy már ne legyen általános iskolai feladat...
Ha meg a görbeillesztésre gondolsz, akkor persze igazad van (nekünk azt gimiben emelt érettségi felkészítő órán vagy matekszakkörön tanították.)
_____________________________
Powered by 1,3,7-trimetilxantin

Ponthalmazról beszéltél. A pontoknak általában van koordinátájuk. Az y tengely meg általában az x-et a 0-nál metsző, arra merőleges egyenes, ha jól emlékszem. ;)

Elsőre azt mondtam volna én is, hogy ált. iskolai feladat, mert nem fogalmaztad meg elég pontosan a feladatot és első olvasásra elég egyszerűnek tűnt.
Bár némi logikával szerintem még így sem sokkal nehezebb, bár talán nem olyan szép az algoritmus, amit ki lehet rá találni, mint az, amit matematikusok már korábban kitaláltak. :)

Felfogtam. Csak amit a téma indítójában írtál, abból ez nem volt teljesen egyértelmű.
Tegnap egy egészen primitív, felvételi tesztet is félredobtam, annyira nem megy már a gondolkodás, szóval csak halványan sejtem, hogy lehetne ezt a saját, már nagyon hiányos ismereteimmel megoldani.

Itt nincs olyan, hogy rövid válasz (ld. feljebb). Szerintem nevezd át a topicot :). Amit te keresel, az a stackoverflow.com, superuser.com és társai.

--