"Rajasekhara Madhusudan Narayana Bhatla" <firstname.lastname@example.org> wrote in message <email@example.com>... > Hi, > I'm sought of new using matlab. I've a situation where I've to assign a variable 2 different values based on how the values in vector > > it is something like. > fs=1000; > x=1:4/fs:5; > if x<2 > Y=x.^2 > else > Y=4; > end. > > i.e, my Y will also be a vector whose value depends on where I x is. if x is <2 then y is x^2 if not it is a constant. > > I'm not sure how to do this. > i tried it with if any(x)<2 but I then i realized that it is not correct. since I want for all values of x<2 Y=x^2 and all values of x >2 x = 4. > > Please Help, > > Thanks, > Sekhar.
Learn about logical indexing, one of the great strengths of matlab. Here is an example:
x = 1:10 tf = x < 5 % a logical vector y = zeros(size(x)) % pre-allocation y(tf) = 1 y(~tf) = 10