用 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
你能帮忙知道如何使用缩短的方式在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