[討論] 如何更有效率?

看板MATLAB作者 ( )時間12年前 (2013/09/07 11:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/5 (看更多)
已知有一行向量 X = [a, b, c, d]' 想要生成 Y = [ a, 0, 0, 0 ] [ b, a, 0, 0 ] [ c, b, a, 0 ] [ d, c, b, a ] 4x4 矩陣 目前的寫法 tic X = [1:n]'; i = 1; Y = zeros(numel(X),numel(X)); while i <= numel(X) Y(:,i) = [zeros(i-1,1);X(1:numel(X)+1-i,1)]; i = i+1; end toc 當 n 為 1000 時,計算時間為 0.008490 秒 當 n 為 5000 時,計算時間為 0.147806 秒 當 n 為 10000 時,計算時間為 0.462627 秒 當 n 為 20000 時,計算時間為 1.777377 秒 電腦配備:i7-2600 3.4GHz、RAM 8G、Windows 8、Matlab R2013a 請問各位大大有沒有更有效率的寫法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.119.249
文章代碼(AID): #1IAfz5ww (MATLAB)
文章代碼(AID): #1IAfz5ww (MATLAB)