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 个评论

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)

请先登录,再进行评论。

 采纳的回答

%% 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 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by