if statement within loop
1 回表示 (過去 30 日間)
古いコメントを表示
hi all
i been trying to solve this problem for some time. i try before but i got close but not all the way. here is example
x= [ 0 2 4 6 8 10] % i use this vector for intervals as such:
%[0 2 4 6 8]
%[2 4 6 8 10]
y = [ 0.96 0.49 0.80 0.14 0.42 0.92 0.79 0.96 0.66 0.04]; %these are data values
here is my loop that dont work:
for m = 1:length(x)-1
if x(i) < y ~= 0 <x(i+1)
new1 = [x(i)];
new2 = [x(i+1)];
end
end
my if statement is poor but i dont know how to make it. in words i want to do this: if y does not equal to zero in the interval x(i), x(i+1) i want to keep x(i) and x(i+1) for the new1 and new2. but if y is equal to zero in that interval, than those values dont move to new1 and new1. please any suggestions i can try to explain better if asked but i hope its clear!!! thanks you!!!!!
2 件のコメント
Walter Roberson
2012 年 8 月 27 日
y is not 0 anywhere in your sample data, and does not cross 0 either, so there does not seem to be any point in doing the test.
採用された回答
Walter Roberson
2012 年 8 月 27 日
if any (y(x(i) : x(i+1)) == 0)
However, one of your x is 0, and y(0) does not exist. Please clarify which endpoints "in the interval" includes.
2 件のコメント
Albert Yam
2012 年 8 月 28 日
y(0) problem is NOT, y=0 at some point. y(0) means the zeroth element of y, which does not exist. Matlab indexing starts at one. So the first element of y is y(1) = some_value.
その他の回答 (0 件)
参考
カテゴリ
Help Center および 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!