Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Fliping a value between zero and one

Asked by Rooy on 14 Feb 2013

When p=0;

I have to use a loop to flip the value of p between 0 and 1 and each time it has to be different in a single line of code.

Thank you

2 Comments

Image Analyst on 15 Feb 2013

What does the "When p=0;" mean? You only have to flip when p=0???

When you say "flip the value of p between 0 and 1" does that mean that p is either 0 or 1 only, or does it mean p can have a value between 0 and 1, like p=.426973 and flipping means inverting like flipped_p = 1-p?

Rooy on 15 Feb 2013

This was the question given : Write a MATLAB program that will start with the variable p=0. After the initial assignment to p, have a loop flip the value of p between 0 and 1, changing it once each loop iteration USING A SINGLE LINE OF CODE. [HINT: This is a math challenge.] Display it each iteration, using the pause() function to stop the loop temporarily each iteration

Thank you everyone for all the help

Rooy

Products

No products are associated with this question.

3 Answers

Answer by Image Analyst on 15 Feb 2013
Accepted answer

Is this what you're looking for?

p=0;
for k = 1 : 5 % Here's the iterative loop it requested
	clc;
	% Here's the single line
	p = ~p
	pause(1);
end
fprintf('Done with demo!\n');

3 Comments

Youssef KHMOU on 15 Feb 2013

right !

Jan Simon on 15 Feb 2013

Alternatively, if p should keep its type DOUBLE:

p = 1 - p;
Image Analyst on 15 Feb 2013

That also works for any value or p in between 0 and 1, like I asked about in my comment way up at the top. So perhaps this is the most general solution.

Image Analyst
Answer by Youssef KHMOU on 14 Feb 2013
Edited by Youssef KHMOU on 14 Feb 2013
 your_vector=mod(0:1000,2);  %  single line code
   for i=1:length(your_vector)
   %  YOUR CODE 
   fprintf('%d\n',your_vector(i))
   pause(0.3)
   end

0 Comments

Youssef  KHMOU
Answer by Youssef KHMOU on 14 Feb 2013
 for i=1:N
  if mod(i,2)==0
       R(i)=1;
   end
 end

2 Comments

Rooy on 14 Feb 2013

Would you count this a one line of code ? Thank you

Youssef KHMOU on 14 Feb 2013

ok look at the 2nd answer

Youssef  KHMOU

Contact us