Присвоение содержимого
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]