0

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

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

如果 X<=10,那么它去 X = X + index,并且 index 等于起始值。每次循环执行时,将索引添加到X以更新X,将索引添加到增量以更新索引,并且通过X = X + index部分将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
4

2 回答 2

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
于 2013-02-25T16:33:17.570 回答
0

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

  1. 如果 X 大于 10,则它转到以下部分X = X - index:以下代码行不表示:

for X = [X:index + increment :end_value]; %3rd line of your code

  1. 每次执行循环时,都会从增量中减去索引:以下代码行并不表示:

index = index + increment; %5th line of your code

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

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

请更正这些错误。

于 2013-02-25T04:45:40.717 回答