Octaveで総和シリーズを行うことは可能ですか?
matlab にはsymsum
関数がありますが、オクターブに似たものは見つかりませんでした。
たとえば、次の合計を見つけたい
補遺:
このようなものを合計することが可能かどうか
f = @(x) nchoosek(5,x)*0.1.^x*0.9.^(5-x)
sum(f([0:5]))
エラーで失敗しました
error: called from:
error: /usr/share/octave/3.6.4/m/help/print_usage.m at line 87, column 5
error: /usr/share/octave/3.6.4/m/specfun/nchoosek.m at line 95, column 5
error: at line -1, column -1
error: evaluating argument list element number 1
分析ソリューションが必要ない場合は、symsum
は必要ありません。たとえば、計算したい場合
単にsum
を使用できます
sum([1:5])
別の例を次に示します。
f = @(x) exp(-x)
sum(f([1:5]))
そしてもう1つは factorial
function :
g = @(n) 1 ./ factorial(n)
sum(g([0:5]))
同じですが、匿名関数はありません:
sum(1 ./ factorial([0:5]))
最後の例として、nchoosek
はスカラー引数のみを許可します。したがって、追加のarrayfun
呼び出しが必要になります。
f = @(x) nchoosek(5,x)*0.1.^x*0.9.^(5-x)
sum(arrayfun(f,[0:5]))