Изучение свойств звезд
StarData обеспечивает доступ к свойствам более 105 звезд. Создадим случайную выборку из 3000 звезд.
In[1]:=
stars = StarData[{"RandomEntities", 3000}];
Каждое небесное тело обладает целым рядом свойств.
In[2]:=
sun = \!\(\*
NamespaceBox["LinguisticAssistant",
DynamicModuleBox[{Typeset`query$$ = "Sun", Typeset`boxes$$ =
TemplateBox[{"\"Sun\"",
RowBox[{"Entity", "[",
RowBox[{"\"Star\"", ",", "\"Sun\""}], "]"}],
"\"Entity[\\\"Star\\\", \\\"Sun\\\"]\"", "\"star\""},
"Entity"],
Typeset`allassumptions$$ = {{
"type" -> "Clash", "word" -> "Sun",
"template" -> "Assuming \"${word}\" is ${desc1}. Use as \
${desc2} instead", "count" -> "4",
"Values" -> {{
"name" -> "Star", "desc" -> " referring to stars",
"input" -> "*C.Sun-_*Star-"}, {
"name" -> "CalendarEventName", "desc" -> "a weekday",
"input" -> "*C.Sun-_*CalendarEventName-"}, {
"name" -> "Word", "desc" -> "a word",
"input" -> "*C.Sun-_*Word-"}, {
"name" -> "Surname", "desc" -> "a surname",
"input" -> "*C.Sun-_*Surname-"}}}},
Typeset`assumptions$$ = {}, Typeset`open$$ = {1, 2},
Typeset`querystate$$ = {
"Online" -> True, "Allowed" -> True,
"mparse.jsp" -> 1.321761`6.572697926887039, "Messages" -> {}}},
DynamicBox[ToBoxes[
AlphaIntegration`LinguisticAssistantBoxes["", 4, Automatic,
Dynamic[Typeset`query$$],
Dynamic[Typeset`boxes$$],
Dynamic[Typeset`allassumptions$$],
Dynamic[Typeset`assumptions$$],
Dynamic[Typeset`open$$],
Dynamic[Typeset`querystate$$]], StandardForm],
ImageSizeCache->{114., {7., 15.}},
TrackedSymbols:>{
Typeset`query$$, Typeset`boxes$$, Typeset`allassumptions$$,
Typeset`assumptions$$, Typeset`open$$, Typeset`querystate$$}],
DynamicModuleValues:>{},
UndoTrackedVariables:>{Typeset`open$$}],
BaseStyle->{"Deploy"},
DeleteWithContents->True,
Editable->False,
SelectWithContents->True]\);
In[3]:=
StarData[sun, "Properties"] // Length
Out[3]=
Извлечем информацию о температуре для случайной выборки звезд и обозначим звезды в выборке, для которых имеются температурные данные.
In[4]:=
temps = Flatten[
DeleteMissing[StarData[#, "EffectiveTemperature"]] & /@
Partition[stars, 100]];
Рассчитаем описательную статистику температурных данных.
In[5]:=
stats = {Min, Max, Mean, Median, StandardDeviation};
TableForm[{Map[#[temps] &, stats]}, TableHeadings -> {None, stats}]
Out[5]//TableForm=
Создадим гистограмму температурных данных.
In[6]:=
h = Histogram[temps, 25, PDF, AxesLabel -> Automatic]
Out[6]=
Рассчитаем распределение температуры звезд с помощью непараметрического распределения.
In[7]:=
skd = SmoothKernelDistribution[temps, "Oversmooth"]
Out[7]=
Рассчитаем распределение температуры звезд с помощью параметрического распределения с длинным хвостом.
In[8]:=
edist = EstimatedDistribution[temps, StableDistribution[a, b, c, d]]
Out[8]=
Сравним плотность распределения вероятностей и её соотношение с температурой Солнца.
код на языке Wolfram Language целиком
Out[9]=