# Connecting two Matlab scripts under one loop

2 visualizzazioni (ultimi 30 giorni)
okoth ochola il 19 Gen 2023
Commentato: okoth ochola il 19 Gen 2023
Hi, I written a matlab script to help me in some basic data filtration. Please see a copy of the code below. The code is for me well, however my problem is, I want to instruct the program to terminate when the first part's ccondition is not met (that is, when the percentage_S>4%), diplay the percentage and exit the operation without executing the second part which is demarcated by the comment. As at now, the two parts seems independent to each other.How can these two part be merged to dependent on each other? Such that execution of second part depend of execution of the first.You can use any random data as input if need be. Please help anyone there, thank you in advance.
A=input('enter wind speed mean\n');
%first part
a = numel(A(A<0));
b = numel(A(A>10));
S = a+b;
N = numel(A);
percentage_S = (S/N)*100;
if percentage_S<4
fprintf('Data is good proceed with analysis %g ', percentage_S)
else
end
%statrt of second part
nrows= numel(A);
ncols=1;
for i=1:nrows
for j=1:ncols
if A(i,j)<0
A(i,j)=0;
elseif A(i,j)>10
A(i,j)=10;
else
fprintf('the matrix is',A)
end
end
end
A;
percentage_S
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

VBBV il 19 Gen 2023
Modificato: VBBV il 19 Gen 2023
A=100*rand(10,1); %input('enter wind speed mean\n');
%first part
a = numel(A(A<0));
b = numel(A(A>10));
S = a+b;
N = numel(A);
percentage_S = (S/N)*100
percentage_S = 80
if percentage_S>4 % simply swap the conditon and put it otherway roudn
%statrt of second part
nrows= size(A,1)
ncols=1;
for i=1:nrows
for j=1:ncols
if A(i,j)<0
A(i,j)=0;
elseif A(i,j)>10
A(i,j)=10;
else
fprintf('the matrix is %d\n the percentage is %f\n',A, percentage_S)
end
end
end
else
fprintf('Data is good proceed with analysis %g ', percentage_S)
end
nrows = 10
the matrix is 10 the percentage is 1.435338 the matrix is 1.629579e+01 the percentage is 47.914571 the matrix is 1.913592e+01 the percentage is 7.383006 the matrix is 5.963818e+01 the percentage is 81.977436 the matrix is 9.235086e+01 the percentage is 97.338002 the matrix is 80 the percentage is the matrix is 10 the percentage is 1.435338 the matrix is 10 the percentage is 10.000000 the matrix is 10 the percentage is 7.383006 the matrix is 5.963818e+01 the percentage is 81.977436 the matrix is 9.235086e+01 the percentage is 97.338002 the matrix is 80 the percentage is
##### 2 CommentiMostra NessunoNascondi Nessuno
VBBV il 19 Gen 2023
Modificato: VBBV il 19 Gen 2023
Swap the condition in the if-else statement, and put them inside the if part
okoth ochola il 19 Gen 2023
thank you, this worked

Accedi per commentare.

### Più risposte (1)

Jiri Hajek il 19 Gen 2023
Hi, I'm responding to your request "I want to instruct the program to terminate when the first part's ccondition is not met ". You can use the terminating command return: https://www.mathworks.com/help/matlab/ref/return.html
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
okoth ochola il 19 Gen 2023
Wow, that was simple and fast. Thank you.

Accedi per commentare.

### Categorie

Scopri di più su MATLAB in Help Center e File Exchange

R2016a

### Community Treasure Hunt

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

Start Hunting!

Translated by