hello i need an if function that tells matlab to reject a certain value and continue to the next one under a condition

3 visualizaciones (últimos 30 días)
for example if
TEL =
1.0e+04 *
2.2786 1.7122 1.3066 1.0110 0.7922 0.6278 0.5027 0.4063 0.2723 0.1880 0.1331 0.0964 0.0712
2.2558 1.6950 1.2935 1.0009 0.7842 0.6215 0.4976 0.4022 0.2696 0.1861 0.1318 0.0955 0.0705
2.2330 1.6779 1.2805 0.9908 0.7763 0.6152 0.4926 0.3982 0.2668 0.1842 0.1305 0.0945 0.0698
2.2102 1.6608 1.2674 0.9807 0.7684 0.6089 0.4876 0.3941 0.2641 0.1823 0.1291 0.0935 0.0691
2.1874 1.6437 1.2543 0.9706 0.7605 0.6026 0.4825 0.3901 0.2614 0.1805 0.1278 0.0926 0.0684
2.1646 1.6265 1.2413 0.9605 0.7525 0.5964 0.4775 0.3860 0.2587 0.1786 0.1265 0.0916 0.0676
i want matlab to compare the first value in each iteration with a number let's just say 1080 so..
if TEL>1080
reject it and move on to the next iteration.

Respuestas (2)

Image Analyst
Image Analyst el 22 de Feb. de 2019
What iteration??? Is this in a while or for loop???
By first value do you mean TEL(1)?
Please clarify!
Maybe you want to use if and continue to compare EVERY value of TEL with 1080????
for index = 1 : length(TEL)
if TEL(index) > 1080
% Skip remainder of loop and pick up with the next index.
continue;
end
% Code to do if TEL <= 1080.....
end
  2 comentarios
omar mahallawy
omar mahallawy el 22 de Feb. de 2019
sorry if i wasn't clear,
you see TEL is in a for loop that is calculated several times, to be more specific 13 times.
if the first value of the 13 times is bigger than MaxHead i want matlab to ignore it completly and not plot it.
if it's less than MaxHead i want matlab to show it and plot it.
MaxHead=((90*10.^5)./(rough.*g))
Hpump=Hloss+Ze-Zs
LC=1:3200:320000;
for i=1:length(LC)
HlossN=((Fn.*LC(i).*Q.^2)./(12.*Do.^5))
TEL(i,:)=(Hpump-HlossN+Zs)
end
Image Analyst
Image Analyst el 22 de Feb. de 2019
So TEL is a 2D array and you want to check the first column in each row to see if it's more than MaxHead. Then do the first loop 13 times until you have finished creating TEL. Then try
for row = 1 : size(TEL, 1)
% Check if first element in this row is more than MaxHead.
% If it it, skip this loop and check the next row.
if TEL(row, 1) > MaxHead
% Skip remainder of loop and pick up with the next index.
continue;
end
% Code to do if TEL <= MaxHead.....
end
Of course you could put this into the first loop if you want - it depends on what else happens in your first loop and if that needs to happen before checking the value of TEL, or not.

Iniciar sesión para comentar.


omar mahallawy
omar mahallawy el 22 de Feb. de 2019
no, sir
the first value in each column, if the first value in each column is more than MaxHead then skip the whole row and move on to the next column.
  5 comentarios
omar mahallawy
omar mahallawy el 24 de Feb. de 2019
i just need to know how can i extract the columns based on a condition
the condition is (if the first value in the column is less than or equal to MaxHead then extract the whole column)

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by