# Calculating the average every three months

4 Ansichten (letzte 30 Tage)
desert_scientist90 am 24 Okt. 2019
Hi all, I leaning matlab thru practice and patience, I have the following dataset with sunspot observations for 38 years. I am trying to get the average of months 12,1,2 per year. I was using the code below but I am getting the following error message. " Undefined operator '>=' for input arguments of type 'table'."
Any advise will be greatly appreciated.
IDX=data(:,3) >= 5;
fdata = data(idx,:);
iex = fdata(:,3) <= 7;
fildata = fdata(iex,:);
year = fildata(:,2);
avr = accumarray(year,fildata(:,1))./3;
idx = avr(:,1) > 0;
avr = avr(idx,1);
##### 4 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
desert_scientist90 am 24 Okt. 2019
sunspot1(1:10, :)
ans =
10×3 table
Year month sunspot
____ _____ _______
1980 12 246.9
1981 1 156.6
1981 2 189.9
1981 3 196.6
1981 4 225.3
1981 5 194.7
1981 6 131.6
1981 7 205.3
1981 8 242.5
1981 9 245.3
Those are the results of that approach
Artemio Soto Breceda am 24 Okt. 2019
Bearbeitet: Artemio Soto Breceda am 24 Okt. 2019
Ah, thanks. I hadn't seen that you included your xlsx file in the post. See my answer below.

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Artemio Soto Breceda am 24 Okt. 2019
You have two options, to convert your table into an array with:
data_array = data{:,:};
or to use the same expression, but with curly braces, like this:
IDX = data{:,3} >= 5; % The curly braces do what you want
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Data Import from MATLAB finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by