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
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.
Matlabbey
Matlabbey 2012-8-27
hi,
i just use this as a example. but thanks you for your comment!!

请先登录,再进行评论。

采纳的回答

Walter Roberson
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 个评论
Matlabbey
Matlabbey 2012-8-28
thanks for response, but i actually ran into problem of y(0)!!
some interval begin at 0, is there no way to include 0 in the statement?
Albert Yam
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 CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by