This commit is contained in:
Ingy döt Net 2013-04-10 21:29:02 -07:00
parent 764da6cbbb
commit db842d013d
19005 changed files with 197040 additions and 7 deletions

View file

@ -0,0 +1,2 @@
: root-mean-square ( seq -- mean )
[ [ sq ] map-sum ] [ length ] bi / sqrt ;

View file

@ -0,0 +1,16 @@
class Main
{
static Float averageRms (Float[] nums)
{
if (nums.size == 0) return 0.0f
Float sum := 0f
nums.each { sum += it * it }
return (sum / nums.size.toFloat).sqrt
}
public static Void main ()
{
a := [1f,2f,3f,4f,5f,6f,7f,8f,9f,10f]
echo ("RMS Average of $a is: " + averageRms(a))
}
}

View file

@ -0,0 +1,7 @@
def quadMean = { list ->
list == null \
? null \
: list.empty \
? 0 \
: ((list.collect { it*it }.sum()) / list.size()) ** 0.5
}

View file

@ -0,0 +1,6 @@
def list = 1..10
def Q = quadMean(list)
println """
list: ${list}
Q: ${Q}
"""

View file

@ -0,0 +1,5 @@
sum = 0
DO i = 1, 10
sum = sum + i^2
ENDDO
WRITE(ClipBoard) "RMS(1..10) = ", (sum/10)^0.5

View file

@ -0,0 +1,5 @@
procedure main()
every put(x := [], 1 to 10)
writes("x := [ "); every writes(!x," "); write("]")
write("Quadratic mean:",q := qmean!x)
end

View file

@ -0,0 +1,6 @@
procedure qmean(L[]) #: quadratic mean
local m
if *L = 0 then fail
every (m := 0.0) +:= !L^2
return sqrt(m / *L)
end

View file

@ -0,0 +1,3 @@
rms := method (figs, (figs map(** 2) reduce(+) / figs size) sqrt)
rms( Range 1 to(10) asList ) println

View file

@ -0,0 +1 @@
rms=: (+/ % #)&.:*:

View file

@ -0,0 +1,2 @@
rms 1 + i. 10
6.20484

View file

@ -0,0 +1,26 @@
' [RC] Averages/Root mean square
SourceList$ ="1 2 3 4 5 6 7 8 9 10"
' If saved as an array we'd have to have a flag for last data.
' LB has the very useful word$() to read from delimited strings.
' The default delimiter is a space character, " ".
SumOfSquares =0
n =0 ' This holds index to number, and counts number of data.
data$ ="666" ' temporary dummy to enter the loop.
while data$ <>"" ' we loop until no data left.
data$ =word$( SourceList$, n +1) ' first data, as a string
NewVal =val( data$) ' convert string to number
SumOfSquares =SumOfSquares +NewVal^2 ' add to existing sum of squares
n =n +1 ' increment number of data items found
wend
n =n -1
print "Supplied data was "; SourceList$
print "This contained "; n; " numbers."
print "R.M.S. value is "; ( SumOfSquares /n)^0.5
end

View file

@ -0,0 +1,5 @@
to rms :v
output sqrt quotient (apply "sum map [? * ?] :v) count :v
end
show rms iseq 1 10

View file

@ -0,0 +1 @@
RootMeanSquare@Range[10]

View file

@ -0,0 +1,5 @@
L: makelist(i, i, 1, 10)$
rms(L) := sqrt(lsum(x^2, x, L)/length(L))$
rms(L), numer; /* 6.204836822995429 */