Matlab - 定义一个求和函数

时间:2017-09-25 02:11:45

标签: matlab function symbolic-math

我正在尝试定义我将稍后派生的函数,函数是

enter image description here 我的代码如下:

syms i q j
syms f(i,q)
f=symsum(((1-q)^(i-j))*j*q,j,0,i)

我得到的f向我显示了4个术语,但实际上我不知道这个数字。它是否正确或如何正确输入?

1 个答案:

答案 0 :(得分:2)

首先,请不要使用ij,,因为它们对应于虚构单位;这会导致误解。

syms N q k
syms f(i,q)
f=symsum(((1-q)^(N-k))*k*q,k,0,N)

piecewise(q == 0, 0, q ~= 0, (q + N*q - q*(1 - q)^N + (1 - q)^N - 1)/q)

结果是piecewise,如果q为0则结果为0,否则右侧给出公式。

您还可以使用WolframAlpha评估Sum[(1 - q)^(M - k) k q, {k, 0, M}],从而获得相同的结果。如您所见,您的公式可以在没有总和的情况下编写。你在WolframAlpha上得到D[Sum[(1 - q)^(M - k) k q, {k, 0, M}],q]的衍生物。