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