n = 0:15
b_n = 1000 * 1.03^n
# Definir els valors de n
n <- 0:15
# Calcular els valors de b_n
b_n <- 1000 * 1.03^n
# Crear la gràfica lineal
plot(n, b_n, type = "o", col = "blue", main = "Gràfica Lineal de b_n", xlab = "n", ylab = "b_n")
# Crear la gràfica semi-log
plot(n, log(b_n), type = "o", col = "red", main = "Gràfica Semi-log de b_n", xlab = "n", ylab = "log(b_n)")
la gràfica semi-log té els punts més col·lineals ja que és una funció exponencial i el logaritme d’una funció exponencial es converteix en una línia recta
n = 0:20
c_n = 50 + 0.75^n * 150
# Paràmetres del model
r <- 0.75
I <- 50
n <- 20
# Vector per emmagatzemar els valors de c_n
c_n <- numeric(n + 1)
c_n[1] <- 200
# Càlcul dels valors de c_n
for (i in 1:n) {
c_n[i + 1] <- r * c_n[i] + I
}
# Mostrar els resultats
print(c_n)
## [1] 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
## [20] 200 200
r és la taxa de creixement (0.75). I és la immigració constant (50). n és el nombre de passos que vols calcular. c_n és el vector que emmagatzema els valors de la concentració a cada pas
#dades inicials
800
## [1] 800
200
## [1] 200
#coeficients
a <- 0.85
b <- 0.70
c <- 0.36
d <-0
# Definir els coeficients de la matriu
A <- matrix(c(0.85, 0.70, 3.6, 0), nrow = 2, byrow = TRUE)
# Nombre inicial de gavines adultes i cries
x0 <- c(800, 600)
# Nombre d'anys a simular
n_years <- 10
# Crear una matriu per emmagatzemar els resultats
results <- matrix(0, nrow = n_years + 1, ncol = 2)
results[1, ] <- x0
# Simulació de la població durant n_years
for (i in 1:n_years) {
results[i + 1, ] <- A %*% results[i, ]
}
# Mostrar els resultats
colnames(results) <- c("Adultas", "Crías")
rownames(results) <- 0:n_years
print(results)
## Adultas Crías
## 0 800.00 600.00
## 1 1100.00 2880.00
## 2 2951.00 3960.00
## 3 5280.35 10623.60
## 4 11924.82 19009.26
## 5 23442.58 42929.34
## 6 49976.73 84393.28
## 7 101555.51 179916.23
## 8 212263.55 365599.85
## 9 436343.91 764148.77
## 10 905796.47 1570838.09
# Definir la matriu A
A <- matrix(c(0.85, 0.70, 3.6, 0), nrow = 2, byrow = TRUE)
# Calcular els valors i vectors propis
eig <- eigen(A)
# Mostrar els valors i vectors propis
eig$values
## [1] 2.068358 -1.218358
eig$vectors
## [,1] [,2]
## [1,] 0.4981739 -0.3205717
## [2,] 0.8670772 0.9472243
# Definir el vector propi
v <- c(-1, 3)
# Calcular A * v
Av <- A %*% v
# Calcular lambda * v (on lambda és el valor propi corresponent)
lambda <- eig$values[1] # Suposant que el primer valor propi correspon a aquest vector
lambda_v <- lambda * v
# Comprovar si A * v és igual a lambda * v
all.equal(Av, lambda_v)
## [1] "Attributes: < Modes: list, NULL >"
## [2] "Attributes: < Lengths: 1, 0 >"
## [3] "Attributes: < names for target but not for current >"
## [4] "Attributes: < current is not list-like >"
## [5] "target is matrix, current is numeric"
# L'altre vector propi
other_vector <- eig$vectors[, 2]
other_vector
## [1] -0.3205717 0.9472243
# Definir la matriu A
A <- matrix(c(0.85, 0.70, 3.6, 0), nrow = 2, byrow = TRUE)
# Calcular els valors i vectors propis
eig <- eigen(A)
# Mostrar los valores propios
eig$values
## [1] 2.068358 -1.218358
# Mostrar els vectors propis
eig$vectors
## [,1] [,2]
## [1,] 0.4981739 -0.3205717
## [2,] 0.8670772 0.9472243
# Verificar el valor propi dominant
dominant_eigenvalue <- max(abs(eig$values))
# Determinar si la població tendeix a extingir-se
if (dominant_eigenvalue > 1) {
cat("La població de gavines adultes no tendeix a extingir-se. S'espera que creixi amb el temps.\n")
} else {
cat("La població de gavines adultes tendeix a extingir-se.\n")
}
## La població de gavines adultes no tendeix a extingir-se. S'espera que creixi amb el temps.
Atès que el valor propi dominant és 2.06, més gran que 1, la població de gavines adultes no només es mantindrà, sinó que creixerà amb el temps.
#Definir la matriu D
D <- matrix(c(0.95 + 0.1i, 0, 0, 0.95 - 0.1i), nrow = 2, byrow = TRUE)
# Calcular els valors propis
eig_values <- eigen(D)$values
#Calcular la magnitud del valor propi dominant
dominant_eigenvalue <- max(Mod(eig_values))
# Calcular el percentatge de decreixement
percentage_decrease <- (1 - dominant_eigenvalue) * 100
# Calcular el percentatge de creixement
percentage_increase <- (dominant_eigenvalue - 1) * 100
# Mostrar els resultats
cat("El percentatge anual de decreixement de la població de conills és aproximadament:", percentage_decrease, "%\n")
## El percentatge anual de decreixement de la població de conills és aproximadament: 4.475134 %
cat("El percentatge anual de creixement de la població de conills seria aproximadament:", percentage_increase, "%\n")
## El percentatge anual de creixement de la població de conills seria aproximadament: -4.475134 %
per tant el percentatge de creixement és 4.475134% i el de decreixement -4.475134%
# Definir les matrius P i D
P <- matrix(c(1, 1, 1i, -1i), nrow = 2, byrow = TRUE)
D <- matrix(c(0.95 + 0.1i, 0, 0, 0.95 - 0.1i), nrow = 2, byrow = TRUE)
# Calcular la inversa de P
P_inv <- solve(P)
# Nombre inicial de conills i verdures
x0 <- c(500, 700)
# Nombre d'anys a simular
n_years <- 4
# Crear una matriu per emmagatzemar els resultats
results <- matrix(0, nrow = n_years + 1, ncol = 2)
results[1, ] <- x0
# Simulació de la població durant n_years
for (i in 1:n_years) {
results[i + 1, ] <- Re(P %*% (D %*% (P_inv %*% results[i, ])))
}
# Mostrar els resultats
colnames(results) <- c("Conills", "Verdures")
rownames(results) <- 0:n_years
print(results)
## Conills Verdures
## 0 500.0000 700.0000
## 1 545.0000 615.0000
## 2 579.2500 529.7500
## 3 603.2625 445.3375
## 4 617.6331 362.7444
# Quantitat de verdures després de 4 anys
verdures_despres_4_anys <- results[5, 2]
cat("Quantitat de verdures després de 4 anys:", verdures_despres_4_anys, "kg\n")
## Quantitat de verdures després de 4 anys: 362.7444 kg
la quantitat de verdures que s’espera després de 4 anys és de 362.7444 kg
# Definir les matrius P i D
P <- matrix(c(1, 1, 1i, -1i), nrow = 2, byrow = TRUE)
D <- matrix(c(0.95 + 0.1i, 0, 0, 0.95 - 0.1i), nrow = 2, byrow = TRUE)
# Calcular la inversa de P
P_inv <- solve(P)
# Nombre inicial de conills i verdures
x0 <- c(500, 700)
# Nombre d'anys a simular
n_years <- 70
# Crear una matriu per emmagatzemar els resultats
results <- matrix(0, nrow = n_years + 1, ncol = 2)
results[1, ] <- x0
# Simulació de la població durant n_years
for (i in 1:n_years) {
results[i + 1, ] <- Re(P %*% (D %*% (P_inv %*% results[i, ])))
}
# Mostrar els resultats
colnames(results) <- c("Conills", "Verdures")
rownames(results) <- 0:n_years
print(results)
## Conills Verdures
## 0 500.00000000 700.0000000
## 1 545.00000000 615.0000000
## 2 579.25000000 529.7500000
## 3 603.26250000 445.3375000
## 4 617.63312500 362.7443750
## 5 623.02590625 282.8438437
## 6 620.15899531 206.3990609
## 7 609.79095164 134.0632084
## 8 592.70772489 66.3809528
## 9 569.71043393 3.7911326
## 10 541.60402550 -53.3694674
## 11 509.18687748 -104.8613966
## 12 473.24139395 -150.5370145
## 13 434.52562281 -190.3343031
## 14 393.76591135 -224.2701503
## 15 351.65060076 -252.4332339
## 16 308.82474733 -274.9766323
## 17 265.88584674 -292.1102754
## 18 223.38052686 -304.0933463
## 19 181.80216589 -311.2267317
## 20 141.58938443 -313.8456117
## 21 103.12535404 -312.3122695
## 22 66.73785938 -307.0091915
## 23 32.70004727 -298.3325178
## 24 1.23179312 -286.6858967
## 25 -27.49838620 -272.4747811
## 26 -53.37094501 -256.1012035
## 27 -76.31251810 -237.9590488
## 28 -96.29279708 -218.4298445
## 29 -113.32114168 -197.8790726
## 30 -127.44299185 -176.6530048
## 31 -138.73614274 -155.0760554
## 32 -147.30694114 -133.4486383
## 33 -153.28645792 -112.0455123
## 34 -156.82668625 -91.1145909
## 35 -158.09681103 -70.8761927
## 36 -157.27958975 -51.5227020
## 37 -154.56788046 -33.2186079
## 38 -150.16134723 -16.1008895
## 39 -144.26336882 -0.2797103
## 40 -137.07817140 14.1606121
## 41 -128.80820162 27.1603987
## 42 -119.65175168 38.6831989
## 43 -109.80084420 48.7142141
## 44 -99.43938058 57.2585878
## 45 -88.74155277 64.3395965
## 46 -77.87051548 69.9967719
## 47 -66.97731252 74.2839849
## 48 -56.20004840 77.2675169
## 49 -45.66329429 79.0241459
## 50 -35.47771499 79.6392680
## 51 -25.73990243 79.2050761
## 52 -16.53239970 77.8188126
## 53 -7.92389846 75.5811119
## 54 0.03040765 72.5944462
## 55 7.28833189 68.9616831
## 56 13.82008360 64.7847657
## 57 19.60755600 60.1635191
## 58 24.64353010 55.1945875
## 59 28.93081235 49.9705052
## 60 32.48132225 44.5788987
## 61 35.31514600 39.1018215
## 62 37.45957085 33.6152158
## 63 38.94811389 28.1884979
## 64 39.81955799 22.8842617
## 65 40.11700626 17.7580928
## 66 39.88696523 12.8584875
## 67 39.17846572 8.2268666
## 68 38.04222909 3.8976767
## 69 36.52988531 -0.1014300
## 70 34.69324804 -3.7493471
# Quantitat de verdures després de 70 anyss
verdures_despres_70_anys <- results[71, 2]
cat("Quantitat de verdures després de 70 anys:", verdures_despres_70_anys, "kg\n")
## Quantitat de verdures després de 70 anys: -3.749347 kg
la quantitat de verdures després de setanta anys és de -3.79347 kg