# Finding the first and last element of a matrix

1.596 views (last 30 days)
Sobhan on 30 May 2012
Answered: Nurye Hassen on 23 Nov 2017
Dear all,
I have a problem and I hope somebody can help.
I want to find the value of min, max, start and end of different columns (rows 1:50) of my matrix in a loop.
the formula below gave me the min and max as I wanted:
f = 1:nfiles
output1 (:,f)= min (mydata (1:50 (:,f),f));
otput2 (:,f)= max (mydata (1:50 (:,f),f));
Now how can I find the first and last element? So in my case the 1 and 50?
I hope I am clear enough.
Sobhan

Thomas on 30 May 2012
Suppose you have a matrix of 5 columns by 50 rows
val=rand(50,5); % generate the data
min_val=min(val) % min value in each column
max_val=max(val) % max value in each column
first_ele=val(1,:) % first value
last_ele=val(50,:) %last value (50th)
edit
IF you donot know the position of last element use
last_ele=val(end,:) %last value

Sobhan on 30 May 2012
Dear Thomas,
Thanks for your answer. I forgot to say something: the rows that I am interested in (in my example 1:50) changes throughout the loop. For example for one file is 1:30 and for another one is 1:15.
I want a kind of solution that find the first and last element regardless my indexing range. Finding the min and max was easy but first and last element no!
cheers
Thomas on 30 May 2012
check my edit..

Nurye Hassen on 23 Nov 2017
The first element is obvious.i.e. A(1,1) gives you the first elemnt of A. But for the last one, When ever the loop changes you can ask the new number of the row and its respective value. Here is an example..Inside the loop write... For matrix A
rows=size(A,1); Value=A(rows,end);