if statement within loop
조회 수: 4 (최근 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!