728x90
반응형
clc
clear
N=1000;
seq = randn(1,N);
% Vectorized solution
tic;
s = sum(seq);
Vectorized = toc
% For loop
tic;
for f = seq
s = s + f;
end
For1 = toc
% For loop w/scalar indeces
tic;
for i = 1:N
s = s+seq(i);
end
For2 = toc
Vectorized/For1
For2/For1
실행결과
Vectorized = 3.2509e-004
For1 = 0.0025
For2 = 2.5483e-005
Vectorized/For1 = 0.0896
For2/For1 = 0.0070
일반적으로 for루프를 돌리면 Matlab에서는 속도가 떨어진다. 그래서 코드를 벡터형식으로 변환을 해주면 속도가 빨라진다. 이외에도 c/c++ 처럼 다른 언어로 처리하여 import 하는 방법도 있다.
728x90
반응형
'Programming > Matlab, Octave, Scilab' 카테고리의 다른 글
Octave를 이용하여 Excel 사용하기 (0) | 2022.11.11 |
---|---|
[Matlab] Parallel Processing Example Code (0) | 2010.05.25 |
[Matlab] Double vs Cell array Speed. (0) | 2010.05.16 |
[Matlab] Webcam 을 이용해서 동영상 보기 코드 (0) | 2010.05.01 |
[Matlab]patch 사용해 보기 - waitbar 구현을 위해... (0) | 2010.05.01 |
댓글