Mathematica

O matematiki, številih, množicah in računih...
Odgovori
Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Ja, ponavadi se da, valda da sem to poskusil, a to tu ne dela.

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

Re: Mathematica

Odgovor Napisal/-a Aniviller »

Hm... tudi, ce to das v Simplify, Reduce, Refine ali ComplexExpand? Sicer sem tudi jaz ze imel tezave s tem...

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

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Ja, s ComplexExpand se sicer da neki narest, hvala.

gglam
Prispevkov: 1
Pridružen: 19.9.2012 16:12

Re: Mathematica

Odgovor Napisal/-a gglam »

Zdravo, imam težave pri računanju orbit v gravitacijskem potencialu obroča (pravzaprav posebnega toroida, ampak v limiti sem vzela obroč, ker če bo to v redu, bo najbrž tudi tisto nekako šlo),
torej: gibalne enačbe bi reševala s funkcijo NDSolve, znotraj nje pa je še NIntegrate, ki izračuna potencial oz. njegov odvod. Če napišem npr. za xz ravnino (b je radij obroča):

Koda: Izberi vse

Clear[x, y, z, t];
b = 1;
s = NDSolve[{
    x''[t] == 
     NIntegrate[(-b (x[t] - b Cos[\[Phi]]))/
      Power[(x[t] - b Cos[\[Phi]])^2 + (b Sin[\[Phi]])^2 + (z[t])^2, (
      3)^-1], {\[Phi], 0, 2 Pi}],
    z''[t] == 
     NIntegrate[(-b z[t])/
      Power[(x[t] - b  Cos[\[Phi]])^2 + (b Sin[\[Phi]])^2 + (z[
         t])^2, (3)^-1], {\[Phi], 0, 2 Pi}],
    x[0] == 1.01, x'[0] == 0, z[0] == 0, z'[0] == 0.5}, {x, x', z, 
    z'}, {t, 0, 1}][[1]] 
ParametricPlot[Evaluate[{x[t], z[t]} /. s], {t, 0, 1}, 
 PlotRange -> All, AxesOrigin -> {0, 0}, 
 AxesLabel -> {"x[t]", "z[t]"}]
Za nobeno kombinacijo začetnih pogojev (ponavadi se postavim tik ob skrajno desno točko in "streljam" navzgor) ne uspem dobiti kake sklenjene orbite, vedno mi trajektorija nekam pobegne. Priti bi morala recimo nekakšna pentlja, pa kakšen obroč, ampak nikakor ne gre, ne vem ali samo nisem dovolj vztrajna pri izbiri začetnih pogojev ali pa je problem v kodi. Tudi energija bi morala biti konstanta, pa oscilira. Any idea?

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

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Kak se v Mathematici poveča decimalno število za čisto malo? Mislim za zadnjo decimalko. Imam število, ki je pravzaprav ravno na meji - tako v funkciji lahko dobim racionalno ali imaginarno število. In ker včasih dobim slednje, bi povečal za malenkost, da bo vedno racionalno.

Sicer sem za silo naredil tako, da sem prištel \(10^{-16}\).

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

Re: Mathematica

Odgovor Napisal/-a Aniviller »

Odvisno na kateri natancnosti delas. Mathematica ima lahko poljubno natancnost, lahko pa dela na "machine precision", torej z vgrajenimi tipi. Tam imas prav konstanto $MachineEpsilon, ki je res velikostnega reda 10^-16. Sicer za te grde trike ljudje ponavadi vedno definirajo nek odmik, ki je izbran bolj kot ne po obcutku, ni neke pametne izbire.

Je pa pametneje, da na rezultatu uporabis funkcijo Chop, ki poreze male zaokrozitvene zadeve. V tem primeru ti bo ravno odstranilo majhne imaginarne komponente.

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

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Super, hvala!

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

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Obstaja kaka nadgradnja ukaza FindRoot? Torej da mi najde vse oz. skoraj vse roote na nekem intervalu.

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

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Odgovor na http://www.physicsforums.com/showthread.php?t=314906.

Ukaz Reduce dela čudeže :).

Primer s povezave

Koda: Izberi vse

f = Log[Erf[x/7]] - Cos[x^2 - 1] + 1;
rts = Reduce[f == 0 && 1 < x < 6, x]
myvals = N[x /. {ToRules[rts]}]

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

Re: Mathematica

Odgovor Napisal/-a student2 »

Lep pozdrav!

Ima morda kdo kaj izkušenj z reševanjem eliptičnih nitegralov v Mathematici?

Hvala za vsak odgovor!

markich
Prispevkov: 47
Pridružen: 28.5.2008 10:48

Re: Mathematica

Odgovor Napisal/-a markich »

Si lahko malo bolj specifičen?
Mathematica zna reševati skoraj vse vrste integralov, tudi večdimenzionalne.
Pač namesto integriranja po \(x,y,z\) integriraš po \(r, \varphi, z\), če je to to, kar misliš.
Seveda pa moraš znati preiti iz kartezičnih koordinat v cilindrične (sferične,...) "na roko", torej pravilno nastaviti meje novih spremenljivk.
Pri enih je to očitno, pri drugih malo manj :)

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

Re: Mathematica

Odgovor Napisal/-a student2 »

Zdravo,

imam integral : dfi/(sinfiA-sinfi)^(1/2) v mejah od fiA do fiC, katerih številčnih vrednosti ne poznam, ker sta neznanki, torej je potrebno integral rešiti na simbolni ravni. V Matlabu mi je uspelo, v Mathematici ne. Hvala za pomoč!

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

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Veš kaj več? Kaki sta števili fiA in fiC? Kompleksni, katero je večje?

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

Re: Mathematica

Odgovor Napisal/-a student2 »

Rešitev naj bi bila realna. Gre namreč za kota pri nekem problemu. Kaj več ne vem. Po vsej verjetnosti pa naj bi bil kot fiA večji od kota fiC.

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

Re: Mathematica

Odgovor Napisal/-a Popotnik »

Sem integriral \(\text{NIntegrate}\left[\frac{1}{\sqrt{\text{Sin}[\pi +\text{dfi}]-\text{Sin}[\text{fi}]}},\{\text{fi},\pi +\text{dfi},2\pi -\text{dfi}\}\right]\), spodaj je pa vrednost integrala za različne dfi.
Priponke
IntegralElipticniPrimer1.jpg
IntegralElipticniPrimer1.jpg (9.19 KiB) Pogledano 5789 krat

Odgovori