Data reading/Filtering, Excel>>Array

2 views (last 30 days)
Hello kity
Hello kity on 11 Dec 2012
Hi,
I have an excel file with data.
an example
colom1:
1
2
3
4
5
empty
empty
6
7
8
9
10
empty
empty
What I want to do is this:
  • get every number above the first empty cell (in example the number 5 and 10)
  • then calculate, 5 - 1 , 5 -2 , 5-3 ,5-4
same for the next set of data (10-6 10-7 10-8 10-9), this for the entire colom.
With xlsread I read the file, then select the colom with num(:,x). I get an arraw with numbers then 2 Nanns between each set of data....
what then to do...

Answers (2)

Vishal Rane
Vishal Rane on 11 Dec 2012
Use isnan and find functions.
Your data read from excel is something like :
a = [ 1 2 3 4 5 NaN NaN 6 7 8 9 10 NaN NaN 11 12]
find(isnan(a))
will give you the locations of all NaN in the array.
  1 Comment
Vishal Rane
Vishal Rane on 11 Dec 2012
Use the NaN locations to further build your logic

Sign in to comment.


Hello kity
Hello kity on 11 Dec 2012
Edited: Hello kity on 11 Dec 2012
I used isnan and find. That gives me a new array with all the locations of the isnans.
for example
1 2 3 4 5 NaN NAn
I get 6 and 7 as NaN... but how can I say if you find the 6th as NaN then use the 5th to calculate, 5-1 and 5-2 etc..
thank you

Community Treasure Hunt

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

Start Hunting!