Comparing elements in one matrix in a loop

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!

 Accepted Answer

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

6 Comments

The matrix you said having 1 column, so j value always 1.
What are i and j, as you are assuming?
Look at here for cell array
Next position is i+1, why j?
Array having length, matrix has size, confirm?
Check my answer, it works as per your defined question (matrix case).
Anyway I am ready to help if I can
In My Example A is 20x1 Double, check the following-
Check I have edited the answer. You want to find all positions or the first one only? Like the following?
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.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!