Problem in using the "While" loop function

Hello, I have a function, say x=x(t) where x(t=0)=xo and x(t=1)=x(t=0)-fun(t), and x(t=2)=x(t=1)-fun(t), and so on. I want to make a loop function to calculate x(t) till x(t)=0. How can I do that?
Thank you.

4 Comments

This sounds like a homework question. What have you tried so far?
Unfortunately this is not a homework question. Here is the details: I want to calculate the function n(t) which is a function in time. At t=0, the initial condition, n(t=0)=no. As the time increases, this function decreases as: n(t)=n(t-1) - S exp(-E./(k.*t) wher E, S, and k are some constant parameters. I want to calculate this function,n(t), until reaching the minimum value which is ~0. I hope this is enough. Thank you for your help.
  • Is the time domain continuous or discrete?
  • If discrete, what is the time increment?
The time domain is discrete with increment 1.

Sign in to comment.

 Accepted Answer

Yona
Yona on 22 Sep 2014
Edited: Yona on 22 Sep 2014
you need to define all variables.
n(1)=n0;
while 1
if n(end) <=0
break;
end
n(end+1)=n(end)-S*exp(-E/(k*t));
end
matlab don't like that the length of n change, so you get a warning but it will run. after this, you will have in n all data from t=0 until t: n(t)<=0.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 18 Sep 2014

Edited:

on 22 Sep 2014

Community Treasure Hunt

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

Start Hunting!