Setting variable to zero with conditional statement?
显示 更早的评论
I'm writing a for loop which runs through values and sometimes the element that the loop selects is outwith the vector length.
For example, say I have a vector of 10 entries and the loop asks for the 11 "th" entry it doesn't exist so I get an error.
How do I put this in the code with an if statement? I want the code to go like:
%the loop selects y(n)
if n>10 then set y(n) = 0
else y(n) = y(n)
Sorry if it's unclear, I'm sure it's a simple fix?
2 个评论
Jose Marques
2017-11-19
Could you post your entire code? So we can help you better
matlabkid602
2017-11-19
编辑:Walter Roberson
2017-11-19
回答(1 个)
Walter Roberson
2017-11-19
if n>length(y); y(n) = 0; end
3 个评论
matlabkid602
2017-11-19
Walter Roberson
2017-11-19
If I understand correctly, for negative shift you would like to set array locations with negative indices? That is not permitted in MATLAB. Do you want negative shift to be interpreted as starting from the maximum value, with n = -1 being interpreted the same as y(end) and n = -2 being interpreted the same as y(end-1) ?
matlabkid602
2017-11-19
编辑:matlabkid602
2017-11-19
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!