看板 MATLAB 關於我們 聯絡資訊
※ 引述《captainVince (purple rain￾ ￾N￾ )》之銘言: : 請問一下 : 假設有一段code事降子 : for k=1:16 : for m=1:16 : A(k,m)=B(m)-C(k); : end : end : A是一個16x16 matrix : B, C是一個 1x16 Array : 可以不要用for loop就可以完成嗎? : 因為時間時再是太慢了... : 謝謝 在我的電腦上用 repmat 比先宣告 A 矩陣還慢, 而且 repmat 比較吃記憶體。 MATLAB Version 7.4.0.287 (R2007a) clear all; clc; N = 1000; B = rand(N,1); C = rand(N,1); tic; A1 = zeros(N,N); for k=1:N for m=1:N A1(k,m)=B(m)-C(k); end end t1 = toc % clear A1; tic; A2 = repmat(B.',N,1) - repmat(C,1,N); t2 = toc isequal(A1,A2) t1 = 0.0621 t2 = 0.1210 ans = 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.158.241