用 Octave 语言创建矩阵 A = [4 ... 128]

Create a matrix A = [4 ... 128] in Octave language

你能帮忙知道如何使用缩短的方式Octave中创建矩阵吗?

我需要 (矩阵) A = [4, 8, 16, 32, 64, 128]; 想要使用类似 A = [4: *2 : 128] 的东西(意思是 start = 4, step = *2 : finish = 128),但这在 Octave 中不起作用。

同样需要对矩阵B = [1 4 9 16 25 36]做同样的事情,其中​​step一开始是3,下一步是增加2。

有什么想法吗?

使用冒号运算符,您只能执行相同大小的步数。但是请注意你的矩阵

A = [4, 8, 16, 32, 64, 128];

具有结构[2^2, 2^3, 2^4, ..., 2^7],因此您可以利用广播并将其定义为

A = 2.^[2,3,4,5,6,7];

或者干脆

A = 2.^(2:7);

您可以为该任务使用循环。您只需要在循环语句中编写一致的规则。一种可能的方法如下:

  start=1;
  finish=36;

  matrix(1)=start; i=2; last_term=start; %inicializations needed for the loop start
  while last_term < finish
    matrix(i)=matrix(i-1)+(1+2*(i-1)); %here you define your rule
    last_term=matrix(i);
    i=i+1;
  endwhile
  matrix %your output is printed in the console