Data reading/Filtering, Excel>>Array

2 vues (au cours des 30 derniers jours)
Hello kity
Hello kity le 11 Déc 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...

Réponses (2)

Vishal Rane
Vishal Rane le 11 Déc 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 commentaire
Vishal Rane
Vishal Rane le 11 Déc 2012
Use the NaN locations to further build your logic

Connectez-vous pour commenter.


Hello kity
Hello kity le 11 Déc 2012
Modifié(e) : Hello kity le 11 Déc 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!

Translated by