我有这样的python代码
import numpy as np
a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
a=np.array(a)
b = np.zeros(shape = (3,5))
x = 0;
for i in range(0, 3):
for j in range (0, 5):
b[i,j] = a[x];
x= x+1
print(b[i,:])
此代码的输出如下:
[1. 2. 3. 4. 5.]
[ 6. 7. 8. 9. 10.]
[11. 12. 13. 14. 15.]
这个python代码的等效MatLab代码是什么? 如果有人帮助我解决这个问题,我将不胜感激。
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
% a = 1:15 or a = linspace(1,15,1) as alternative
b = zeros(3,5);
x = 1; % Matlab starts at 1, not 0
for ii=1:3
for jj=1:5
b(ii,jj) = a(x);
x = x+1;
end
end
b % if you want output
我认为这将是您的代码的 1:1 翻译,即使它不是那么漂亮
容易:
b = reshape(a, [5,3])'
我想。 重塑 a 形状,然后转置以适应您的输出