2012-06-14 36 views
0

如何添加更多的細胞中給定的代碼矢量

function[p] = addMoreCells(v,n) 
% adding zero at the beginning 
k = length(v); 
if (k ~= n) 
    p = zeros(1,n); 
    for m = (n-1):-1:(n-k) 
     p(m+1) = v(k-(n-m-1)); 
    end 
else 
    p = v; 
end 
end 

我建立與n細胞一個新的數組,並把那裏0,後來我加入其他細胞v

它有一個內置的命令,可以執行,而不是?

謝謝

回答

1

你現在的代碼實在太複雜了。總是儘量避免在Matlab中出現循環,如果您可以對矢量而不是元素進行操作,則效率會更高。

這樣的事情呢?你可以很容易地把它變成一個功能:

>> r = rand(1,5) % example vector 

r =  
    0.9575 0.9649 0.1576 0.9706 0.9572 

>> [zeros(1,4) r] % add zeros at the beginning 

ans =  
     0 0 0 0 0.9575 0.9649 0.1576 0.9706 0.9572