2014-05-01 35 views
0

如何通过无限数量的集合增加一个变量,在Matlab。我想要增加一个变量,直到每次循环结束0.1,但是通过一组范围。 我目前正在通过:K=K*0.1; %K = 2 initially来做这件事,但我想通过Matlab的[0.1:0.1:9]其中9是循环协调的技巧。Matlab的技巧增加变量

我的代码:

K=2; 
for ii=1:9 
K=K*0.1; 
end 
+0

你是不是指'for ii = 1:9'? –

+0

是的,我编辑过。 – user3593525

回答

0

您可以尝试使用cumprod命令返回元素的累积产在矩阵或矢量。对于你的榜样,是这样的:

K=cumprod([2 repmat(0.1,1,9)]); % returns a row vector of 9 elements 

repmat只是创建九个元素每一组的值0.1的行向量。向量中的最后一个元素K(结束)将作为您的示例返回的产品。即K = 2*0.1^9;

3

如果我理解正确:

for K = 2 * 0.1.^(1:9) 
    %// do something with K 
end 
+0

也许范围应该是'0:8',包括'K = 2'。 –

+0

它可以possibe没有for循环? – user3593525

+1

@ user3593525这取决于您想对'K'所做的操作是否可以进行矢量化。例如:'K = 2 * 0.1。^(1:9); y = sqrt(K);'。这是可能的,因为'sqrt'允许向量输入 –