subsasgn

Присвоение содержимого

subsasgn будет удален в будущем релизе. Используйте timetable вместо этого. Для получения дополнительной информации смотрите, Преобразовывают Финансовые маневры Объектов Временных рядов в Расписания.

Синтаксис

subasgn

Описание

subasgn присваивает содержимое компоненту в финансовом объекте временных рядов. subasgn поддерживает целочисленную индексацию или индексацию вектора символов даты в объект временных рядов со значениями, присвоенными обозначенным компонентам. Последовательные числа даты не могут использоваться в качестве индексов. Чтобы использовать индексацию вектора символов даты, заключите вектор (векторы) символов даты в пару одинарных кавычек ' '.

Можно использовать целочисленную индексацию на объекте как в любой другой матрице MATLAB®. Это возвратит соответствующую запись (записи) в объект.

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

Примеры

Учитывая временные ряды myfts с серийным именем данных по умолчанию series1,

myfts.series1('07/01/98::07/03/98') = [1 2 3]'; 

присваивает значения 1, 2 и 3, соответствующий первым трем дням июля 1998.

myfts('07/01/98::07/05/98')
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/subsref (line 106) 

ans =

      desc:  Data Assignment 
      freq:  Daily (1) 

      'dates:  (5)'    'series1:  (5)'
      '01-Jul-1998'    [            1]
      '02-Jul-1998'    [            2]
      '03-Jul-1998'    [            3]
      '04-Jul-1998'    [       4561.2]
      '05-Jul-1998'    [       5612.3]

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

dates = ['01-Jan-2001';'01-Jan-2001'; '02-Jan-2001'; ...
'02-Jan-2001'; '03-Jan-2001';'03-Jan-2001'];
times = ['11:00';'12:00';'11:00';'12:00';'11:00';'12:00'];
dates_times = cellstr([dates, repmat(' ',size(dates,1),1),... 
times]);
timeday = fints(dates_times,(1:6)',{'Data1'},1,'My first FINTS')
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints (line 165) 
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/display (line 66) 

timeday = 
 
    desc:  My first FINTS
    freq:  Daily (1)

    'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
    '01-Jan-2001'    '11:00'          [          1]
    '     "     '    '12:00'          [          2]
    '02-Jan-2001'    '11:00'          [          3]
    '     "     '    '12:00'          [          4]
    '03-Jan-2001'    '11:00'          [          5]
    '     "     '    '12:00'          [          6]

Используйте целочисленную индексацию, чтобы присвоить значение 999 первому элементу в объекте.

timeday(1) = 999
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/subsasgn (line 118) 
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/display (line 66) 

timeday = 
 
    desc:  My first FINTS
    freq:  Daily (1)

    'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
    '01-Jan-2001'    '11:00'          [        999]
    '     "     '    '12:00'          [          2]
    '02-Jan-2001'    '11:00'          [          3]
    '     "     '    '12:00'          [          4]
    '03-Jan-2001'    '11:00'          [          5]
    '     "     '    '12:00'          [          6]

Для присвоения значения с помощью векторов символов даты заключите вектор символов в одинарные кавычки. Если дата имеет многократно, определение только даты и присвоение значения приводят к каждому элементу той даты, берущей присвоенное значение. Например, чтобы присвоить значение 0.5 всему времени суток 1 января 2001, войти

timedata('01-Jan-2001') = 0.5

Результат

Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/size (line 28)
  In help (line 53) 

timedata = 
 
    desc:  My first FINTS
    freq:  Daily (1)

    'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
    '01-Jan-2001'    '11:00'          [     0.5000]
    '     "     '    '12:00'          [     0.5000]
    '02-Jan-2001'    '11:00'          [          3]
    '     "     '    '12:00'          [          4]
    '03-Jan-2001'    '11:00'          [          5]
    '     "     '    '12:00'          [          6]

Чтобы получить доступ к отдельным компонентам финансового объекта временных рядов, используйте синтаксис структуры. Например, чтобы присвоить область значений данных ко всем элементам данных в серии Data1, можно использовать

timedata.Data1 = (0: .1 : .5)'
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/size (line 28)
  In help (line 53) 

timedata = 
 
    desc:  My first FINTS
    freq:  Daily (1)

    'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
    '01-Jan-2001'    '11:00'          [          0]
    '     "     '    '12:00'          [     0.1000]
    '02-Jan-2001'    '11:00'          [     0.2000]
    '     "     '    '12:00'          [     0.3000]
    '03-Jan-2001'    '11:00'          [     0.4000]
    '     "     '    '12:00'          [     0.5000]

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте