您能帮助了解如何使用缩短方式在Octave中创建矩阵吗?
我需要有(矩阵(A=[4,8,16,32,64128];想要使用类似A=[4:*2:128](意思是开始=4,步骤=*2:结束=128(的东西,但这在八度音阶中不起作用。
矩阵B=[1 4 9 16 25 36]也需要这样做,其中步长在开始时为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