0

このMATLABチャートを実行しようとしています。これまでのところ、機能していないように見える私のコードがあります。

基本的に、Xが10より大きい場合、X = X-インデックスであり、インデックスが開始値に等しいセクションに移動します。ループが実行されるたびに、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
4

2 に答える 2

0

説明とコードが完全に矛盾しています...2つの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 に答える
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 に答える