Azzera filtri
Azzera filtri

How can I tell matlab to go back and recalculate?

3 visualizzazioni (ultimi 30 giorni)
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!!

Risposta accettata

Giorgos Papakonstantinou
Giorgos Papakonstantinou il 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

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by