在Matlab中工作。我试图创建一个向量,其中每个元素都是前一个元素的函数。目标是将逻辑函数的前50个(大约(值放入向量中。所以我从0.200开始,r=4(例如(,第二个元素将是40.200(1-0.200(=0.640。第三个元素的值为0.64,并对该数字执行相同的函数,依此类推。。。我尝试过for循环,但由于函数中没有计数器,所以循环不起作用。
编辑:我创建了以下功能:
n = 0;
x = 0.200;
for n=0:100
x=4*x*(1-x)
n=n+1
end
这将给出前100个值。但我没能把它们作为向量中的值。。。
任何关于如何解决这一问题的建议都将不胜感激。
您需要对正在创建的x向量使用索引。按照你目前的编码方式,所有的东西都会变成标量x,而不是向量x。例如,
n = 50; % the number of elements you want to fill
x = zeros(1,n); % allocate a vector to hold the numbers
x(1) = 0.200; % set the first value
for k=2:n % loop through the remaining values
x(k) = 4*x(k-1)*(1-x(k-1)); % set the next value using the previous value
end
注意,在上述代码中,除了初始分配之外,x的所有使用都涉及索引,例如x(1(和x(k(以及x(k-1(。