什么等同于MatLab中的Python压缩函数?

t40tm48m  于 2022-11-15  发布在  Matlab
关注(0)|答案(3)|浏览(185)

我下面有一段Python代码,它将快速遍历两个数组并打印输出。在MatLab中,这段代码的等价物是什么?

x = [1, 2, 3, 4, 5]
y = [1, 2, 3, 4, 5]

for i, j in zip(x, y):
    print(i, j)
vxqlmq5t

vxqlmq5t1#

你可以做两件事。
在MatLab中,最自然的方法是迭代索引:

x = [1, 2, 3, 4, 5];
y = [10, 20, 30, 40, 50];

for i = 1:numel(x)
   disp([x(i), y(i)]);
end

另一种方法是连接这两个数组。MatLab的for循环遍历数组的列:

for i = [x;y]
   disp(i.');
end

请注意,这种替代方法的效率通常要低得多,因为串联需要复制所有数据。

az31mfrm

az31mfrm2#

你可以通过iterate的索引,MatLab喜欢for循环。

matlab
for i=1:5
   x(i), y(i)
end
k75qkfdt

k75qkfdt3#

对于matlab,没有与pythonzip函数等效的函数;如果您正在寻找类似的函数,我建议您查看this SO answer about creating a zip function in MATLAB.
否则,遍历索引是可行的。

% Create lists
x = [1 2 3 4 5];
y = [1 2 3 4 5];

% Assuming lists are same length, iterate through indices
for i = 1:length(x)
    disp([x(i) y(i)]);
end

相关问题