Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Perform Calculations on Columns of Data - Wolfram Mathematica

Работа со столбцами данных

Вам часто придется выполнять операции над на столбцами из набора данных, особенно, когда столбцы содержат переменные. Несмотря на то, что некоторые функции автоматически работают со столбцами данных в прямоугольных массивах, для других может потребоваться определенная обработка данных, чтобы выполнять операции над столбцами.

Создадим некоторый набор данных для дальнейшей обработки (опция SeedRandom обеспечивает повторяющийся результат):

In[1]:=

PerformCalculationsOnColumnsOfDataRU_1.gif

Out[1]=

PerformCalculationsOnColumnsOfDataRU_2.gif

Mathematica описывает данные путем группировки списков внутри другого списка. Каждый список интерпретируется как строка матрицы данных:

In[2]:=

PerformCalculationsOnColumnsOfDataRU_3.gif

Out[2]//MatrixForm=

PerformCalculationsOnColumnsOfDataRU_4.gif

Функция Grid отображает данные такми же самым образом, но без скобок:

In[3]:=

PerformCalculationsOnColumnsOfDataRU_5.gif

Out[3]=

7 10 8 2
8 0 9 10
9 1 0 2
3 9 6 0
4 5 8 6
9 7 2 4
10 7 5 2
3 10 7 7
9 9 7 1
2 3 9 9

По умолчанию, многие функции выполняют операции с каждым столбцом, когда в качестве аргумента задается прямоугольный вложенный список.

Найдем среднее для каждого столбца:

In[4]:=

PerformCalculationsOnColumnsOfDataRU_6.gif

Out[4]=

PerformCalculationsOnColumnsOfDataRU_7.gif

Найдем среднеквадратическое отклонение для каждого столбца:

In[5]:=

PerformCalculationsOnColumnsOfDataRU_8.gif

Out[5]=

PerformCalculationsOnColumnsOfDataRU_9.gif

Найдем медиану для каждого столбца:

In[6]:=

PerformCalculationsOnColumnsOfDataRU_10.gif

Out[6]=

PerformCalculationsOnColumnsOfDataRU_11.gif

Для вычислений можно, также, выбрать отдельный столбец. Здесь выбран первый столбец из набора данных data:

In[14]:=

PerformCalculationsOnColumnsOfDataRU_12.gif

Out[14]=

PerformCalculationsOnColumnsOfDataRU_13.gif

In[15]:=

PerformCalculationsOnColumnsOfDataRU_14.gif

Out[15]=

PerformCalculationsOnColumnsOfDataRU_15.gif

In[16]:=

PerformCalculationsOnColumnsOfDataRU_16.gif

Out[16]=

PerformCalculationsOnColumnsOfDataRU_17.gif

In[17]:=

PerformCalculationsOnColumnsOfDataRU_18.gif

Out[17]=

PerformCalculationsOnColumnsOfDataRU_19.gif

Для матриц, содержащих более двух столбцов, можно построить график для столбцов как для отдельных наборов данных:

In[7]:=

PerformCalculationsOnColumnsOfDataRU_20.gif

Out[7]=

PerformCalculationsOnColumnsOfDataRU_21.gif

Построим график для столбцов, транспонировав данные:

In[8]:=

PerformCalculationsOnColumnsOfDataRU_22.gif

Out[8]=

PerformCalculationsOnColumnsOfDataRU_23.gif

Для функций, работающих с векторами, применим функцию к транспонированным данным, используя команду Map для вычислений на столбцах:

In[9]:=

PerformCalculationsOnColumnsOfDataRU_24.gif

Out[9]=

PerformCalculationsOnColumnsOfDataRU_25.gif

Транспонируем результат, получив матрицу с нормализованными столбцами:

In[10]:=

PerformCalculationsOnColumnsOfDataRU_26.gif

Out[10]=

PerformCalculationsOnColumnsOfDataRU_27.gif

Транспонирование и применение преобразований могут выполняться также для функций, которые выравнивают свой аргумент:

In[11]:=

PerformCalculationsOnColumnsOfDataRU_28.gif

Out[11]=

PerformCalculationsOnColumnsOfDataRU_29.gif