MATLAB Answers

0

Data reading/Filtering, Excel>>Array

Asked by 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...

  0 Comments

Products

No products are associated with this question.

2 Answers

Answer by 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

Use the NaN locations to further build your logic


Answer by Hello kity on 11 Dec 2012
Edited by 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

  0 Comments


Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!