analitikus egyenlet megoldas

 ( makonyik V2.0 | 2009. május 22., péntek - 13:36 )

Adott egy negy ismeretlenes egyetletrendszer (4 egyenlettel).
Ez szepen megoldhato.

A porblema, hogy ennek az egyenletnek ket variacioja kellene hogy megoldott legyen (egy kis piszok + -> - valtassal)
Ez sem problema.

Az eredmennyel meg szamolni kellene ...
Ez sem problema.

A problema az en keszulekemben van:
Az egyenlet megoldasa hosszu kifelyezest ad, amiben mesterien el lehet rontani +- elojeleket, es akkor ez nem jo, es akkor hulyesegeket fog adni (es en nagyon-nagyon jo vagyok az ilyenek elrontasaban!_
)
A kerdesem az lenne, hogy leterzik-e olyan konyvtar (gpl-es) ami megoldana ezt nekem, majd a megoldassal szepen tovabbszamol.
Mivel futtatasonkent csak egyszer kellene analitikusan szamolnia (es ~10.000.00 szor hasznalnia az eredmenyt) igy a konyvtar lehet lassu is ... De _analitikus_ megoldas kellene (nem akarom a szamolasomat numerikus kozelitesekkel rontani)

Van ilyen/dolgozott mar valaki ilyennel?

(tudom, hogy a mathematika megcsinalna ezt nekem, de az adott helyen nincs mathematika, ahol ezt hasznalni tudnak, szoval alternativ megoldas kellene)

Koszonet,
k.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

> de az adott helyen nincs mathematika, ahol ezt hasznalni tudnak, szoval alternativ megoldas kellene

Némi guglizás után: http://maxima.sourceforge.net/screenshots.html

standalone alkalmazas van egy kilo (http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems), de nekem
programbol hivhto (library) kellene, ami kepes nemlinearis egyenletrendszereket megoldani analitikusan, majd az eredmennyel tovabbszamolni (numerikusan) ...
Nem arulva zsakbamacskat, a problema (kiszamoltam kezzel, de borsozik a hatam a gerpbrviterltol ...)
A+B=C+D, ahol A,B,C,D Lorentz-vektorok, es az egyiknek (B vagy C a feladattol fuggoen) mindossze a tomeget ismerjuk a D-nek meg csak az iranyat a tobbit az meg teljesen ...

k.

> programbol hivhto (library) kellene,

A matek háttérhez nem értek, de a Mathomatic programból hívhatónak látszik: http://steffen.gulpe.de/math.php, és ha kell forráskódot generál az eredmény képletekből: http://en.wikipedia.org/wiki/Mathomatic#Session_example

most no offense, de ha fogalmad sincs a temarol, akkor minek pofazol bele?

--
When in doubt, use brute force.

Hatha megis jo amit mond. Ne tamadj mar mindenkire...
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Maxima jó szerintem.

Bármi ami command line, az gyakorlatilag programból hívható, nem? De.

lengyel sorozatos megkozelites? legalabbis olyan esetekben amikor a juzer ad meg a programnak kifejezest, es azzal kell analitikusan szamolni, akkor az azert jo tud lenni (tehat nem parzer generatort irsz yacc-ban, hanem mint spe'ci objektumok kezeled az aritmetikai kifejezeseket).

persze ez a problemad bonyolutsagatol is fugg. mit is kell analitkusan szamolni? egyszerusiteni kellene hosszabb kifejezeseket?

jaszkari: http://www44.wolframalpha.com/input/?i=x+times+x

tud ennel durvabbakat is :)

Szemely szerint en a Matlab-ot szeretem a legjobban. (nem gyengen van kioptimalizalva)
Van Matlab alternativa (majdnem teljes syntax egyezoseg) egy ketto, de amikor en probaltam azokat, eleg bugosnak tuntek.

Van API-ja tobb nyelvre is.

Egyebkent a wxMaxima tenyleg igeretes.

---
Ubuntu 8.10
HP nx6110

Matlab, optimalizalva? Ja, ha matrixokat akarsz szorozni. Egyebkent halal lassu.

while (!sleep) sheep++;

Tudtommal minden szamitasi feladat felirhato matrixokkal, es nem csak a matrix szorzas van kioptimalizalva, hanem az osszes matrix muvelet. Emellett a Matlabban nagyon sok eljarast ugy implementaltak le, hogy az kihasznalja az adott matrix spec. tulajdonsagait, es arra a tipusra leghatekonyabb algoritmussal szamol.

---
Ubuntu 8.10
HP nx6110

teljesen igazad van, mátrixban van minden csak nem mindenki neo hogy kiszedje belőle (pl a zokszigént) :)
nooffensz:)

"Tudtommal minden szamitasi feladat felirhato matrixokkal"
Uff... Mikor lettek a mátrixok Turing teljesek?

A Matlab mátrixokkal elég gyors. Legalábbis ahhoz képest, hogy meddig tart beírni Matlabban egy mátrixos kifejezést. De azért konkrét feladatra kézzel lehet ám gyorsabb kódot írni. Mondjuk 2x-3x gyorsabbat. Csak az esetek 99%-ában nem éri meg, a Matlab elég gyors.

Szerintem nem lehet mindent leírni mátrixokkal, én legalábbis nem tudok. :) Matlabban kicsit többet, mint amit elsőre gondolna az ember (ügyes részmátrix képzéssel nem egy ciklust ki lehet váltani), de van úgy, hogy kénytelen vagy egy nyamvadt for-ciklust írni. Na onnantól halál lassú...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

imádom ezt amikor emberek a nagy szavakkal dobálóznak, van akinek a mátrix a világ, van aki már elégedetten hátradől hogy kész bevégeztük a dolgunkat ha valami tyuringos, akkor az már olyan mint maga az unverzális tyuring gép, az meg mindent megold, tehát kész, istenek vagyunk

én nem vagyok ilyen művelt, nekem csak annyi maradt hogy számokkal mindent meg lehet oldani, tehát kész vagyok, mert ugye a valóságot le lehet írni számokkal, ez az ojjektum 153kg, 2m-re van a fejem felett, a sok számot pedig hogy kezelni tudjuk pakoljuk be egy mátrixba,...

tehát van aki szerint a turing géppel mindent meg lehet oldani, a gyakorlatban viszont _semmit_

ha nem érti valaki, ugordjon, vagy csak képzelj ide egy hatalmas :)-t

ps: talán még egy kis magyarázat: nem a matlab vagy a mátrixok gyorsak, hanem a modell, ha jól használjuk, tipikusan akiknek a mátrix meg a turing a világ fognak először olyat alkotni, ahol kell mátrix inverzió, abban pedig nincs az a program ami gyors lenne, bármit is értesz ez alatt

"tyuringos", aha... Most aztán megmondtad. :)

Az induló kijelentés az volt, hogy "minden szamitasi feladat felirhato matrixokkal".
Gondolom a minden számítási feladat alatt az általában számítógépekkel megoldható problémákat értette. Ahhoz meg nem árt egy Turing-teljes eszköz. Önmagukban a mátrixok nem ilyenek. Ennyit mondtam, egy fél mondatban, akinek szólt az értette.

De nembaj, te csak dobálózz nagy szavakkal, ha az megnyugtat... :)

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

"ha nem érti valaki..." : te nem értetted, azt hogy ezt nem vetted észre, nem tudom

tudod, van aki nem csak dobalodzik a szavakkal, hanem erti is mit jelent...

a szál:
- problémára konkrét matlab ajánlás
- azt kirtizálandó: csak akkor jó, ha le tudom a problémát fordítani mátrixokra
- márpedig minden probléma megfogalmazható mátrixokban
- megfogalmazást félreérti valaki, kijavítja jól

(tehát sehol semmi hiba, mindenki maga módján igazat, hasznosat írt, _de_ elszállnak az eredeti problémától, ahol is a matlab akár mátrixokkal akár análkül biztos elég gyors c kódot generál)

ahol gondom volt:
- mindkettő hsz-nál: attól még hogy úgy megyek nyúlra vadászni hogy abszolút igazságokat kiabálok, éhenmaradok; tehát semmire nem megyek azzal hogy fel tudom írni mátrixxal, ha csak _elvileg_ valami istenség képes rá, és a hszk-ból nekem az jött le hogy márpedig ők ezzel az elvi lehetőséggel beérik
-másodiknál pluszban: ha valaki egy kétféleképp érthető mondtot kijavít, ami ennyire egyértelűen _ha_érti_amit_ír_ abszolút_egyértelműen_ hibás, tehát hogy értelmet adjak neki a másik féleképp kell értelmezni, .. ez nekem a tudásom csillogtatása (ezt megerősítette bennem hogy tényleg az eredeti fogalmazó is átírta *)

a te hsz-dat nem értem, hol írtam hogy valami hibásat írtak?
értem mit mondanak, igazuk van, csak semmi haszna a _gyakorlatban_

(speciel volt szerencsém márixékhoz is, meg hogy egyetlen gép/programnyelv sem turin teljes valójában, amiről azt mondja márpedig olyannak kell lennie, abban az értelemben hogy a memóri és az idő is korlátos (melőtt belekötne valaki: a gép ami fut, meg az idő amit az ember rászán; _tudom_ mijazatyuring), _és_ vannak olyan a sz eredeti értelemben vett nem turing teljes programnyelvek amiket igencsak jól használnak a gyakorlatban)

(*ps: és hogy az a megemlítés hogy a problémák egyetlen százaléka olyan hogy gondolkodni kell hozzá, a többit egyszerűen mint "paraméter" a matlabnak adva, elég gyorsan választ kapunk)

"Tudtommal minden szamitasi feladat felirhato matrixokkal"
"Uff... Mikor lettek a mátrixok Turing teljesek?"

Bocsanat, nem voltam egyertelmu, amire gondoltam:
Minden szamitasi feladat inputja megadhato matrixokkal.
---
Ubuntu 8.10
HP nx6110

Szerintem ezt keresed: http://www.ginac.de/

Sajnos, kipróbálni nem volt időm, de a leírás szeritn azt tudja, amik szeretnél.

Igen, asszem ez lesz az ...
regebbrol emlekezte ra, hogy van valami ilyesmi, de nem emlekeztem a nevere, de ez az ...
Van hozza GUI is : http://wwwthep.physik.uni-mainz.de/~stefanw/gtybalt.html

Koszi,
k.

látom sokszor írod hogy "nem probléma", akkor miért nem írod meg?
egyszeűen a bemeneti számokat racionálisként kezeled (az adott számábrázolásnak megfelelően, te ha pl double 0.6 -> long 6 / long 10 lesz,... persze ettől double esetében lehet pontosabban),
aztán meg egyszerűen megoldod gausz eliminációval és kész

Mert a megoldas sokszorta hosszabb, mint amit en be tudok potyogni a szamitogepbe _elojel hibak nelkul_ (tapasztalat)!
Papiron mar minden letezik! Kiszamoltam kezzel! A szamitogeprevivessel van gond! Esetleg egy keziras_to_C ocr-convertert ... :-)

k.

aham, hát ezen nem tudok segíteni, csak pl ha amit leírtam annak kivitelezése tényleg legalább 200, max 2000 sor, abban ha elakadsz, vagy ahol te akadtál el konkrét kérdésekben, de konkrét kész programot azért nem igen fogsz találni, csak pl a mathematica, maple, leginkább matlab, stb tud szimbólikus, kész c/java kódot generálni, azt egyszer megírod akárhol, és kész is amit szeretnél

más: az előjel problémádat egyáltalán nem értem, meg a kézzel kiszámolást sem, nem a géppel akarod kiszámoltatni?

Van egy kifejezesed (a "fuggveny") aminek majd adsz argumentumot az meg ad egy szamot vegeredmenyul, amire kivancsi vagy ...
No nekem a fuggvenyem az van vagy 3 sor, egyszerusiteni nem igazan lehet (vagy nem tudom hogy) es ennek a begepelesetol borsozik a szor a hatamon.
Erre talaltam ki, hogy ha ezt a gep csinalna meg (hatarozna meg a fuggveny megoldva egy masik egyenletet), akkor lehet hogy ezen a kerdesen nem kellene tovabb gondolkodnom ...
Szoval a "fuggveny" azt ki tudom szamolni, csak nem vagyok biztos benne, hogy hiba nelkul be tudom gepelni ... egy hulye szintaktikat meg kidebugolni az meg a masik amitol mar elore faj a fejem ...

k.

amit nem akarsz begépelni, az hogy jött ki? feltételezem nem fejből, hanem egyszerű lépésekből, amit a gép is el tud végezni, na ezt az algoritmus kell bepötyögni, ez ugyanolyan hosszú, de mivel nem adatot (egy kész fvt) gépelsz hanem algoritmust (programot) a hiba igen nagy valószínűséggel egy két tesztből kiderül

mellesleg a lustaság fél egészség:) speciel gépeltem már be 100-szor ennyit is, igen sok hibával, de volt rá kellő módszer megkeresni, pár sornyitól meg nem kell feltétlen félni, csak jól le kell ellenőrizni

kifelyezest?

:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog