我在matlab的表中有以下内容
k ak
0 1
1 -0.166666667
2 0.008333333
... ...其中ak = (-1)^k/(2k+1)!但这并不重要,重要的是ak是k和(-1)^k的函数。
我正在尝试生成一组新的列,如下所示
i ai
0 1
1 0
2 -0.166666667
3 0
4 0.008333333
... ...到目前为止,我已经知道,通过拉伸我的指数(增加2而不是1)并应用ak函数,它得到了非常接近我想要的值,但它返回了绝对值。
if mod(i,2)=0
ai=(-1)^i/factorial(2*(i/2)+1);
else
ai=0;
end我怎么才能把这变成我想要的呢?
发布于 2018-09-11 20:02:51
你应该使用这个:
ai = (-1)^(ii/2)/factorial(2*(ii/2)+1);
% Notice ----^您的if-else语句可以给出一个向量输入,并以一行形式写成如下:
ai = ~mod(ii,2) .* (-1).^(ii/2)./factorial(2*(ii/2)+1);
%I used ii instead of i since i is for imaginary numbers in MATLABhttps://stackoverflow.com/questions/52282887
复制相似问题