How can I tell matlab to go back and recalculate?

2 vues (au cours des 30 derniers jours)
MC3105
MC3105 le 17 Nov 2014
Commenté : per isakson le 17 Nov 2014
Hey everyone,
I am wondering what tricks I can use to tell matlab to go back to a certain point in my code?
I am doing a calculation that uses random numbers (normrnd(0,1)). At the end of the calculation I compare the result with a certain value. If my result is too small or too large, I need to recalculate, using different random numbers. So I want to tell Matlab to go back and start over...
Do you have any ideas how to do this? As I am still pretty new to Matlab, please tell me the easiest way, not the most beautiful one :)
Thanks!!
  1 commentaire
per isakson
per isakson le 17 Nov 2014
The answer is the same for most languages: &nbsp while, ..., end

Connectez-vous pour commenter.

Réponse acceptée

Giorgos Papakonstantinou
Giorgos Papakonstantinou le 17 Nov 2014
Maybe with a while loop. Let's say that you want to recalculate if your result is 10^-2 grater/smaller from your certain value.
So you would define a tolerance:
tol = 1e-2; % your tolerance
myvalue = 10; % you certain value
result = 0; % initialize result
calc = 100; % initialize calc, which is the difference between the result and your certain value
while calc>tol % your condition
% write here all you code
result = rand(1)*10;
calc = abs(result-myvalue); % update at each iteration calc
end

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by