Ric*_*k T 0 matlab numerical octave numerical-methods
我正在尝试找到一种方法来创建一个如下所示的数字模式
0,1,-2,3,-4,5....  
请注意:它需要达到200000,但我会将它们分成2000组.
我找到了一个似乎可以在http://oeis.org/A181983上运行的公式,但是当我在MATLAB/Octave中创建公式时,数字不匹配:
f_num= @(x) x / (1 + x)^2;
numval = f_num(1)
numval =  0.25000
还有另一种方法我应该这样做吗?
(-1)^x只需使用一个线性递增运营商从去0到200000繁衍序列通过(-1)^(x+1)允许序列替代的符号:
x = 0:200000;
y = ((-1).^(x+1)) .* x;
添加该+1值非常重要,以便偶数位置得到正号,而奇数位置得到负号.  
或者,您可以从0to 声明相同的数组200000,索引到每个偶数位置并取消符号:
x = 0:200000;
x(2:2:end) = -x(2:2:end);
还有一个投入混合.你知道,对于cos(x*pi),x奇数时输出为-1,偶数时输出为1 x.我们需要翻转这对于你的情况,并最终利用这个交替序列用相同的阵列从去乘0到200000,因此:
x = 0:200000;
y = (-cos(x*pi)).*x;
有趣的是,(-1)^x它也等于exp(i*pi*x)所有的x整数值.我们可以使用Euler公式来验证这一点,其中:exp(i*pi*x) = cos(pi*x) + i*sin(pi*x).因为i*sin(pi*x) = 0对于所有x属于整数,我们真的得到exp(i*pi*x) = cos(pi*x).替换偶数x会给我们1,奇数x会给我们-1,因此exp(i*pi*x) = cos(pi*x) = (-1)^x所有x属于整数.  
另外,(-1)^(x+1) = -(-1)^x = -cos(x*pi)对于所有x属于整数的方法,所以第一种方法实际上与第三种方法完全相同!