inner2outer

Инвертируйте вложенную иерархию таблицы в таблицах или timetables

Синтаксис

Описание

пример

T2 = inner2outer(T1) находит переменные в T1 которые сами являются таблицами или расписаниями. Возвращается T2, таблица или расписание, которое также содержит вложенные таблицы или расписания как переменные. Имена переменных в T2 берутся из имен переменных во вложенных таблицах или расписаниях T1. Затем, inner2outer перегруппирует переменные во вложенных таблицах или расписаниях T2 соответственно, как показано на схеме. Если T1 имеет переменные, которые не являются таблицами или расписаниями, тогда эти переменные не изменяются в T2.

Примеры

свернуть все

Загрузите и отобразите расписание, T1, который имеет вложенные таблицы, содержащие информацию о запасе. Вложенные таблицы AAPL и MSFT являются переменными T1. Каждая вложенная таблица имеет цены акций на открытом и закрытом торгах, и объем, для другой компании.

load nestedTables
T1
T1 =

  3x2 timetable

       Dates                  AAPL                          MSFT           
                    Open     Close     Volume     Open     Close     Volume
    ___________    __________________________    __________________________

    01-Jan-2017    64.539    71.704    107.17    66.429     91.77      78.7
    01-Feb-2017    101.53    87.619    57.909    72.984    84.629    57.959
    01-Mar-2017    60.381    76.464    72.067    78.127    76.492    82.883

Чтобы сгруппировать Open, Close, и Volume переменные вместе в собственных вложенных таблицах, используйте inner2outer функция.

T2 = inner2outer(T1)
T2 =

  3x3 timetable

       Dates             Open               Close               Volume     
                    AAPL      MSFT      AAPL      MSFT      AAPL      MSFT 
    ___________    ________________    ________________    ________________

    01-Jan-2017    64.539    66.429    71.704     91.77    107.17      78.7
    01-Feb-2017    101.53    72.984    87.619    84.629    57.909    57.959
    01-Mar-2017    60.381    78.127    76.464    76.492    72.067    82.883

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

Используйте Variables свойство T2 в преобразование T2.Volume в матрицу. Затем вычесть среднее значение T2.Volume от T2.Volume и возвращает результат как матрицу.

normVolume = T2.Volume.Variables - mean(T2.Volume.Variables)
normVolume =

   28.1213    5.5193
  -21.1397  -15.2217
   -6.9817    9.7023

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

meanClose = varfun(@mean,T2.Close)
meanClose =

  1x2 table

    mean_AAPL    mean_MSFT
    _________    _________

     78.596       84.297  

Входные параметры

свернуть все

Входная таблица, заданная как таблица или расписание.

Расширенные возможности

См. также

| |

Введенный в R2018a