我正在尝试执行此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 :(得分:0)
您的描述和代码完全矛盾......请仔细检查两个for循环。我将列出差异:
X = X - index
的部分:代码的下一行不表示: for X = [X:index + increment :end_value]; %3rd line of your code
index = index + increment; %5th line of your code
X和索引通过X = X + index section
回溯,直到索引高于最终值:不清楚你想说什么
如果X<=10
,则转到X = X + index
:代码的第10行不表示
请更正这些错误。
答案 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