Назначение содержимого
subsasgn
не рекомендуется. Использовать timetable
вместо этого. Для получения дополнительной информации смотрите Преобразование финтов финансовых временных рядов в Timetables.
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]