基本的Matlab FOR功能

时间:2013-02-25 04:18:17

标签: matlab

我正在尝试执行此matlab图表。到目前为止,这是我的代码似乎不起作用。

基本上,如果X大于10,那么它将进入X = X - index的部分,并且index等于起始值。每次执行循环时,X的值都会添加到索引的值中,X和索引将通过X = X +索引部分返回,直到索引高于结束值。

如果X <= 10,则转到X = X +索引,索引等于起始值。每次执行循环时,都会将索引添加到X以更新X,将索引添加到增量以更新索引,并将X和索引通过X = X +索引部分运行,直到索引高于最终值。

这有意义吗?

if (X > 10);
   index = start_value;
   for X = [X:index + increment :end_value];
      Y= X - index;
      index = index + increment;
      fprintf('%i, %i\n', Y, index)
   end
elseif (X <= 10)
   index = start_value;
   for X = [X: index + increment :end_value];
      Y = X + index;
      index = index + increment;
      fprintf('%i, %i\n', Y, index)
   end
end

2 个答案:

答案 0 :(得分:0)

您的描述和代码完全矛盾......请仔细检查两个for循环。我将列出差异:

  1. 如果X大于10,则转到X = X - index的部分:代码的下一行不表示:
  2. for X = [X:index + increment :end_value]; %3rd line of your code

    1. 每次执行循环时,都会从增量中减去索引:以下代码行不表示:
    2. index = index + increment; %5th line of your code

      1. X和索引通过X = X + index section回溯,直到索引高于最终值:不清楚你想说什么

      2. 如果X<=10,则转到X = X + index:代码的第10行不表示

      3. 请更正这些错误。

答案 1 :(得分:0)

不确定你要做什么,但让X循环依赖于X的东西会让事情变得不那么清晰(并且可能无法按预期工作)。

请注意for循环的常规语法是:

for t = startpoint:increment:endpoint
  % do stuff 
  % You can read here from t, startpoint,increment,endpoint but not update them
end