0
我有一個nx3數組A
。我想創建一個細胞B
使得:以矢量化的方式將數組內容複製到單元格中MATLAB
for i=1:size(A,1)
B{i}=A(i,:);
end
我能做到這一點的向量化的方式,而不用於循環或在Matlab任何比這更快嗎?
編輯:
這個問題就產生了我,因爲我想呼籲的A
每一行的功能。該函數僅輸出一個標量。所以一旦我已經形成B
,我可以叫cellfun
:
C=cellfun(@func,B)
我這樣做。 for
循環似乎仍然更好。
b=rand(1000000,15);
tic
for i=1:size(b,1)
f{i}=b(i,:);
end
toc
tic
e=mat2cell(b, ones([1 size(b,1)]), [ size(b,2) ]);
toc
OUTPUT:
Elapsed time is 1.386777 seconds.
Elapsed time is 2.237526 seconds.
我做編輯。 'for'循環似乎仍然更好。 –