MATLAB中的序列

MATLAB中的序列,matlab,sequence,Matlab,Sequence,编写一个MATLAB表达式以生成包含以下序列的前100项的向量:2、-4、8、-16、32、 我的尝试: n = -1 for i = 1:100 n = n * 2 disp(n) end 问题是n的所有值都不会显示在单个(1 x 100)向量中。既不显示交替的正项也不显示负项。怎么做 有一个几何级数,其中r=-2 要生成2、-4、8、-16、32,请键入以下内容: >>-(-2).^[1:5] 2, -4, 8, -16, 32 您可以相应地更改5的

编写一个MATLAB表达式以生成包含以下序列的前100项的向量:2、-4、8、-16、32、

我的尝试:

n = -1 
for i = 1:100 
    n = n * 2 
    disp(n)
end

问题是n的所有值都不会显示在单个(1 x 100)向量中。既不显示交替的正项也不显示负项。怎么做

有一个几何级数,其中r=-2

要生成2、-4、8、-16、32,请键入以下内容:

>>-(-2).^[1:5]

 2, -4, 8, -16, 32

您可以相应地更改5的值。

您有一个几何级数,其中r=-2

要生成2、-4、8、-16、32,请键入以下内容:

>>-(-2).^[1:5]

 2, -4, 8, -16, 32

您可以相应地更改5的值。

尽管有更好的方法,如@lakesh的答案所述。我会指出你代码中的错误

  • 通过键入
    n=n*2
    ,它如何成为向量
  • 通过执行
    n=n*2
    ,您将生成-2、-4、-8、-16
  • 因此,正确的代码应为:

    n = -1 
    for i = 2:101 % 1 extra term since first term has to be discarded later 
        n(i) = -n(i-1) * 2;
        disp(n)
    end
    
    您可以放弃
    n
    的第一个元素,以获得所需的确切序列

    n(end)=[];
    

    尽管有更好的方法,正如@lakesh在回答中提到的那样。我会指出你代码中的错误

  • 通过键入
    n=n*2
    ,它如何成为向量
  • 通过执行
    n=n*2
    ,您将生成-2、-4、-8、-16
  • 因此,正确的代码应为:

    n = -1 
    for i = 2:101 % 1 extra term since first term has to be discarded later 
        n(i) = -n(i-1) * 2;
        disp(n)
    end
    
    您可以放弃
    n
    的第一个元素,以获得所需的确切序列

    n(end)=[];