Sei sulla pagina 1di 6

26 gennaio 2019

1 Codice essenziale: Matematica


1.1 Operazioni aritmetiche e costanti fondamentali

2+3
2-3
2*3
4/3
3^4
59^-7
10^12
pi # pi greco

1.2 Assegnazione di valori, selezione di valori e costru-


zione di sequenze

x <- 3
x = 7
c(1, 3, 4)
x = c(3, 5, 7)
x[3]
x[-3]
x[3] = 7
3:7
1:100
100:1
rep(1, 6) #ripetizione
seq(from=2, to=100, length=50)
seq(from=1, to=10, by=4)
seq(from=1, length=5, by=4)

1
26 gennaio 2019

1.3 Funzioni
1.3.1 Funzioni predefinite
sin cos tan acos asin atan sqrt exp log log(•, base=•) log2 log10
abs round(•, •) signif(•, •)

1.3.2 Definizione di funzioni e grafici

exp(1) # numero di Nepero


f = function(x) 4*x/(2+x)
curve(f, -3, 1)
curve(f, xlim = c(-8, 6),ylim = c(-3, 10))
abline(h = 0)
abline(v = 0)

1.4 Derivate e Integrali

trepunti=function(f,x,h) (f(x+h)-f(x-h))/(2*h)
qn=function(f,x,h) (f(x+h)-f(x))/h
f=function(x) x^3
trepunti(f,2,0.01)
qn(f,2,0.01)
D(expression(x^3),"x")
df = function(x) eval(D(expression(x^3), "x"))

1.5 Metodo delle tangenti di Newton e cicli for

f = function(x) x^5 - 3* x + 1
derivata = function(x) 5*x^4 - 3
x = 2 ##punto iniziale
n = 10 ##numero di iterazioni
for(k in 1:n)
{x[k+1] = x[k]- f(x[k])/derivata(x[k])}
x

2
26 gennaio 2019

1.6 Integrazione

f = function(x) 3*x^2
integrate(function(x) 3*x^2,0,1)
f = function(x) sin(x)/x
n =10
a = 1
b = 4
h = (b-a)/n
x = seq(a, b,length = (n+1))
y = f(x)
ln = h*sum(y[1:n])
rn = h*sum(y[2:(n+1)])
tn = (ln+rn)/2

1.7 Metodo Montecarlo

f = function(x) x^3 - 3*x + 4


a = 0; b = 2
curve(f, a, b) ## visualizzazione del grafico.

2 Codice essenziale: statistica


2.1 Statistica a singola variabile
2.1.1 Dati

iris[42, 3]
iris[42, 1:3]
iris[42, ]
iris[, 5]
table(iris[, 5])
(x = iris[, 1])
min(x)
max(x)

3
26 gennaio 2019

sort(x)
length(x)
colnames(iris)
iris$Sepal.Length

2.1.2 Frequenze e rappresentazione tramite istogrammi

cut(x, 3)
table(cut(x, 3))
cut(x, breaks = seq(4, 8,by = 0.5))
table(cut(x, breaks = seq(4, 8,by = 0.5)))
hist(x)
hist(x, freq = FALSE)
hist(x, breaks = c(4,5,5.5,6,6.4,7.2,8),freq=FALSE)
hist(x, breaks = c(4, 5, 5.5, 6, 6.4, 7.2, 8))

2.1.3 Indicatori statistici

mean(x)
var(x)
sd(x)
median(x)
fivenum(x)
boxplot(x)

2.1.4 Dati ripetuti= serie chiuse

x = 1:6
n = c(12, 14, 15, 13, 14, 12)
sum(n)
dati = rep(x,n)
mean(dati)
cumsum(n)#frequenze cumulate
var(dati)

4
26 gennaio 2019

2.2 Simulazioni

n=100
sample(1:2, n, replace = TRUE)
sample(1:6, n, replace = TRUE, prob = c(10, 10, 40, 10, 20, 10))
sample(1:90, 5, replace = FALSE)
runif(n, 2, 5)

2.3 Variabili doppie


2.3.1 Diagrammi a dispersione, indicatori e rette di regressione

x = iris[1:50, 1]
y = iris[1:50, 2]
cov(x, y)
cor(x, y)
plot(x, y)
(a = cov(x, y)/var(x))
(b = mean(y)-a*mean(x))
abline(b, a,col = "blue", lwd = 3)
(c= cov(x, y)/var(y))
(d = mean(x) - c*mean(y))
(pendenza = 1/c)# pendenza = var(y)/cov(x, y)
(intercetta=-d/c)#intercetta = mean(y) - pendenza*mean(x)
abline(intercetta, pendenza, col="red")
lm(y~x)

2.3.2 Modello potenza ed esponenziale

# modello esponenziale y=c*d^x


x = 0:6
y = utenti = c(16, 36 ,76 ,147, 195, 369, 513)
Y = log(utenti)
modello=lm(Y~x)
coefficients(modello)
a = coefficients(modello)[2] # pendenza

5
26 gennaio 2019

b = coefficients(modello)[1] # intercetta
c = exp(b)
d = exp(a)
# modello esponenziale nella forma y = A exp(Bx)
modello=lm(log(y)~x)
A = exp(coefficients(modello)[1])
B= coefficients(modello)[2] # si noti che B coincide con a
# modello potenza y = c*x^d
x = c(4.5, 6.5, 7.5, 8.5, 9.5)
y = c(1.5, 4, 7, 10, 11)
xprimo = log(x)
yprimo = log(y)
(a = cov(xprimo, yprimo)/var(xprimo))
(b = mean(yprimo) - a*mean(xprimo))
d = a
c= exp(b)
#a e b si possono ricavare anche con
lm(log(y)~log(x))