Borrar filtros
Borrar filtros

Connecting two Matlab scripts under one loop

1 visualización (últimos 30 días)
okoth ochola
okoth ochola el 19 de En. de 2023
Comentada: okoth ochola el 19 de En. de 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

Respuesta aceptada

VBBV
VBBV el 19 de En. de 2023
Editada: VBBV el 19 de En. de 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 comentarios
VBBV
VBBV el 19 de En. de 2023
Editada: VBBV el 19 de En. de 2023
Swap the condition in the if-else statement, and put them inside the if part
okoth ochola
okoth ochola el 19 de En. de 2023
thank you, this worked

Iniciar sesión para comentar.

Más respuestas (1)

Jiri Hajek
Jiri Hajek el 19 de En. de 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

Productos


Versión

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by