gpt4 book ai didi

octave - 迭代矩阵 Octave 中的每一行

转载 作者:行者123 更新时间:2023-12-04 00:38:17 25 4
gpt4 key购买 nike

如何迭代 Z 中的每一行,其中 Z 是一个 2 * m 矩阵:

6.1101,17.592
5.5277,9.1302
8.5186,13.662

如何访问此循环中的每个 Z(i)(j)?

例如:
for i = z
fprintf('Iterating over row: '+ i);
disp (i:1);
disp (i:2);
end

会输出:
Iterating over row: 1
6.1101
17.592
Iterating over row: 2
5.5277
9.1302
Iterating over row: 3
8.5186
13.662

最佳答案

如果您使用 for i = z当 z 是矩阵时,i 取 z 的第一列的值 (6.1101; 5.5277; 8.5186),然后是第二列,依此类推。见 octave manual: The-for-Statement

如果你想遍历你可以使用的所有元素

z = [6.1101,17.592;5.5277,9.1302;8.5186,13.662]

for i = 1:rows(z)
for j = 1:columns(z)
printf("z(%d,%d) = %f\n", i, j, z(i,j));
endfor
endfor

输出:
z(1,1) = 6.110100
z(1,2) = 17.592000
z(2,1) = 5.527700
z(2,2) = 9.130200
z(3,1) = 8.518600
z(3,2) = 13.662000

但请记住,for 循环在 Octave 音阶中很慢,因此可能需要使用矢量化方法。许多函数可以使用矩阵输入进行最常见的计算。

例如,如果要计算总和:
octave> sum (z(:))
ans = 60.541

或相邻行之间的差异:
octave> diff (z)
ans =

-0.58240 -8.46180
2.99090 4.53180

关于octave - 迭代矩阵 Octave 中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26087392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com