【问题标题】:summation series using octave使用倍频程求和系列
【发布时间】:2013-11-09 21:27:49
【问题描述】:

是否可以在 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 提供解析解,用于 sumbolic 级数求和。
  • @LeonidBeschastny,我只需要数字
  • 那么sum 可能会。举一个你的问题的例子,我会给你一个解决方案。

标签: matlab octave


【解决方案1】:

如果您不需要分析解决方案,则不需要symsum。例如如果你想计算

你可以简单地使用sum

sum([1:5])

这是另一个例子:

f = @(x) exp(-x)
sum(f([1:5]))

还有一个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]))

【讨论】:

  • 非常感谢您的回答。请您看一下附录。到目前为止,我正在尝试计算但没有成功。
猜你喜欢
  • 1970-01-01
  • 2012-10-04
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
相关资源
最近更新 更多