how to take average with specific condition and write to excel file again ?

3 Ansichten (letzte 30 Tage)

I had a excel file testM.xls data size(45*7)(as shown in Sheet1), first column shows the time and rest of the columns shows the values in 15 min interval for each hours. Now I want to take average of 4 values (for hourly basis data calculation) from corresponding hours and write there in excel file (as shown in Sheet2).

    % So Sheet2 data is calculated as:
    % for column 2nd of Sheet2: 
     B(2)=4.25        %average of values [B(2):B(5)] from Sheet1;
     B(3)=6        %average of values [B(6):B(9)] from Sheet1;
 % and so on till 
     B(12)=5      %average of values [B(42):B(45)] from Sheet1

Then how can I find using matlab for loop for all columns to find out the values hourly basis. Thanks

Akzeptierte Antwort

ANKUR KUMAR
ANKUR KUMAR am 1 Okt. 2018
clc
clear
A=xlsread('testM.xls');
AA=A(:,2:end);
AAA=squeeze(nanmean(reshape(AA,4,[],6),1))
xlswrite('testM.xls',[[0:10]' AAA],'sheet3','A1')
  3 Kommentare
MUKESH KUMAR
MUKESH KUMAR am 2 Okt. 2018
Thanks for your support and its very short code and working.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by