給定一個數字「c」和一個數字「數字」列表,我試圖生成所有c和任何數字子集的總和。 例如。 (1,[2,4,8]),我應該生成(注意我們應該總是有c) [1,3,5,9,7,11,13,15]對matlab中的所有子集求和
I寫下面的代碼,但不是所有的總和出現。哪裏不對?
function result = allsums(c, numbers)
if isempty(numbers)
result = [];
else
[nr n_numbers] = size(numbers);
for i = 1:n_numbers
result = cat(2, c+numbers(i), allsums(c, cat(2,numbers(1:i-1),numbers(i+1:end))));
end
end
result = cat(2, result, c+sum(numbers,2));
end
不,總和是一個矩陣元素的總和的matlab函數,2表示總和列的總和我會編輯ma代碼 – giulio 2015-02-12 02:09:23
是的,但主要的錯誤是該行中的第一個「總和」,導致你回憶起你的函數沒有輸入參數。 – scmg 2015-02-12 02:11:43
你的代碼的作品謝謝。但是,我仍然不明白我的遞歸有什麼問題... – giulio 2015-02-12 02:21:21