无法理解一些数组语法

时间:2016-09-22 09:53:57

标签: arrays matlab vector

我找到了像这样的MATLAB代码:

x = [1, ([1:(m-1)].^a)];

其中am是标量。

有人可以解释一下吗?我对MATLAB编程语言并不熟悉。

1 个答案:

答案 0 :(得分:3)

  • 1:(m-1)1为步骤从m-11创建并排列数组。
  • .^a将前一个数组中的每个元素提升为幂a^是常规幂并尝试计算矩阵幂,.使操作元素-wise,即将每个元素提升为幂a而不是整个矩阵
  • [1, y]只是数组y,其中1作为第一个元素。{/ li>

综上所述,我们发现x是一个以1开头的数组,后跟一个整数数组1:(m-1),每个元素都被提升到幂a

m=5;a=3;
x = [1, ([1:(m-1)].^a)]
x =
     1     1     8    27    64

按步骤分解:

tmp = 1:(m-1)
tmp =
     1     2     3     4
tmp2 = tmp.^a
ans =
     1     8    27    64
x = [1 tmp2]
x =
     1     1     8    27    64