Azzera filtri
Azzera filtri

Comparing elements in one matrix in a loop

5 visualizzazioni (ultimi 30 giorni)
Hi All,
I have a large matrix with one column containing only values. I want to make a loop and compare every time if the average of 2nd and 1st value is < than a predifined value. When the average of i and j value is > than the predifined value, to show as a result i and j. Thanks in advance!

Risposta accettata

KALYAN ACHARJYA
KALYAN ACHARJYA il 18 Set 2018
Modificato: KALYAN ACHARJYA il 18 Set 2018
A=randi(30,20,1); %Random Matrix for Example
th=12; %Some Predefined value
[rows colm]=size(A);
for i=1:rows-1
c=(A(i,1)+A(i+1,1))/2;
if c > th
fprintf('The i is: %d and the next row i+1 value is: %d \n',i,i+1);
break;
end
end
  12 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 18 Set 2018
Modificato: KALYAN ACHARJYA il 18 Set 2018
The first one only case. I have edited the answer, the added break statement. Please check.
Other c condition also possible, can you clarify more.
Ancalagon8
Ancalagon8 il 18 Set 2018
Modificato: Ancalagon8 il 18 Set 2018
for example doing inside the loop the calculation to find c gives a 2-digit-result like
(11+10)/2= 10.5, ....... ,
....., (46+38)/2=42,
(468+46)/2=257 <-- so here break as the result has 3 digits

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by