是否可以在Octave中进行求和系列?
在matlab中有它的symsum
功能,但我没有发现任何类似的八度音阶.
例如,我想找到以下总和
附录:
是否有可能总结这样的东西
f = @(x) nchoosek(5,x)*0.1.^x*0.9.^(5-x)
sum(f([0:5]))
Run Code Online (Sandbox Code Playgroud)
失败,错误
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
Run Code Online (Sandbox Code Playgroud)
Leo*_*tny 26
如果您不需要解决方案,那么您就不需要了symsum
.例如,如果要计算
你可以简单地使用 sum
sum([1:5])
Run Code Online (Sandbox Code Playgroud)
这是另一个例子:
f = @(x) exp(-x)
sum(f([1:5]))
Run Code Online (Sandbox Code Playgroud)
还有一个factorial
功能:
g = @(n) 1 ./ factorial(n)
sum(g([0:5]))
Run Code Online (Sandbox Code Playgroud)
相同,但没有匿名功能:
sum(1 ./ factorial([0:5]))
Run Code Online (Sandbox Code Playgroud)
至于你的上一个例子,nchoosek
只允许标量参数.所以,你需要额外的arrayfun
电话:
f = @(x) nchoosek(5,x)*0.1.^x*0.9.^(5-x)
sum(arrayfun(f,[0:5]))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16216 次 |
最近记录: |