Mathematica

O matematiki, številih, množicah in računih...
Odgovori
student2
Prispevkov: 17
Pridružen: 29.9.2012 13:15

Re: Mathematica

Odgovor Napisal/-a student2 »

Hm, meni javi kar je prikazano na sliki.

Ne da pa se rešiti na simbolni ravni, se pravi da je rezultat v obliki eliptičnih funkcij?
Priponke
2.png

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Mathematica

Odgovor Napisal/-a Aniviller »

Daj vsaj tisti pi uporabi rocno, da odpravis tiste minuse.

Sicer pa ne more integrirat, dokler ne ve dfi-ja. To odpravis tako, da definiras funkcijo, ki integrira sele ko jo klices. To dela operator := (dvopicje je nujno, drugace hoce takoj racunat, preden das stevilko noter).


mojafunkcija[dfi_]:=NIntegrate[.....]

Zdaj bi moralo mojafunkcija[0.42342] ali karkoli ze, dat stevilko ven, ce je le v pravem obmocju.

student2
Prispevkov: 17
Pridružen: 29.9.2012 13:15

Re: Mathematica

Odgovor Napisal/-a student2 »

Hvala!

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Ukaz Reduce mi javi
Reduce::ratnz: Reduce was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result.
oz. podrobno na http://reference.wolfram.com/mathematic ... ratnz.html.

Ok, zanima me, kako to napako preprečim - da v algoritmu dodam nekaj, kar bi spremenilo poljubno število v "eksaktno".

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Obstaja kak način, da se kodo, napisano v Mathematici, pohitri? Ma itak ne bi pisal algoritmov v Mathematici, če bi imel vse potrebne rutine v C/C++, sam kak FindRoot/Reduce pogrešam.

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Mathematica

Odgovor Napisal/-a Aniviller »

Hm... odvisno. Ce je same kode v Mathematici, ki dejansko racuna, veliko, imas ukaz Compile, bo pa seveda potem to delalo v standardni double natancnosti (malo poglej kako se klice). Ce delas v c/c++ lahko uporabis GSL knjiznico za vecji del numerike.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Ma ja, GSL, potem moram štartati Linux, tist je pa čist drug svet. Hvala za Compile, bom pogledal :) .

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Mathematica

Odgovor Napisal/-a Aniviller »

Aja na windowsih si pa res vecinoma omejen na notranjost Mathematice in matlaba. Si poskusil Python? Ne se ustrasit novega jezika, to je se najmanj... ima zelo mocne numericne knjiznice, pa sposoben je neke vmesne abstraktnosti in vmesne hitrosti med c-jem in mathematico... ce bo podobnih projektov se kaj, priporocam.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Ja, Python sem neki uporabljal, a to je prepočasna zadeva - sem tam na pisal za pokušino Fourierovo transformacijo in je neprimerljivo počasnejša od različice v C-ju. Res je, Python ima neke knjižinice, npr. Scipy, Numpy, sam to jo potem isto kot pri Mathematici - izdelane kode delajo hitro, zanke, ki jih napišem sam, pa pač ne. Se pa v Pythonu menda da napisati tako kodo, da ti jo potem spremeni v C, kar lahko pomeni, da skompajlaš tam in obenem python rutine uporabljaš.

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Mathematica

Odgovor Napisal/-a Aniviller »

Seveda, saj cilj je, da uporabis cim vec vgrajenih funkcij. Je pa vseeno bolj primeren za programiranje kot jezik in sigurno je hitrejsi od Mathematice, ker je manj abstrakten.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Mathematica

Odgovor Napisal/-a Popotnik »

In kaj je najboljše? GSL najbrž? Se pa da GSL menda poganjati tudi v Pythonu (http://dpinte.wordpress.com/2010/04/22/ ... ith-weave/).

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Mathematica

Odgovor Napisal/-a Aniviller »

GSL v pythonu je bolj za tiste, ki so ga ze navajeni uporabljat, vidis da je kar grdo packanje da ga noter dobis. V pythonu je ravno to fora, da imas scipy in numpy, ki to delata na pythonu prijazen nacin.

No, vsekakor je tvoj problem bolj specificne narave z matematicne strani. Poskusi enkrat za hec za en set parametrov integrirat "rocno" s trapezno metodo (razdeli interval na N intervalov in sestej vrednosti funkcije v sredinah intervalov & pomnozi s sirino intervala). Potem podvajaj N in glej, ce kam konvergira ali se cisto razsuje. Tako dobis obcutek, kako grozna je singularnost in kako tezko jo je integrirat. Mogoce ni slaba ideja narisat graf funkcije pod integralom od levega do desnega obmocja, da tocno vidis s cim imas opravka.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Hvala, mogoče bom pa le po dolgem času zagnal Linux in se malo igral z GSL :D.

Tisti problem pa sicer ni moj :P, sam mal sem v debato posegel.

Rorschach
Prispevkov: 95
Pridružen: 2.6.2009 20:00

Re: Mathematica

Odgovor Napisal/-a Rorschach »

Zdravo!

Rad bi rešil sistem enačb v Mathematici, pa mi ne uspe. Peš sem sistem že izračunal, ne vem pa zakaj tu ne gre.

Povezava do *.nb datoteke (glej samo sistem enačb na koncu):
http://dl.dropbox.com/u/76090434/MathSi ... %C4%8Db.nb

student2
Prispevkov: 17
Pridružen: 29.9.2012 13:15

Re: Mathematica

Odgovor Napisal/-a student2 »

Zdravo,

imam vprašanje glede Mathematici. Zanima me naslednje: ndefiniram neke podatke, npr a=3, b=4,... in potem grem ,kako bi rekel v nov odstavek in hočem izračunati npr a*b, seveda Mathematica več ne prepozna podatkov. Zanima me, kako bi napisal, da bi lahko potem vedno klical podatke? V novih podoknih,...da ne bi bilo potrebno na novo pisati ali kopirati

Sem vedel, pa sem pozabil. Ali gre nekako takole: podatki:={a->3,b->4} potem pa ne vem kako pokličeš v nekem podoknu te podatke, ko želim izračunati npr a*b

Hvala

Odgovori