怎麼將 Mathematica 的動態輸出成 GIF?

我寫了一個 Mathematica 的程序,是關於視向速度曲線隨不同參數的變化,想將其輸出為 GIF 文件(或其他類型文件)插入 PPT 中,方便以後做報告時用。

其實不知道這裡面怎麼算也沒有關係,重點是怎麼將 Manipulate 的內容輸出成 GIF

這裡將源碼貼出來

Module[{time, K, M, E, f},

time = Range[1000];

Manipulate[

K = 28.4*P^(-1/3.)*Mpsini*Ms^(-2/3.);

M = 2 [Pi]/(P*365.25)*(# - tp) /@ time;

E = E /. (FindRoot[E - e Sin[E] == #, {E, #}] /@ M);

f = 2 ArcTan[Sqrt[(1 + e)/(1 - e)] Tan[#/2]] /@ E;

ListPlot[

Thread[{time,

K/Sqrt[1 - e^2] (Cos[f + [Omega]] + e Cos[[Omega]])}],

Joined -&> True, ImageSize -&> {800, 600}, PlotRange -&> All,

Frame -&> True,

PlotStyle -&> {Thick, Blue}, GridLines -&> Automatic,

GridLinesStyle -&> Dashed,

FrameLabel -&> (Style[#, Italic, 24] /@ {"Time(day)",

"Radial Velocities(m/s)"}),

FrameTicksStyle -&> Directive[Black, 15],

PlotLabel -&>

Style["Time series of the Radial Velocities", "Subtitle",

Black]],

{{e, 0.1, Style["Eccentricity", 12]}, 0, 0.9},

{{[Omega], [Pi]/4., Style["Argument of periapsis", 12]}, 0,

2 [Pi]},

{{tp, 30, Style["The time of passing periapsis", 12]}, 0, 300, 30},

{{P, 1, Style["Planet orbit Period(year)", 12]}, 0.5, 3},

{{Mpsini, 1,

Style["!(*SubscriptBox[(M), (planet)])*sin[i](Jupiter

mass)", 12]}, 0.1, 3},

{{Ms, 1,

Style["!(*SubscriptBox[(M), (star)])(Sun mass)", 12]},

0.5, 3}

]

]


如果Manipulate只有一個參量

1.把Manipulate改成Table(這裡默認輸出的是圖片的列表,也就是Manipulate的操作對象是作圖,如Plot什麼的)

2.然後給個分號在最後(我相信一般情況下不願它輸出結果)

3.給這個列表命名吧,比如T

4.Export["fig.gif",T],結果在用戶文件夾里(默認路徑)


參考這篇博客:

Mathematica描繪滾球某個點的運動軌跡(圓滾線)


http://www.fkr13.org/index.php/2015/04/29/mathematicaflash/


推薦閱讀:

為什麼mathematica的語法和lisp很近?
計算機中的符號運算是怎麼實現的?
為什麼Mathematica的DSolve函數會解不出顯式解??
已知若干個點的坐標(0<x<L, 0<y<L), 如何高效地找出所有相對距離小於r的點對?
請問總的來說 Mathematica 好些還是 Matlab 好些?

TAG:WolframMathematica |