Matlab - 定义一个求和函数

Matlab - define a function that is a summation

我正在尝试定义我稍后将推导的函数,该函数是

我的代码如下:

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

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

首先,请不要使用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] 获得导数。