对于数列的概念,高中都接触过,这里只是简单的概述一下。
数列是指按一定次序排列的一列数,数列的一般形式可以写为 a 1 , a 2 , a 3 , . . . , a n , a ( n + 1 ) a_1,a_2,a_3,...,a_n,a_(n+1) a1,a2,a3,...,an,a(n+1)
简记为{an},数列中的每一个数都叫做这个数列的项,数列中的项必须是数,它可以是实数,也可以是复数。
数列的分类就不再赘述了。
数列求和特殊的也就等差与等比数列求和,等差数列求和公式如下:
S = n ( a 1 + a n ) 2 S=\frac{n(a_1+a_n)}{2} S=2n(a1+an)
其中a1为首项,an为末项。
那么如果需要求前n项和咋办,也有公式
S n = n ∗ a 1 + n ∗ ( n − 1 ) 2 ∗ d S_n=n*a_1+\frac{n*(n-1)}{2}*d Sn=n∗a1+2n∗(n−1)∗d
同样,等比数列前n项和求和公式如下:
S = 1 − q n 1 − q a 1 S = \frac{1-q_n}{1-q}a_1 S=1−q1−qna1
在MATLAB中,提供了求数列中所有元素和的函数sum。sum的调用方法共有四种:
2)若A是一个矩阵,则S返回每一列元素之和,组成一个行向量,其中行向量中数值的个数等于列数。
3)若A为n维阵列,则S返回n个矩阵累和。
4)S = sum(A,dim):该函数调用返回不同情况矩阵的和。其中dim = 1时,不求和,返回原矩阵,dim = 2,按照上面三种规则对矩阵求和。
该函数求和累积和中不包括NaN,同样按照上面sum的求和准则,该方式也有nansum(A,dim)是否进行求和。
A=[1,34,5,NaN,43,7,23,NaN,9,0]
A =
1 34 5 NaN 43 7 23 NaN 9 0
Y = nansum(A,2)
Y =
122
一般的求和函数 sum求解的是当前项及该项之前的元素和,cumsum 函数求解的是累计和的新定义,即每个位置的新元素值为不包括当前项的元素和。
A=cumsum(1:5,2)
A =
1 3 6 10 15
Z = cumtrapz(Y)
使用单位间距通过梯形方法计算 Y
的累积积分的近似值。要使用非单位间距计算积分,将 Z
与间距增量相乘。输入 Y
可以是复数。
对于矢量,cumtrapz(Y)
是一个包含 Y
的累积积分的矢量。
对于矩阵,cumtrapz(Y)
是大小与 Y
相同并在每列上求累积积分的矩阵。
对于多维数组,cumtrapz(Y)
跨第一个非单一维度执行计算。
Z = cumtrapz(X,Y)
使用梯形积分计算 Y
关于 X
的累积积分。X
和 Y
必须为等长度的矢量,或者 X
必须为列矢量,Y
是其第一个非单一维度为length(X)
的数组。cumtrapz
跨此维度执行运算。输入 X
和 Y
可以是复数。
如果 X
是列矢量,而 Y
是一个数组,且其第一个非单一维度为length(X)
,则 cumtrapz(X,Y)
将跨此维度运行。
Z = cumtrapz(___,dim)
使用前面语法中的任何输入参数跨标量 dim
指定的 Y
的维度求积分。X
的长度必须与 size(Y,dim)
相同。
A =[1,2,4;,5,6,7;8,9,3]
A =
1 2 4
5 6 7
8 9 3
Y = cumtrapz(A)
Y =
0 0 0
3.0000 4.0000 5.5000
9.5000 11.5000 10.5000
B = prod(A):该函数将矩阵不同维度的乘积返回给矩阵B,该方法同数列求和函数sum一样,包含四种不同的求解方法,即当A为向量时;当A为矩阵时;prod后面加一个参数dim是否进行求积;以及设置输出积的类型type参数。
A = [1 2 3 4];
B = [A;A]
B =
1 2 3 4
1 2 3 4
X = prod(A)
X =
24
Y = prod(B)
Y =
1 4 9 16
Z = prod(B,2)
Z =
24
24
B= cumprod(A):结果值中的当前元素的值是前一个元素与当前元素的积,后面的元素以此类推,对于第一个元素,默认与1相乘,对于矩阵,每一行的第一个元素均与1相乘.
B = cumprod(A,dim):积函数中包括3种情况:求积、求特殊积和不求积。其中求特殊积是指矩阵中的第一行元素中后一个元素与第一个元素相乘,默认情况下,第一行中每个元素均乘以1,即保持原值。
B = cumprod(_,direction):矩阵的方向包括’forward’或’reverse’。
A = [1 2 3 4; 6 7 8 9]
A =
1 2 3 4
6 7 8 9
X = cumprod(A)
X =
1 2 3 4
6 14 24 36
Y = cumprod(A,2)
Y =
1 2 6 24
6 42 336 3024
在表达阶乘时,就使用“!”来表示。如n 的阶乘,就表示为“n!”。例如6的阶乘记作6!,即1×2×3×4×5×6=720。
MATLAB中阶乘函数为factorial。
Y =factorial(A)
Y =
1 2 6 24
720 5040 40320 362880
伽玛函数(gamma函数),也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数。一般定义的阶乘是定义在正整数和零(大于等于零)范围里的,小数没有阶乘,这里将 gamma函数定义为非整数的阶乘,即0.5!。
伽玛函数(Gamma Function)作为阶乘的延拓,是定义在复数范围内的亚纯函数,通常写成r(x)。
在实数域上伽玛函数定义为: r ( x ) = ∫ 0 + ∞ t x − 1 e − t d t r(x)=\int_{0}^{+\infty} t^{x-1} \mathrm{e}^{-t} \mathrm{~d} t r(x)=∫0+∞tx−1e−t dt
在复数域上伽玛函数定义为: r ( z ) = ∫ 0 + ∞ t z − 1 e − t d t r(z)=\int_{0}^{+\infty} t^{z-1} \mathrm{e}^{-t} \mathrm{~d} t r(z)=∫0+∞tz−1e−t dt
同时,gamma 函数也适用于正整数,即当x是正整数n的时候,gamma函数的值是n-1的阶乘。即当输入变量n为正整数时,存在关系:factorial(n) = gamma(n)*n。
factorial(6)
ans =
720
gamma(6)
ans =
120
6*gamma(6)
ans =
720
gammainc(6,2)
ans =
0.9826
Y = gammainc(X,A)
返回 X
和 A
的对应元素的不完全 gamma
函数。A
的元素必须是非负值。而且,X
和 A
必须是实数且大小相同(或者任一项可以为标量)。