Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Attn: physics (under-)graduates

Name: Anonymous 2012-10-27 8:09

No more error calculations!

IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCmZyb20gc3lzIGltcG9ydCAqCmltcG9ydCBzdWJwcm9jZXNzCgpkZWYgY21kKGFyZ3Ms
IGRhdGEpOgogICAgcmV0dXJuIHN1YnByb2Nlc3MuUG9wZW4oYXJncywgc2hlbGw9RmFsc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3Vi
cHJvY2Vzcy5QSVBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkuY29tbXVu
aWNhdGUoZGF0YSlbMF0KCmRlZiB0ZXhtYXgoZSk6CiAgICByZXR1cm4gY21kKFsibWF4aW1hIiwgIi0tdmVyeS1xdWlldCJd
LCJ0ZXgoJXMsZmFsc2UpOyIgJSBlKS5yZXBsYWNlKAogICAgICAgICdcbicsJycpLnJlcGxhY2UocidcaXQgZGVsdGFcXycs
cidcRGVsdGEgJykuc3RyaXAoJyAkJykKCmRlZiBzdWJzdCh2YSwgZXhwcik6CiAgICBmb3IgdiBpbiB2YToKICAgICAgICBu
YW1lLCB2YWx1ZSwgZXJyb3IgPSB2CiAgICAgICAgZXhwciA9ICJzdWJzdCglcywlcywlcykiICUgKHZhbHVlLCBuYW1lLCBl
eHByKQogICAgICAgIGV4cHIgPSAic3Vic3QoJXMsJXMsJXMpIiAlIChlcnJvciwgJ2RlbHRhXycrbmFtZSwgZXhwcikKICAg
IHJldHVybiBleHByCgpkZWYgZG9faXQoZXhwciwgdmFyaWFibGVzKToKICAgIAogICAgZXhwcj0nKCVzKSclZXhwcgogICAg
ZXJyZXhwcj1bXQogICAgZm9yIHYgaW4gdmFyaWFibGVzOgogICAgICAgIG5hbWU9dlswXQogICAgICAgIGVycmV4cHIuYXBw
ZW5kKCIoZGVyaXZhdGl2ZSglcywlcykqZGVsdGFfJXMpXjIiICUgKGV4cHIsbmFtZSxuYW1lKSkKICAgIGVycmV4cHIgPSAi
c3FydCglcykiICUgKCcgKyAnLmpvaW4oZXJyZXhwcikpCiAgICAKICAgIHByaW50ICc9PSBMYVRlWCBleHByZXNzaW9uIGZv
ciB0aGUgZXJyb3IgPT0nCiAgICBwcmludCB0ZXhtYXgoImZhY3RvciglcykiICUgZXJyZXhwcikKICAgIHByaW50ICc9PSBW
YWx1ZSBvZiB0aGUgZXhwcmVzc2lvbiA9PScKICAgIHByaW50IHInXHBtJy5qb2luKCBtYXAobGFtYmRhIGU6IHRleG1heCgn
ZmxvYXQoJXMpJyAlIHN1YnN0KHZhcmlhYmxlcyxlKSksCiAgICAgICAgW2V4cHIsZXJyZXhwcl0pICkKCmRlZiBtYWluKCk6
CiAgICBhID0gYXJndlsxOl0KICAgIGlmIGxlbihhKT09MDoKICAgICAgICBwcmludCAnJydVc2FnZTogZXJyb3JzLnB5IGV4
cHJlc3Npb24gW3ZhcmlhYmxlOnZhbHVlOmVycm9yXS4uLgoKRXhhbXBsZTogZXJyb3JzLnB5ICd4XjIvbG9nKHkpJyB4OjE1
LjQ2OjAuMDEgeTozLjA6MC4xJycnCiAgICAgICAgZXhpdCgxKQogICAgZXhwciA9IGFbMF0KICAgIHZhcmlhYmxlcyA9IG1h
cChsYW1iZGEgczpzLnNwbGl0KCc6JyksIGFbMTpdKQogICAgZG9faXQoZXhwciwgdmFyaWFibGVzKQogICAgCm1haW4oKQo=

Name: Anonymous 2012-10-27 11:58

Consider
stdev(e, [vs]) := block([d, s, r],
d : lambda([s], concat('\\Delta\ , s)),
s : sqrt(apply("+", map(lambda([v], (diff(e, v[1]) * d(v[1]))^2), vs))),
r : at([e, s], apply(append, map(lambda([v], [v[1]=v[2], d(v[1])=v[3]]), vs))),
print("== LaTeX expression for the error =="),
print(tex1(factor(s))),
print("== Value of the expression =="),
print(r[1], "\\pm", r[2]),
false)$


stdev(x^2/log(y), [x, 15.46, 0.01], [y, 3.0, 0.1])$

Why did you use base64 and not just code tags?
#!/usr/bin/env python
from sys import *
import subprocess

def cmd(args, data):
    return subprocess.Popen(args, shell=False,
                            stdin=subprocess.PIPE,
                            stdout=subprocess.PIPE,
                            stderr=subprocess.PIPE).communicate(data)[0]

def texmax(e):
    return cmd(["maxima", "--very-quiet"],"tex(%s,false);" % e).replace(
        '\n','').replace(r'\it delta\_',r'\Delta ').strip(' $')

def subst(va, expr):
    for v in va:
        name, value, error = v
        expr = "subst(%s,%s,%s)" % (value, name, expr)
        expr = "subst(%s,%s,%s)" % (error, 'delta_'+name, expr)
    return expr

def do_it(expr, variables):
   
    expr='(%s)'%expr
    errexpr=[]
    for v in variables:
        name=v[0]
        errexpr.append("(derivative(%s,%s)*delta_%s)^2" % (expr,name,name))
    errexpr = "sqrt(%s)" % (' + '.join(errexpr))
   
    print '== LaTeX expression for the error =='
    print texmax("factor(%s)" % errexpr)
    print '== Value of the expression =='
    print r'\pm'.join( map(lambda e: texmax('float(%s)' % subst(variables,e)),
        [expr,errexpr]) )

def main():
    a = argv[1:]
    if len(a)==0:
        print '''Usage: errors.py expression [variable:value:error]...

Example: errors.py 'x^2/log(y)' x:15.46:0.01 y:3.0:0.1'''
        exit(1)
    expr = a[0]
    variables = map(lambda s:s.split(':'), a[1:])
    do_it(expr, variables)
   
main()

Name: Anonymous 2012-10-28 17:48

>>2
Wow, you are quite the Maxima genius!  Thank you.

Why did you use base64 and not just code tags?
I've had a bad experience in the past where Shitchan messed it up.

Don't change these.
Name: Email:
Entire Thread Thread List