run two loop in different script

i am running a loop in the first script, and in the second script there is loop generate random number "rN".
and there is a condition in the first script says:
if rN > 0.9
c=('stop')
end
how i can combine these two script ?????

7 Comments

Please show your two scripts, or at least enough of a subset of them, to give us more detail.
Always in this cases is a good practice to show a full example of what you are doing. Do you have any reason for not doing the second script a function that it's called by the first one? The function of the second script can return rN and do your math with that
first scrript
%% animation part
while( distanceToGoal > goalRadius )
[v, omega] = step(controller, robot.CurrentPose);
drive(robot, v, omega)
robotCurrentLocation = robot.CurrentPose(1:2)
distanceToGoal = norm(robotCurrentLocation - robotGoal);
if rN > 0.9
c=('stop')
end
end
second script
for i = 1 : 5
rN = rand;
pause(2)
disp(['rN = ' num2str(rN)])
end
%% animation part
while( distanceToGoal > goalRadius )
[v, omega] = step(controller, robot.CurrentPose);
drive(robot, v, omega)
robotCurrentLocation = robot.CurrentPose(1:2)
distanceToGoal = norm(robotCurrentLocation - robotGoal);
for i = 1 : 5
rN(i) = rand;
pause(2);
disp(['rN = ' num2str(rN)])
end
if any(rN > 0.9)
c = 'stop';
%did you want to break out of the while loop here?
end
end
if the code below strat
for i = 1 : 5
rN(i) = rand;
pause(2);
disp(['rN = ' num2str(rN)])
end
the code below will stop working till finishing the loop
while( distanceToGoal > goalRadius )
As rN values are generated, at what point should they become available to the other loop? As soon as possible after they are generated? After the 2 second pause? After the 'disp' ?
Should each iteration of the while loop be given the 5 random numbers, or should each iteration be given one random number? Should the 2 second pause affect the while loop?
yas
1- rN values should they become available As soon as possible after they are generated?
2-while loop have to continue calculating till rN > 0.9, then (while loop have to stop to start another condition)

Sign in to comment.

 Accepted Answer

%% animation part
while( distanceToGoal > goalRadius )
[v, omega] = step(controller, robot.CurrentPose);
drive(robot, v, omega)
robotCurrentLocation = robot.CurrentPose(1:2)
distanceToGoal = norm(robotCurrentLocation - robotGoal);
rN = rand;
disp(['rN = ' num2str(rN)])
if rN > 0.9
break;
end
pause(2);
end

2 Comments

In this code, one rN value will be generated for each while loop iteration. This achieves your goal that the while loop continues calculating until an rN > 0.9 is generated.
Many thanks dear

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!