通过设计,MATLAB®软件可以有效地执行重复操作数据存储在向量和矩阵的集合。MATLAB代码写入操作同时在不同的数组是矢量化。向量化代码不仅是干净和简洁,但也有效地由MATLAB处理。
由于MATLAB优化处理向量化代码,许多金融工具箱™函数接受向量或矩阵输入参数,而不是单个(标量)值。
这样的函数的一个例子irr
函数,它的内部收益率计算现金流流。如果你输入一个向量的现金流从一个现金流流,然后irr
返回一个标量的回报率。如果你输入一个矩阵的现金流来自多个现金流流,其中每个矩阵列代表一个不同的流,然后irr
内部回报率的回报一个向量,输入的列对应的列矩阵。许多其他金融工具箱功能类似的工作。
作为一个例子,假设你让一个100美元的初始投资,然后从该站点获得一系列年度现金收入的10美元,20美元,30美元,40美元,50美元。这个现金流流存储在一个向量
现金流= [-100 10 20 30 40 50]'
现金流= -100 10 20 30 40 50
使用irr
函数来计算内部收益率的现金流流。
率= irr(现金流)
率= 0.1201
单一的现金流流现金流
,该函数返回一个标量的回报率0.1201
,或12.01%。
现在,使用irr
函数来计算内部收益率为多个现金流流。
(现金流率= irr(现金流现金流)
率= 0.1201 0.1201 0.1201
MATLAB上执行相同的计算所有的资产。三个现金流流的irr
函数返回一个向量的三个内部回报率。
金融工具箱的背景下,矢量化编程项目组合管理是有用的。你可以组织成一个集合的多个资产每个资产将数据在不同的矩阵列或行,然后通过金融工具箱函数的矩阵。
输入MATLAB特征向量单引号包围(的特征向量
)。
一个向量存储为字符数组,每个元素一个ASCII字符。因此,特征向量的日期
DateCharacterVector =“9/16/2017”
这个日期实际上是一个特征向量1
——- - - - - -9
向量。如果你创建一个向量或矩阵的特征向量,向量的每个字符必须具有相同的长度。使用一个列向量来创建一个特征向量的向量可以让你在视觉上检查所有特征向量长度相同。如果你的角色向量是不一样的长度,使用空格或零,使它们相同的长度,如以下代码。
datefield = [' 01/12/2017 ' ' 02/14/2017 ' ' 03/03/2017 ' ' 06/14/2017 ' ' 12/01/2017 '];
datefield
是一个5
——- - - - - -10
字符数组向量。
你不能混合数字向量或矩阵和特征向量。如果你输入向量或矩阵包含数字和字符的混合向量,用MATLAB对每个元素作为一个字符。例如,输入下面的代码
项= (83 90 99的14 - 9月- 1999]
项= szc14 - 9 - 1999
软件理解的输入而不是1
——- - - - - -4
向量,但作为一个1
——- - - - - -14
字符数组的值szc14 - 9 - 1999
。
一些函数不返回参数,返回一个,和一些返回多个参数。函数返回多个参数使用语法
(A, B, C) =函数(input_arguments…)
返回参数一个
,B
,C
。如果您省略一个,函数返回第一个参数。因此,在这个例子中,如果你使用语法
X =函数(input_arguments…)
的函数
返回一个值一个
,但不是B
或C
。
一些函数,返回向量只接受标量作为参数。等功能不能接受向量参数和返回矩阵,每一列的输入输出矩阵对应于一个条目。输出向量可以可变长度。
例如,大多数函数需要资产生命作为输入,并返回值对应于不同时期资产生命,不能处理向量或矩阵作为输入参数。这些功能包括摊销
,depfixdb
,depgendb
,depsoyd
。例如,考虑一个车,你想计算折旧时间表。使用depfixdb
函数来计算流产量法为资产折旧值。设置初始资产价值和资产的生命周期。注意,在返回的向量,资产生命周期确定的行数。现在考虑一个集合的汽车有不同的寿命。因为depfixdb
不能输出矩阵的每一列的不平等的行数,depfixdb
不能接受一个输入向量集合中的每个资产与值。