Sponsored Content
Top Forums Shell Programming and Scripting SMA (Single Moving Average) and Standard Deviation Post 303003085 by RudiC on Thursday 7th of September 2017 12:10:32 PM
Old 09-07-2017
Try
Code:
awk -v points=5 '

NR == 1 {next
        }

        {a[(NR-1) % points] = $2
         if ((NR-1)>=points)    {total_a = 0
                                 for (i = 0; i < points; ++i)   {total_a = total_a + a[i]
#                                                                print i, a[i], total_a, total_a / 5 
                                                                }
                                 AVG = total_a/points
                                 ERR = 0
                                 for (i = 0; i < points; ++i)   {ERR += (AVG - a[i]) * (AVG - a[i])
                                                                }
                                 print $1, $2, AVG, sqrt(ERR/points)
                                }  
        }
' OFS="	" file1
5	10.1	10.096	0.0422374
6	10.06	10.09	0.0447214
7	10.15	10.092	0.0470744
8	9.91	10.07	0.085557
9	9.99	10.042	0.0842378
10	9.72	9.966	0.146233
11	9.75	9.904	0.158442
12	9.57	9.788	0.147838
13	9.62	9.73	0.145465
14	9.97	9.726	0.138362
15	9.71	9.724	0.138506
16	9.77	9.728	0.139485
17	9.88	9.79	0.12345
18	9.71	9.808	0.102059
19	9.75	9.764	0.062482
20	9.53	9.728	0.113912
21	9.46	9.666	0.152132
22	9.38	9.566	0.142632
23	9.63	9.55	0.12946
24	9.67	9.534	0.106696
25	9.92	9.612	0.187339
26	10.04	9.728	0.231638

This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script for finding standard deviation

I have a CSV file that looks like 0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0 10,11,7,0,4,12,2,3,7,0,11,3,12,4,0,5,5,4,5,0,8,6,12,0,9,3,3,0,2,7,8 19,11,7,0,4,14,16,10,8,2,13,7,15,6,0,76,6,4,10,0,18,10,17,1,11,3,3,0,9,9,8... (7 Replies)
Discussion started by: RJ17
7 Replies

2. Shell Programming and Scripting

Mean and Standard deviation

Hi all, I am new to shell scripting and wanna calculate the mean and standard deviation using shell programming. I have a file with letters that are repeating and their corresponding duration a 0.32 a 0.89 aa 0.34 aa 0.23 au 0.012 au 0.26... (4 Replies)
Discussion started by: lakshmikanth.pg
4 Replies

3. UNIX for Dummies Questions & Answers

Calculating the Standard Deviation for a column

Hi all, I want to calculate the standard deviation for a column (happens to be column 3). Does any know of simple awk script to do this? Thanks (1 Reply)
Discussion started by: kylle345
1 Replies

4. Shell Programming and Scripting

using awk to print average and standard deviation into a file

Hi I want to use awk to print avg and st deviation but it does not go into a file for column 1 only. I can do average and # of records but i cannot get st deviation. awk '{sum+=$1} END { print "Average = ",sum/NR}' thanks (1 Reply)
Discussion started by: phil_heath
1 Replies

5. Shell Programming and Scripting

Moving Averages SMA !

Hello, I am trying to create a awk script to calculate the simple moving average of two fields but I got only the result of the first field. Could you please help me to fix this awk shell script awk -F, -v points=5 ' { a = $2; b = $3; if(NR>=points) { total_a = 0; total_b... (1 Reply)
Discussion started by: csierra
1 Replies

6. Shell Programming and Scripting

Standard deviation in awk

Hi all, I need to find the standard deviation of each column of a dataset below for each hour. The data is given in 5 second intervals as shown below DATE TIME FRAC_DAYS_SINCE_JAN1 FRAC_HRS_SINCE_JAN1 EPOCH_TIME ... (11 Replies)
Discussion started by: gd9629
11 Replies

7. Shell Programming and Scripting

AWK script for standard deviation / root mean square deviation

I have a file with say 50 columns, each containing a whole lot of data. Each column contains data from a separate simulation, but each simulation is related to the data in the last (REFERENCE) column $50 I need to calculate the RMS deviation for each data line, i.e. column 1 relative to... (12 Replies)
Discussion started by: chrisjorg
12 Replies

8. Shell Programming and Scripting

calculating row-wise standard deviation using awk

Hi, I have a file containing 100,000 rows-by-120 columns and I need to compute for the standard deviation for each row. Any idea on how to calculate row-wise standard deviation using awk? My sample data looks like this: input data: 23 35 12 25 16 17 18 19 29 12 12 26 15 14 15 23 12 12... (2 Replies)
Discussion started by: ida1215
2 Replies

9. Shell Programming and Scripting

Computing average and standard deviation from multiple text files

Hello there, I found an elegant solution to computing average values from multiple text files awk '{for (i=1;i<=NF;i++){if ($i!~"n/a"){a+=$i}else{b++}}}END{for (i=1;i<=FNR;i++){for (j=1;j<=NF;j++){printf (a/(3-b))((b>0)?"~"b" ":" ")};printf "\n"}}' file1 file2 file3 I tried to modify... (2 Replies)
Discussion started by: charmmilein
2 Replies

10. Shell Programming and Scripting

Output mean and standard deviation of a row

I have a file that looks that this: 820 890 530 1650 1600 1800 1850 1900 2270 1640 2300 1670 2080 2200 2350 1150 1630 2210 I would like to output the mean and standard deviation of each row so that my final output would look like this 820 890 530 746.667 155.849 1650 1600 1800... (5 Replies)
Discussion started by: kayak
5 Replies
GPIV_T-AVG(1)						      General Commands Manual						     GPIV_T-AVG(1)

NAME
gpiv_t-avg - Calculates time-averaged mean and variances of PIV data. SYNOPSIS
gpiv_t-avg [-dn | --dir_name dir basename] [-df | --first_dir N] [-dl | --last_dir N] [-fb | --file_basename file basename] [-ff | --first_file N] [-fl | --last_file N] [-fx | --file_prefix] [-h | --help] [-n | --none] [-p | --print] [-relrms] [-uv | --print] [-v | --version] DESCRIPTION
gpiv_t-avg calculates mean and variances from a series of piv data resulting into time-averaged values. If no parameters are defined at the command line, standard parameters will be used that are defined in the script. This program does not use the parameter resources from libg- piv. Options -dn | --dir_name dir base-name The dir base-name represents the directory name without its last number. It is supposed that the last number in the directory name is a counter. -df | --first_dir Defines the counter N of the first directory number at which the analyses starts. -dl | --last_dir Last directory number N at which the analyses ends. -fb | --file_base_name file base-name The filename has to be given without its .piv extension. The file base-name represents the file name without its last number, before the extension. If not -fx key is used, it is supposed that the last number in the file name is a counter. The output will be written to dir base-name/file base-name.ta_mean.piv and dirname/filename.ta_sdev.piv at which mean values and variances are written respec- tively or to dirname/filename.ta_U.piv and to dirname/filename.ta_V.piv if -uv is used. -ff | --first_file Defines the counter Nof first file number at which the analyses starts. -fl | --last_file Last file number N at which the analyses ends. -fx | --file_prefix Prefix numbering to file base name. -h | --help On-line help. -n | --none Suppresses real execution. -p | --print Prints parameters, command line options and input and output filenames to stdout. -relrms Prints relative rms, related to the absolute mean value. -uv Writes U and v displacements/velocities to separate outputs. -v | --version Prints version information to standard output, then exits successfully. SEE ALSO gpivtools AUTHOR
Gerber Van der Graaf 19 Januari 2005 GPIV_T-AVG(1)
All times are GMT -4. The time now is 01:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy