2013-02-25 100 views
0

我正試圖執行這個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 

回答

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 
+0

如果您需要在循環中更改增量或端點,則必須使用「while」循環。 – 2013-02-25 16:34:52

0

您的描述和代碼是完全矛盾的......請仔細檢查兩個循環。我將列出的差異:

  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:第十行代碼並不表示

請更正這些錯誤。

+0

Parag,我更新,以更有意義的描述。現在看起來如何? – Liquidmetal 2013-02-25 05:22:43

+0

@ user2105984你能否告訴我你在哪裏做了修改。我沒有看到任何改變。請參考我的回答並作相應解釋。 – 2013-02-25 05:43:33

+0

對不起,我的意思是指定我沒有寫出代碼試圖正確實現的解釋。我改變了這樣一句話:「將X的值添加到索引的值中,並且X和索引通過X = X +索引節返回到循環中」 – Liquidmetal 2013-02-25 14:26:30