例题:请列举出的前10项:
一般的,我们会运用cumsum函数解决这个问题:
p = 2;
k = [0:10];
G = p.^k;
stuff_1 = [cumsum(G)]'
运行结果:
stuff_1 =
1
3
7
15
31
63
127
255
511
1023
2047
笔者认为这里也可以用矩阵运算的方式对cumsum函数进行替代:
matrix_1 = [p.^k]';% 列出没有求和的前k项
matrix_big = repmat(matrix_1,1,12);% 将matrix_1平铺成方阵
matrix_half = triu(matrix_big,1);% 截取上三角矩阵
stuff_2 = [sum(matrix_half)]'% 对上三角矩阵按列求和
运行结果:
stuff_2 =
0
1
3
7
15
31
63
127
255
511
1023
2047