09-11-2008
The shell does only integer arithmetic operations. You need to use awk or perl or some other envrionment that supports FP operations.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
2. UNIX for Dummies Questions & Answers
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
3. Shell Programming and Scripting
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
4. Shell Programming and Scripting
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
5. Shell Programming and Scripting
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
6. Shell Programming and Scripting
Hi All,
I want someone to modify the below script from this forum so that it can be used for all columns in the file( instead of only printing column 3 mean and standard deviation values). I don't know how to loop around all the columns.
... (3 Replies)
Discussion started by: ks_reddy
3 Replies
7. Shell Programming and Scripting
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
8. Shell Programming and Scripting
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
9. Shell Programming and Scripting
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
10. Shell Programming and Scripting
Hello Team,
I am using the following awk script to calculate the SMA (Single Moving Average) for an specific period but now I would like to include the standard deviation output.
Could you please help me to modify this awk shell script
awk -F, -v points=5 ' { a = $2; ... (4 Replies)
Discussion started by: csierra
4 Replies
LEARN ABOUT OSX
integer5.12
integer(3pm) Perl Programmers Reference Guide integer(3pm)
NAME
integer - Perl pragma to use integer arithmetic instead of floating point
SYNOPSIS
use integer;
$x = 10/3;
# $x is now 3, not 3.33333333333333333
DESCRIPTION
This tells the compiler to use integer operations from here to the end of the enclosing BLOCK. On many machines, this doesn't matter a
great deal for most computations, but on those without floating point hardware, it can make a big difference in performance.
Note that this only affects how most of the arithmetic and relational operators handle their operands and results, and not how all numbers
everywhere are treated. Specifically, "use integer;" has the effect that before computing the results of the arithmetic operators (+, -,
*, /, %, +=, -=, *=, /=, %=, and unary minus), the comparison operators (<, <=, >, >=, ==, !=, <=>), and the bitwise operators (|, &, ^,
<<, >>, |=, &=, ^=, <<=, >>=), the operands have their fractional portions truncated (or floored), and the result will have its fractional
portion truncated as well. In addition, the range of operands and results is restricted to that of familiar two's complement integers,
i.e., -(2**31) .. (2**31-1) on 32-bit architectures, and -(2**63) .. (2**63-1) on 64-bit architectures. For example, this code
use integer;
$x = 5.8;
$y = 2.5;
$z = 2.7;
$a = 2**31 - 1; # Largest positive integer on 32-bit machines
$, = ", ";
print $x, -$x, $x + $y, $x - $y, $x / $y, $x * $y, $y == $z, $a, $a + 1;
will print: 5.8, -5, 7, 3, 2, 10, 1, 2147483647, -2147483648
Note that $x is still printed as having its true non-integer value of 5.8 since it wasn't operated on. And note too the wrap-around from
the largest positive integer to the largest negative one. Also, arguments passed to functions and the values returned by them are not
affected by "use integer;". E.g.,
srand(1.5);
$, = ", ";
print sin(.5), cos(.5), atan2(1,2), sqrt(2), rand(10);
will give the same result with or without "use integer;" The power operator "**" is also not affected, so that 2 ** .5 is always the
square root of 2. Now, it so happens that the pre- and post- increment and decrement operators, ++ and --, are not affected by "use
integer;" either. Some may rightly consider this to be a bug -- but at least it's a long-standing one.
Finally, "use integer;" also has an additional affect on the bitwise operators. Normally, the operands and results are treated as unsigned
integers, but with "use integer;" the operands and results are signed. This means, among other things, that ~0 is -1, and -2 & -5 is -6.
Internally, native integer arithmetic (as provided by your C compiler) is used. This means that Perl's own semantics for arithmetic
operations may not be preserved. One common source of trouble is the modulus of negative numbers, which Perl does one way, but your
hardware may do another.
% perl -le 'print (4 % -3)'
-2
% perl -Minteger -le 'print (4 % -3)'
1
See "Pragmatic Modules" in perlmodlib, "Integer Arithmetic" in perlop
perl v5.12.5 2012-09-11 integer(3pm)