我需要計算這一系列
我需要輸出這種方式的總和:
If n = 3;
x = function_name(n)
我需要得到x = 11.
If n = 5;
x = function_name(n)
我需要得到x = 45
。
我相信我需要一個for-loop來迭代;但是我發現很難迭代增量值本身。
我需要計算這一系列
我需要輸出這種方式的總和:
If n = 3;
x = function_name(n)
我需要得到x = 11.
If n = 5;
x = function_name(n)
我需要得到x = 45
。
我相信我需要一個for-loop來迭代;但是我發現很難迭代增量值本身。
inc=2;
sum=1;
next=1;
n=input('what is n?\n');
for i=2:n
next=next+inc;
sum=sum+next;
inc=inc+2;
end
disp('sum is ');
disp(sum);
d = 2;
n = 5;
s = d:d:d*(n-1)
cs = cumsum([1 s])
scs = sum(cs)
%// or as anonymous function
scsh = @(n,d) sum(cumsum([1 d:d:d*(n-1)]))
scs =
45
scsh(5,2) =
45
沒有必要爲一個循環!
我需要的總和(只)的數字在圖的第2列,即 – user3812887
系列如果n = 5;我需要有1 + 3 + 7 + 13 + 21 = 45; Matlab函數只能使用一個輸入;那就是n。 – user3812887
如果我提供n = 3的輸入,那麼Matlab需要取我11作爲輸出;我需要開發函數內部的系列,然後生成總和 – user3812887
function Total = abc(n)
nth_term=1;
Total = 1 ;
for d = 2:2:(2*(n-1))
nth_term = nth_term + d;
Total =Total + nth_term;
end
end
這也適用;無論如何感謝你們兩個,尤其是@netizen – user3812887
我想到了另一種方式。 – user3812887