Um exemplo de modularização com Package

incerteza na interpolação e extrapolação

efetuando todas as operações para entender como montar o package

parâmetros fixos

a0=-2.5;b0=0.225;σi=0.3;x=Range[4,24,4]

simulação

simul=Table[{x[[i]],RandomVariate[NormalDistribution[a0+b0 x[[i]] ,σi] ]},{i,Length[x]}]

grafSimul=ListPlot[simul,AxesLabel->{"x","y"}]

aju=LinearModelFit[simul,{z},z]

xInter=18

pAju=aju["BestFitParameters"]

yInter=pAju[[1]]+pAju[[2]]xInter

vAju=aju["CovarianceMatrix"]

vx={1,xInter}

Usando o package

SetDirectory[ NotebookDirectory[] ]

Needs["extrapolation`"]

?extrapolation`*

a0

aju=simulate[a0,b0,x,σi]

value[aju,18]

value[aju,{18,40}]

σvalue[aju,18]

y18=Table[ value[ simulate[a0,b0,x,σi],18 ],{2000}];

Histogram[y18]

StandardDeviation[y18]

σvalue[aju,18]

mudando o numero de pontos em que y é medido

aju=simulate[1,3,Range[5,30,1],σi]

aju["Data"]

Como empregar  usage::

atoa[x_]:=2x

?atoa

??atoa

atoa::usage = "atoa[x] retorna o valor de entrada multiplicado por 2."

?atoa

atoa

??atoa

?Sin

??Sin