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

the value of y in the while loop doesn't vary from the previous ?

Asked by mohamed on 26 Feb 2013
>> n=2;
>>t=520
>> r=5;
>> p=1000;
>> x=n*r*t/p;
a=1; , b=2;
>> y=n*r*t/(p+a*n^2/x^2))+n*b;
while abs(x-y)<= 0.001
x=y;
y=n*r*t/((p+a*n^2/x^2))+n*b;
end

0 Comments

mohamed

Tags

Products

No products are associated with this question.

1 Answer

Answer by Walter Roberson on 26 Feb 2013
Accepted answer

I suspect you will find that your while loop body is not executing at all.

7 Comments

mohamed on 27 Feb 2013

yes , i run the code in my mind and i want it to continue until the condition is satisfied (difference<=0.001)

bym on 28 Feb 2013

so the loop should continue while the difference is greater than .001?

Image Analyst on 28 Feb 2013

It's not even satisfied the very first time! Like Walter tried to tell you, the first time it hits that line, x = 5.2, and y = 9.1992, so abs(x-y) = 3.992 and since this is not less than 0.001, your loop never even gets entered the very first time. If you learn how to use the debugger, or simply leave off semicolons, you will discover these kinds of things very very easily and quickly.

Walter Roberson

Contact us