suppressMessages(library(DescTools, warn.conflicts=FALSE))
suppressMessages(library(knitr, warn.conflicts=FALSE))
suppressMessages(library(latex2exp, warn.conflicts=FALSE))
suppressMessages(library(lpSolve, warn.conflicts=FALSE))
suppressMessages(library(REAT, warn.conflicts=FALSE))
suppressMessages(library(stringr, warn.conflicts=FALSE))
suppressMessages(library(units, warn.conflicts=FALSE))|
|
\(~~~\) | Algébrica |
|
|
\(~~~\) | WolframAlpha |
|
|
\(~~~\) | R |
|
|
\(~~~\) | R com força bruta |
|
|
\(~~~\) | SciLab |
|
|
\(~~~\) | ref. APEx |
Código R
eiras.bartitle.Reiras.density_and_normal.Reiras.friendlycolor.Reiras.inequality.plot.Reiras.tukey.try.Rq3.5.2_14858.Rq3.6.14_14859.Rq3.6.18_14860.Rq3.6.18_14861.Rq3.7.4_14862.Rq3.7.6_14865.RqFpC.06iv_14803.RqFpC.Cap5.Q6a_14881a.RqFpC.Cap5.Q6a_14881b.RqFpC.Cap5.Q6b_14882.RqFpC.Cap5.Q6c_14883a.RqFpC.Cap5.Q6c_14883b.RqFpC.Cap5.Q6c_14883c.RqFpC.Cap5.Q6c_14883d.RqFpC.Cap5.Q7_14871.RqFpC.Cap5.Q7_14884.RqGd.Cap02.Exemplo2_14864.RqGd.Cap02.Projeto3_14864.RqGd.Cap02.Projeto3_14864cnt.RqMA.C01.114_14773.RqMA.C01.115_14772.RqMA.C01.99_14768.RqMA.Cap2.Exemplo2_14863.RArquivo de dados
(ref. APEx
14768)
Um jardineiro tem que regar 60 roseiras plantadas ao longo de uma vereda retilínea e distando 1 m uma da outra. Ele enche seu regador numa fonte situada na mesma vereda, a 15 m da primeira roseira, e a cada viagem rega três roseiras. Começando e terminando na fonte, qual é o percurso total (m) que ele terá que caminhar até regar todas as roseiras?
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# Um jardineiro tem que regar 60 roseiras plantadas ao longo de uma vereda
# retilínea e distando 1 m uma da outra. Ele enche seu regador numa fonte
# situada na mesma vereda, a 15 m da primeira roseira, e a cada viagem
# rega três roseiras.
# Começando e terminando na fonte, qual é o percurso total (m) que ele terá
# que caminhar até regar todas as roseiras?
fonte <- 15 # fonte distante 15 m da primeira roseira
roseiras <- 0:59 # distancia das roseiras em relacao à primeira
distancia <- 0
# comeca da fonte para a primeira roseira
viagem <- 0
regas <- 0
while (regas < 60)
{
viagem <- viagem+1
cat("\nNa fonte, enchendo o regador (viagem ",viagem,")",sep="")
# chega à primeira roseira
distancia <- distancia+fonte
cat("\n\t",fonte," m até a primeira roseira, ",
"subtotal de ",distancia," m",sep="")
regas <- regas+1
distancia <- distancia+roseiras[regas]
cat("\n\trega ",regas," andando mais ",roseiras[regas]," m ",
"até a primeira roseira a regar, ",
"subtotal de ",distancia," m",sep="")
for (r in 1:2) # regador permite mais 2 regas
{
regas <- regas+1
distancia <- distancia+1 # roseiras espaçadas e 1,
cat("\n\trega ",regas," andando mais 1 m, ",
"total de ",distancia," m",sep="")
}
# retorna à fonte (andando da roseira em que parou)
distancia <- distancia+roseiras[regas]+fonte
cat("\n\tretorna à fonte andando ",roseiras[regas]+fonte," m ",
"a partir da roseira em que parou, ",
"subtotal de ",distancia," m.",sep="")
}
cat("\nTérmino. Total da caminhada: ",distancia," m.\n",sep="")
Na fonte, enchendo o regador (viagem 1)
15 m até a primeira roseira, subtotal de 15 m
rega 1 andando mais 0 m até a primeira roseira a regar, subtotal de 15 m
rega 2 andando mais 1 m, total de 16 m
rega 3 andando mais 1 m, total de 17 m
retorna à fonte andando 17 m a partir da roseira em que parou, subtotal de 34 m.
Na fonte, enchendo o regador (viagem 2)
15 m até a primeira roseira, subtotal de 49 m
rega 4 andando mais 3 m até a primeira roseira a regar, subtotal de 52 m
rega 5 andando mais 1 m, total de 53 m
rega 6 andando mais 1 m, total de 54 m
retorna à fonte andando 20 m a partir da roseira em que parou, subtotal de 74 m.
Na fonte, enchendo o regador (viagem 3)
15 m até a primeira roseira, subtotal de 89 m
rega 7 andando mais 6 m até a primeira roseira a regar, subtotal de 95 m
rega 8 andando mais 1 m, total de 96 m
rega 9 andando mais 1 m, total de 97 m
retorna à fonte andando 23 m a partir da roseira em que parou, subtotal de 120 m.
Na fonte, enchendo o regador (viagem 4)
15 m até a primeira roseira, subtotal de 135 m
rega 10 andando mais 9 m até a primeira roseira a regar, subtotal de 144 m
rega 11 andando mais 1 m, total de 145 m
rega 12 andando mais 1 m, total de 146 m
retorna à fonte andando 26 m a partir da roseira em que parou, subtotal de 172 m.
Na fonte, enchendo o regador (viagem 5)
15 m até a primeira roseira, subtotal de 187 m
rega 13 andando mais 12 m até a primeira roseira a regar, subtotal de 199 m
rega 14 andando mais 1 m, total de 200 m
rega 15 andando mais 1 m, total de 201 m
retorna à fonte andando 29 m a partir da roseira em que parou, subtotal de 230 m.
Na fonte, enchendo o regador (viagem 6)
15 m até a primeira roseira, subtotal de 245 m
rega 16 andando mais 15 m até a primeira roseira a regar, subtotal de 260 m
rega 17 andando mais 1 m, total de 261 m
rega 18 andando mais 1 m, total de 262 m
retorna à fonte andando 32 m a partir da roseira em que parou, subtotal de 294 m.
Na fonte, enchendo o regador (viagem 7)
15 m até a primeira roseira, subtotal de 309 m
rega 19 andando mais 18 m até a primeira roseira a regar, subtotal de 327 m
rega 20 andando mais 1 m, total de 328 m
rega 21 andando mais 1 m, total de 329 m
retorna à fonte andando 35 m a partir da roseira em que parou, subtotal de 364 m.
Na fonte, enchendo o regador (viagem 8)
15 m até a primeira roseira, subtotal de 379 m
rega 22 andando mais 21 m até a primeira roseira a regar, subtotal de 400 m
rega 23 andando mais 1 m, total de 401 m
rega 24 andando mais 1 m, total de 402 m
retorna à fonte andando 38 m a partir da roseira em que parou, subtotal de 440 m.
Na fonte, enchendo o regador (viagem 9)
15 m até a primeira roseira, subtotal de 455 m
rega 25 andando mais 24 m até a primeira roseira a regar, subtotal de 479 m
rega 26 andando mais 1 m, total de 480 m
rega 27 andando mais 1 m, total de 481 m
retorna à fonte andando 41 m a partir da roseira em que parou, subtotal de 522 m.
Na fonte, enchendo o regador (viagem 10)
15 m até a primeira roseira, subtotal de 537 m
rega 28 andando mais 27 m até a primeira roseira a regar, subtotal de 564 m
rega 29 andando mais 1 m, total de 565 m
rega 30 andando mais 1 m, total de 566 m
retorna à fonte andando 44 m a partir da roseira em que parou, subtotal de 610 m.
Na fonte, enchendo o regador (viagem 11)
15 m até a primeira roseira, subtotal de 625 m
rega 31 andando mais 30 m até a primeira roseira a regar, subtotal de 655 m
rega 32 andando mais 1 m, total de 656 m
rega 33 andando mais 1 m, total de 657 m
retorna à fonte andando 47 m a partir da roseira em que parou, subtotal de 704 m.
Na fonte, enchendo o regador (viagem 12)
15 m até a primeira roseira, subtotal de 719 m
rega 34 andando mais 33 m até a primeira roseira a regar, subtotal de 752 m
rega 35 andando mais 1 m, total de 753 m
rega 36 andando mais 1 m, total de 754 m
retorna à fonte andando 50 m a partir da roseira em que parou, subtotal de 804 m.
Na fonte, enchendo o regador (viagem 13)
15 m até a primeira roseira, subtotal de 819 m
rega 37 andando mais 36 m até a primeira roseira a regar, subtotal de 855 m
rega 38 andando mais 1 m, total de 856 m
rega 39 andando mais 1 m, total de 857 m
retorna à fonte andando 53 m a partir da roseira em que parou, subtotal de 910 m.
Na fonte, enchendo o regador (viagem 14)
15 m até a primeira roseira, subtotal de 925 m
rega 40 andando mais 39 m até a primeira roseira a regar, subtotal de 964 m
rega 41 andando mais 1 m, total de 965 m
rega 42 andando mais 1 m, total de 966 m
retorna à fonte andando 56 m a partir da roseira em que parou, subtotal de 1022 m.
Na fonte, enchendo o regador (viagem 15)
15 m até a primeira roseira, subtotal de 1037 m
rega 43 andando mais 42 m até a primeira roseira a regar, subtotal de 1079 m
rega 44 andando mais 1 m, total de 1080 m
rega 45 andando mais 1 m, total de 1081 m
retorna à fonte andando 59 m a partir da roseira em que parou, subtotal de 1140 m.
Na fonte, enchendo o regador (viagem 16)
15 m até a primeira roseira, subtotal de 1155 m
rega 46 andando mais 45 m até a primeira roseira a regar, subtotal de 1200 m
rega 47 andando mais 1 m, total de 1201 m
rega 48 andando mais 1 m, total de 1202 m
retorna à fonte andando 62 m a partir da roseira em que parou, subtotal de 1264 m.
Na fonte, enchendo o regador (viagem 17)
15 m até a primeira roseira, subtotal de 1279 m
rega 49 andando mais 48 m até a primeira roseira a regar, subtotal de 1327 m
rega 50 andando mais 1 m, total de 1328 m
rega 51 andando mais 1 m, total de 1329 m
retorna à fonte andando 65 m a partir da roseira em que parou, subtotal de 1394 m.
Na fonte, enchendo o regador (viagem 18)
15 m até a primeira roseira, subtotal de 1409 m
rega 52 andando mais 51 m até a primeira roseira a regar, subtotal de 1460 m
rega 53 andando mais 1 m, total de 1461 m
rega 54 andando mais 1 m, total de 1462 m
retorna à fonte andando 68 m a partir da roseira em que parou, subtotal de 1530 m.
Na fonte, enchendo o regador (viagem 19)
15 m até a primeira roseira, subtotal de 1545 m
rega 55 andando mais 54 m até a primeira roseira a regar, subtotal de 1599 m
rega 56 andando mais 1 m, total de 1600 m
rega 57 andando mais 1 m, total de 1601 m
retorna à fonte andando 71 m a partir da roseira em que parou, subtotal de 1672 m.
Na fonte, enchendo o regador (viagem 20)
15 m até a primeira roseira, subtotal de 1687 m
rega 58 andando mais 57 m até a primeira roseira a regar, subtotal de 1744 m
rega 59 andando mais 1 m, total de 1745 m
rega 60 andando mais 1 m, total de 1746 m
retorna à fonte andando 74 m a partir da roseira em que parou, subtotal de 1820 m.
Término. Total da caminhada: 1820 m.
(ref. APEx
14773)
Um paciente percorreu numa esteira ergometrica durante os primeiros 5 minutos à velocidade constante de 10 km/h, durante os 10 minutos seguintes, à velocidade de 20 km/h. Qual foi a velocidade média do paciente no percurso mencionado?
Média ponderada: \(\overline{m} =
\dfrac{\sum_{i=1}^{n}p_i\;x_i}{\sum_{i=1}^{n}p_i}\)
\[\overline{m} = \dfrac{10 \cdot 5 + 20 \cdot 10}{5 + 10} = 16.\bar{6}\]
[1] 16.66667
[1] 16.66667
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# dados: tempo e velocidade
t <- c(5,10) # min
t <- t/60 # horas
v <- c(10,20) # km/h
# distancias percorridas
s <- t*v
# distancia percorrida
dt <- sum(s)
# velocidade média
vm <- dt/sum(t)
cat("\nO paciente percorreu ",dt," km em ", sum(t), " horas\n",
"com velocidade média de ",vm," km/h",sep="")
O paciente percorreu 4.166667 km em 0.25 horas
com velocidade média de 16.66667 km/h
(ref. APEx
14772)
Um paciente percorreu o primeiro quilômetro numa esteira ergometrica à velocidade constante de 10 km/h; o segundo quilômetro, à velocidade de 20 km/h. No percurso mencionado, qual foi a velocidade média do paciente?
Média harmônica:
\[\begin{align} m_h &= \dfrac{n}{\sum_{i=1}^{n}{\frac{1}{x_i}}}\\ m_h &= \left(\dfrac{\sum_{i=1}^{n}{x_{1}^{-1}}}{n}\right)^{-1} \end{align} \]
\[m_h = \dfrac{2}{\dfrac{1}{10}+\dfrac{1}{20}}=13.\bar{3}\]
\(~~~~\)(Wikipedia: média harmônica)
[1] 13.33333
[1] 13.33333
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# dados: distancia e velocidade
s <- c(1,1) # km
v <- c(10,20) # km/h
# tempos gastos
t <- s/v
# distancia percorrida
dt <- sum(s)
# velocidade média
vm <- dt/sum(t)
cat("\nO paciente percorreu ",dt," km em ", sum(t), " horas\n",
"com velocidade média de ",vm," km/h",sep="")
O paciente percorreu 2 km em 0.15 horas
com velocidade média de 13.33333 km/h
(ref. APEx
14774)
Pitágoras realizou experiências com instrumentos de corda dotados de cavalete móvel que, quando deslocado, divide a corda em dois segmentos na razão desejada. Segundo tais experiências, ele verificou que: (i) se os comprimentos de duas cordas estão na razão 2 para 1, então, sob igual tensão, elas fornecem notas em intervalo de oitava, i.e., duas notas de mesmo nome, uma delas estando um tom acima ou abaixo da outra; (ii) se os comprimentos estiverem na razão 3 para 2, então tornar-se-á um intervalo de quinta (de cinco notas musicais, da nota dó ao sol imediatamente superior, por exemplo); (iii) se a razão for de 4 para 3, tem-se um intervalo de quarta (da nota dó ao fá imediamente superior, por exemplo). Portanto, há uma sequência de comprimentos 2a, (3/2)a, (4/3)a, a.
(3/2)a é qual tipo de média dos extremos da sequência?
Solução:
\[\dfrac{2a + a}{2} = \dfrac{3a}{2}\]
(ref. APEx
14775)
Pitágoras realizou experiências com instrumentos de corda dotados de cavalete móvel que, quando deslocado, divide a corda em dois segmentos na razão desejada. Segundo tais experiência, ele verificou que: (i) se os comprimentos de duas cordas estão na razão 2 para 1, então, sob igual tensão, elas fornecem notas em intervalo de oitava, i.e., duas notas de mesmo nome, uma delas estando um tom acima ou abaixo da outra; (ii) se os comprimentos estiverem na razão 3 para 2, então tornar-se-á um intervalo de quinta (de cinco notas musicais, da nota dó ao sol imediatamente superior, por exemplo); (iii) se a razão for de 4 para 3, tem-se um intervalo de quarta (da nota dó ao fá imediamente superior, por exemplo). Portanto, há uma sequência de comprimentos 2a, (3/2)a, (4/3)a, a.
(4/3)a é qual tipo de média dos extremos da sequência?
Solução:
\[\dfrac{2}{\dfrac{1}{2a}+\dfrac{1}{a}} =
\frac{2}{\dfrac{1+2}{2a}} = \frac{2 \cdot 2a}{3} =
\dfrac{4a}{3}\]
(ref. APEx 14800,
14801, 14802, 14803)
Qual é o algarismo final de
Respostas:
6, pois qualquer potência inteira positiva de número com final 6 termina em 6; WolframAlpha:
resulta:
59801913399061751579200551788162305097924192363221986574351323480
728094747875940555614753809791389404422870235677570605152410137794707456
5, pois qualquer potência inteira positiva de número com final 5 termina
em 5
Resulta em um número grande, e não se vê seu final.
O Wolfram|Alpha informa:
Number length
17778 decimal
digits
Você pode clicar repetidamente em [More digits] até
encontrar o final do número.
Uma alternativa mais eficiente é clicar em [Plain Text];
o número completo aparece sob “Wolfram Language plain text output”.
1, pois qualquer potência inteira positiva de número com final 1 termina
em 1.
Resulta em um número grande, mesmo procedimento que o anterior.
Terá que repetir o processo acima 10 vezes, substituindo \(x\) pelos dígitos de 0 a 9 e anotando os algarismos finais:
ou pode fazer a pergunta direta, economizando algum tempo:
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
potencias <- 1:13
for (i in 0:9)
{
cat("
Final ",i,": ",sep="")
cat(i^potencias)
}
Final 0: 0 0 0 0 0 0 0 0 0 0 0 0 0
Final 1: 1 1 1 1 1 1 1 1 1 1 1 1 1
Final 2: 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192
Final 3: 3 9 27 81 243 729 2187 6561 19683 59049 177147 531441 1594323
Final 4: 4 16 64 256 1024 4096 16384 65536 262144 1048576 4194304 16777216 67108864
Final 5: 5 25 125 625 3125 15625 78125 390625 1953125 9765625 48828125 244140625 1220703125
Final 6: 6 36 216 1296 7776 46656 279936 1679616 10077696 60466176 362797056 2176782336 13060694016
Final 7: 7 49 343 2401 16807 117649 823543 5764801 40353607 282475249 1977326743 13841287201 96889010407
Final 8: 8 64 512 4096 32768 262144 2097152 16777216 134217728 1073741824 8589934592 68719476736 549755813888
Final 9: 9 81 729 6561 59049 531441 4782969 43046721 387420489 3486784401 31381059609 282429536481 2.541866e+12
O que nos permite ver que existe um padrão repetitivo.
(ref. APEx
14858)
A pressão da água é proporcional à sua profundidade. Seja d a profundidade (metro) e p a pressão (atmosfera). Na água do mar foi feita a seguinte medição: d = 98.0 m, p = 10.21 atm. Expresse p em termos de d. Se um erro em p menor que 1% for desprezível, o domínio da função é aproximadamente de 0 a 1000. Qual é a imagem correspondente?
Encontra-se a equação que relaciona Pressão e Profundidade:
\(p = b + ad\)
\(d = 0\) e \(p = 1\)
\(d = 98.0\) e \(p = 10.21\)
\(a = (10.21 - 1)/(98.0 - 0) = 0.09397959\)
\(b = 1 - 0.09397959 \times 0 = 1\)
\(p = 1 + 0.09397959\times d\)
\(p(0) = 1\)
\(p(1000) = 1 + 0.09397959\times 1000 = 94.97959\)
p = 0.09398d + 1
p ... pressão da água
d ... profundidade em relação ao nível do mar
Domínio: 0 <= d <= 1000
Imagem: 1 <= p <= 94.97959
Nota: usamos eiras.inequality.plot.R para exibir a
função, mas qualquer gráfico bastaria para este caso simples.
Conclui-se que o domínio é dado por: \[\text{D}(p) = \{0 \leq d \leq 1000, d \in \mathbb{R}\}\] com a imagem correspondendo a: \[\text{Im}(p) = \{1 \leq p \leq 94.97959, p \in \mathbb{R}\}\]
(ref. APEx
14859)
Uma barra de cobre, parte de um instrumento, é exposta a diferentes temperaturas. Seu comprimento l é quase uma função linear da temperatura t desde que t < 150° (Celsius). Encontre a equação para l usando as seguintes medidas: t1 = 15°C, l1 = 76.45 cm e t2 = 100°C, l2 = 76.56 cm.
Solução:
\(l = b + at\)
\(t_1 = 15\) e \(l_1 = 76.45\)
\(t_2 = 100\) e \(l_2 = 76.56\)
\(a = (76.56 - 76.45)/(100 - 15) = 0.001294118\)
\(b = 76.45 - 0.001294118\times 15 = 76.43059\)
\(l = 76.43059 + 0.001294118\times t\)
l = 0.00129t + 76.43059
l ... comprimento da barra de cobre (cm)
t ... temperatura (graus Celsius)
Domínio: 15 <= t <= 100
Imagem: 76.45 <= l <= 76.56
(ref. APEx 14860,
14861)
Ao queimar combustíveis fósseis, a humanidade libera 200 milhões de toneladas métricas de monóxido de carbono (CO) venenoso na atmosfera a cada ano. No entanto, a concentração de CO permanece entre 0.04 e 0.90 ppm (partes por milhão) no ar ambiente. A principal razão é que os microorganismos no solo absorvem CO rapidamente e o convertem em dióxido de carbono e/ou metano. Em um experimento com 10 litros de ar e um pouco de solo para vasos, 1443 \(\mu\)g de CO foram reduzidos para 47 \(\mu\)g em 3 horas. A queda foi linear.
Encontre a equação para a massa decrescente de CO ao longo dos minutos.
Qual a massa de CO que deveria ter sido observada após uma hora e meia deste experimento em cada litro de ar?
\(c(t) = b + at\)
\(t_1 = 0\) minuto e \(c_1 = 1443\) μg
\(t_2 = 180\) minuto e \(c_2 = 47\) μg
\(a = (47 - 1443)/(180 - 0) = -7.755556\)
\(b = 1443 - (-7.755556)\times 0 = 1443\)
\(c(t) = 1443 - 7.755556\times t\)
Para \(t=1.5\) hora (90 minutos), em 10 litros:
\(c(90) = 1443 - 7.755556 \times 90 = 745\) μg
Portanto, aproximadamente 74.5 μg em cada litro de ar.
[CO] = -7.75556t + 1443
[CO] ... concentração de CO (micrograma)
t ... tempo (minuto)
Domínio: 0 <= t <= 180
Imagem: 47 <= l <= 1443
Alterando-se as seguintes linhas, obtém-se a equação por litro:
Obtém-se:
[CO] = -0.77556t + 144.3
[CO] ... concentração de CO (micrograma)
t ... tempo (minuto)
Após 1 hora e 30 minutos do experimento, espera-se encontrar
74.5 microgramas em cada litro de ar.
(ref. APEx 14862,
14877)
Suponha que um adulto precise de pelo menos 300 g de carboidratos em sua alimentação diária. 100 g de batata crua contém 19 g e 100 g de soja seca contém 35 g de carboidratos. Que possibilidades ele tem se quiser cumprir essa condição comendo um alimento combinado composto de batata e soja?
Solução:
0.19b + 0.35s >= 300, b>=0, s>=0
As possibilidades podem ser expressas graficamente, considerando que batata fornece 0.19 g de carboidrato e soja 0.35 g de carboidrato a cada g de alimento total, e que deseja-se consumir um mínimo de 300 g de carboidrato diário, temos:
A dieta de batata e soja, portanto, admite infinitas combinações, indo de
Batata Soja
1 0 857
2 2 856
3 3 855
4 5 855
5 6 854
... até ...
Batata Soja
995 1571 4
996 1573 3
997 1574 3
998 1576 2
999 1577 1
1000 1579 0
(ref. APEx
14865)
Uma área de no máximo 10 ha deve ser plantada com trigo e batata. Para evitar a monocultura é necessário que no máximo 70% da área efetivamente cultivada seja reservada para trigo ou para batata. Seja \(x\) o número de hectares plantados com trigo e \(y\) o número correspondente com batata. Encontre graficamente todos os pares \((x, y)\) que atendam a essas condições. Quais destes pares de pontos utilizam o máximo da área efetivamente plantada?
Solução:
Maximizar função-objetivo: \(x + y\)
\[ \begin{align} x + y &\le 10 \\ x &\le 0.7(x+y) \to +0.3x - 0.7y \le 0 \\ y &\le 0.7 (x+y) \to -0.7x + 0.3y \le 0 \\ \end{align} \]
LinearProgramming[{-1,-1}, {{1,1},{0.3,-0.7}, {-0.7,0.3}}, {{10,-1},{0,-1},{0,-1}}]
x + y <= 10, x <= 0.7*(x+y), y <= 0.7*(x+y)
Portanto, a área plantada sem monocultura é maximizada para \(y=10-x\) ha de batata e \(x \in [3,7]\) ha de trigo. (comutativamente, para \(x=10-y\) ha de trigo e \(y\in [3,7]\) ha de batata.)
Plantando-se qualquer parte do terreno (de 0 a 10 ha) e mantendo-se as
proporções de até 70% de uma das duas culturas, encontramos todos os
pontos que atendem simultaneamente as condições impostas (a área
hachurada). Quando todos os 10 ha são plantados (i.e., \(x+y=10\)), somente os pontos sobre a linha
pontilhada corresponde à condição; no entanto, mantendo a restrição de
que nenhuma das culturas, batata ou trigo, pode superar 70%, somente o
segmento de reta em azul, que coincide com a aresta superior da área
triangular, satisfaz as condiçoes deste problema.
(ref. APEx
14863)
A pressão da água do mar é proporcional à profundidade A pressão da água ao nível do mar é de 1 atm. A acréscimos iguais na profundidade correspondem acréscimos iguais na pressão até mil metros. Então:
\[p = 1+0.1 h, \;h\in[0,1000]\]
Sendo p a pressão (atm) e h a profundidade (m).
Esta lei tem grande utilidade no planejamento de construções submarinas.
A elasticidade da pressão (atm) para um valor de profundidade h (m) é \(h/(10+h)\)%.
A pressão é uma função:
Verifica-se que a elasticidade é menor que 1, portanto pressão é uma
função inelástica.
(ref. APEx
14864)
Para fins de conservação, um clube de pesca esportiva deseja incentivar seus membros a soltarem seus peixes imediatamente após a captura. O clube também deseja conceder prêmios com base no peso total de peixes capturados: associação honorária ao Clube de 100 libras, Prêmio de maior peso total capturado e assim por diante. Como alguém que pesca determina o peso de um peixe que pescou? Você pode sugerir que cada indivíduo carregue uma pequena balança portátil. No entanto, balanças portáteis tendem a ser inconvenientes e imprecisas, especialmente para peixes menores.
Agora escolha o comprimento l do peixe como a dimensão característica. Assim, o volume v do peixe satisfaz a proporcionalidade \(v\propto l^3\).
Como a massa corporal total (MCT) w é o volume vezes a densidade média da MCT e estamos assumindo uma densidade média constante, segue-se imediatamente que \(w\propto l^3\).
Considere os seguintes dados coletados numa pescaria:
Determinar a inclinação da função linear resultante do modelo proposto.
Solução:
\[w=0.00847\; l^3\]
O critério de qualidade de ajuste do modelo aos pontos observados quanto o número de parâmetros são iguais é o \(R^2\): quanto maior o \(R^2\), melhor o modelo.
Para comparar modelos com número de parâmetros diferentes, sugere-se usar o critério de informação BIC: quanto menor o BIC, melhor o modelo.
O primeiro gráfico mostra que o a relação entre comprimento e massa dos
peixes descrita por uma reta.
Utilizar o cubo do comprimento, como sugere o enunciado, parece melhorar o ajuste para uma reta. Uma vez ajustada, a inclinação desta reta ajustada aos dados é de 0.00847 oz/in3.
(ref. APEx
14879)
Os dados a seguir relacionam a massa corporal total (MCT) de alguns mamíferos com sua frequência cardíaca em batimentos por minuto. Construa um modelo linear que relacione a frequência cardíaca à MCT e calcule a inclinação da reta. Use os dados para verificar seu modelo.
| Mamífero | MCT (g) | Pulsação (batimento/min) |
|---|---|---|
| Vespergo pipistrellas | 4 | 660 |
| Rato | 25 | 670 |
| Rato | 200 | 420 |
| Cobaia | 300 | 300 |
| Coelho | 2000 | 205 |
| Cachorrinho | 5000 | 120 |
| Cachorro grande | 30000 | 85 |
| Ovelha | 50000 | 70 |
| Homem | 70000 | 72 |
| Cavalo | 450000 | 38 |
| Boi | 500000 | 40 |
| Elefante | 3000000 | 48 |
Dados de A. J. Clark, Comparative Physiology of the Heart (Nova York: Macmillan, 1977), p. 99.
Solução:
Sempre é possível ajustar uma reta aos dados brutos. O problema é a
qualidade de ajuste da reta aos dados brutos usando a função
lm do R, por exemplo. Se a função subjacente é potência,
\(y=b x^a\), então \(log(x)\) e \(log(y)\) linearizam a função para usar
lm do R. Outra forma fazer o ajuste é por meio de ajuste da
função potência diretamente nos dados brutos por meio de função
nlm do R. Foi usada a função REAT::curvefit
para selecionar o melhor modelo entre os 4 mais prováveis em geral:
mct <- c(4, 25, 200, 300, 2000, 5000, 30000, 50000,
70000, 450000, 500000, 3000000)
pulsacao <- c(660, 670, 420, 300, 205, 120, 85, 70,
72, 38, 40, 48)
sunflowerplot(mct, pulsacao, pch = 16,
xlab = "MCT (g)", ylab = "Pulsação (bpm)",
main = "12 mamíferos")print(REAT::curvefit(mct, pulsacao,
xlab = "MCT (g)", ylab = "Pulsação (bpm)",
print.results = FALSE)$models_comp, 2) a b Std. Error a Std. Error b t value a t value b
Linear 258.80 -9.2e-05 72.820 8.2e-05 3.554 -1.1
Power 1179.87 -2.5e-01 0.071 1.7e-02 42.995 -14.4
Exponential 165.06 -5.5e-07 0.312 3.5e-07 16.352 -1.6
Logistic 0.07 1.1e-06 0.943 1.1e-06 0.074 1.0
Pr(>|t|) a Pr(>|t|) b R squared Adj. R squared F value Pr(>F)
Linear 5.2e-03 2.9e-01 0.112 0.0228 1.3 2.9e-01
Power 1.1e-12 5.1e-08 0.954 0.9495 208.0 5.1e-08
Exponential 1.5e-08 1.5e-01 0.196 0.1157 2.4 1.5e-01
Logistic 9.4e-01 3.3e-01 0.096 0.0058 1.1 3.3e-01
Call:
lm(formula = log(mct) ~ log(pulsacao))
Residuals:
Min 1Q Median 3Q Max
-1.2674 -0.5749 -0.1884 0.4668 2.0996
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 27.8219 1.3500 20.61 1.6e-09 ***
log(pulsacao) -3.8767 0.2688 -14.42 5.1e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9463 on 10 degrees of freedom
Multiple R-squared: 0.9541, Adjusted R-squared: 0.9495
F-statistic: 208 on 1 and 10 DF, p-value: 5.099e-08
sunflowerplot(mct, pulsacao, pch = 16, log="xy",
xlab = "ln(MCT (g))", ylab = "ln(Pulsação (bpm))",
main = "12 mamíferos")print(REAT::curvefit(log(mct), log(pulsacao),
xlab = "ln(MCT (g))", ylab = "ln(Pulsação (bpm))",
print.results = FALSE)$models_comp, 2) a b Std. Error a Std. Error b t value a t value b
Linear 7.1 -0.246 0.165 0.0171 43.0 -14.4
Power 8.4 -0.277 0.040 0.0437 23.1 -6.3
Exponential 7.4 -0.049 0.035 0.0037 56.9 -13.5
Logistic -5.8 0.453 0.788 0.0818 -7.4 5.5
Pr(>|t|) a Pr(>|t|) b R squared Adj. R squared F value Pr(>F)
Linear 1.1e-12 5.1e-08 0.95 0.95 208 5.1e-08
Power 5.3e-10 8.5e-05 0.80 0.78 40 8.5e-05
Exponential 6.8e-14 9.4e-08 0.95 0.94 183 9.4e-08
Logistic 2.3e-05 2.5e-04 0.75 0.73 31 2.5e-04
O melhor modelo para os dados brutos é claramente a função potência. Isto equivale à função linearizada com logaritmos de \(x\) e \(y\).
(ref. APEx
14881)
Qual \(f\) satisfaz \(f(f(f(x))) = x\), exceto \(f(x)=x\)?
Solução:
Involution (mathematics): Wikipedia
O primeiro passo é encontrar funções \(f \colon \mathbb{R} \to \mathbb{R}\) tais que:
\[ f(f(x)) = x, \quad x \in \mathbb{R} \]
mas exceto a função identidade \(f(x) = x\), pois é uma solução trivial.
A equação funcional \(f(f(x)) = x\) significa que \(f\) é sua própria inversa, i.e.:
\[ f = f^{-1} \]
Esse tipo de função é chamada de involução.
Exemplo 1: função involutiva não trivial
Uma função simples que satisfaz a condição e não é a identidade é:
\[ f(x) = -x \]
De fato:
\[ f(f(x)) = f(-x) = -(-x) = x \]
f1 <- function(x) - x
curve(f1, from = -5, to = 5, col = "blue", lwd = 2, ylim = c(-3, 3),
main = "Função f(x) com c = 0", ylab = "f(x)", xlab = "x", asp=1)
curve(x^1, lty=2, add=TRUE)
abline(v=0, h=0, lty=3)
legend("topright",
legend = c(
expression(f(x) == - x)),
col = c("blue"),
lty = 1, lwd = 2, cex = 0.95, bty="n")\(f(x) = c - x\)
\(f(x) = \dfrac{c}{x}\)
\(f(x) = \dfrac{c_1 - x}{c_2 x + 1}\)
Sendo que \(c\), \(c_1\) e \(c_2\) são constantes reais.
f1 <- function(x) 1 - x
f2 <- function(x) 1 / x
f3 <- function(x) (1 - x) / (x + 1)
curve(f1, from = -5, to = 5, col = "blue", lwd = 2, ylim = c(-3, 3),
main = "Funções f(x) com c = 1", ylab = "f(x)", xlab = "x", asp=1)
curve(x^1, lty=2, add=TRUE)
curve(f2, from = -5, to = 5, add = TRUE, col = "black", lwd = 2, n = 1000)
curve(f3, from = -5, to = 5, add = TRUE, col = "green", lwd = 2, n = 1000)
abline(v=0, h=0, lty=3)
legend("topleft",
legend = c(
expression(f(x) == 1 - x),
expression(f(x) == frac(1, x)),
expression(f(x) == frac(1 - x, x + 1))),
col = c("blue", "black", "green"),
lty = 1, lwd = 2, cex = 0.95, bty="n")Há duas soluções:
Podem ser conferidas com
f(x) = - (1/(x-1)) /. x=(x-1)/x
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# teste, com 100 números randomizados entre -500 e +500
x <- runif(100,-500,500)
minx <- min(x)
maxx <- max(x)
ampx <- maxx-minx
# folga 10% para o grafico
minx <- minx-ampx/10
maxx <- maxx+ampx/10
f <- function(x)
{
(x-1)/x
}
y <- f(f(f(x)))
plot(x,y,
xlab="x",ylab="f(x)=(x-1)/x",
xlim=c(minx,maxx),ylim=c(minx,maxx))
lines(c(minx,maxx),c(minx,maxx),lty=2) # bissetrizinvisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# teste, com 100 números randomizados entre -500 e +500
x <- runif(100,-500,500)
minx <- min(x)
maxx <- max(x)
ampx <- maxx-minx
# folga 10% para o grafico
minx <- minx-ampx/10
maxx <- maxx+ampx/10
f <- function(x)
{
(x-3)/(x+1)
}
y <- f(f(f(x)))
plot(x,y,
xlab="x",ylab="f(x)=(x-3)/(x+1)",
xlim=c(minx,maxx),ylim=c(minx,maxx))
lines(c(minx,maxx),c(minx,maxx),lty=2) # bissetriz(ref. APEx
14882)
Qual \(f\) satisfaz \(f(f(f(f(x)))) = x\), exceto \(f(x)=x\)?
Solução:
Pode ser conferida com
f(x)=(x - 1)/(x + 1) /. x=(x - 1)/(x + 1)
f(x)=-1/x /. x=(x - 1)/(x + 1)
f(x)=-(x+1)/(x-1) /. x=(x - 1)/(x + 1)
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# teste, com 100 números randomizados entre -500 e +500
x <- runif(100,-500,500)
minx <- min(x)
maxx <- max(x)
ampx <- maxx-minx
# folga 10% para o grafico
minx <- minx-ampx/10
maxx <- maxx+ampx/10
f <- function(x)
{
(x - 1)/(x + 1)
}
y <- f(f(f(f(x))))
plot(x,y,
xlab="x",ylab="f(x)=(x-1)/(x+1)",
xlim=c(minx,maxx),ylim=c(minx,maxx))
lines(c(minx,maxx),c(minx,maxx),lty=2) # bissetriz(ref. APEx
14883)
Qual \(f\) satisfaz \(f(f(f(f(f(x))))) = x\), exceto \(f(x)=x\)?
Solução:
Nota: o que é phi?
Podem ser conferidas com
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# teste, com 100 números randomizados entre -500 e +500
x <- runif(100,-500,500)
minx <- min(x)
maxx <- max(x)
ampx <- maxx-minx
# folga 10% para o grafico
minx <- minx-ampx/10
maxx <- maxx+ampx/10
f <- function(x)
{
phi <- 0.5+sqrt(5)/2
(x * phi - 1)/x
}
y <- f(f(f(f(f(x)))))
plot(x,y,
xlab="x",ylab="f(x)=(x * phi - 1)/x",
xlim=c(minx,maxx),ylim=c(minx,maxx))
lines(c(minx,maxx),c(minx,maxx),lty=2) # bissetrizinvisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# teste, com 100 números randomizados entre -500 e +500
x <- runif(100,-500,500)
minx <- min(x)
maxx <- max(x)
ampx <- maxx-minx
# folga 10% para o grafico
minx <- minx-ampx/10
maxx <- maxx+ampx/10
f <- function(x)
{
phi <- 0.5+sqrt(5)/2
(x * (-phi) - 1)/x
}
y <- f(f(f(f(f(x)))))
plot(x,y,
xlab="x",ylab="f(x)=(x * (-phi) - 1)/x",
xlim=c(minx,maxx),ylim=c(minx,maxx))
lines(c(minx,maxx),c(minx,maxx),lty=2) # bissetrizinvisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# teste, com 100 números randomizados entre -500 e +500
x <- runif(100,-500,500)
minx <- min(x)
maxx <- max(x)
ampx <- maxx-minx
# folga 10% para o grafico
minx <- minx-ampx/10
maxx <- maxx+ampx/10
f <- function(x)
{
phi <- 0.5+sqrt(5)/2
(x / phi - 1)/x
}
y <- f(f(f(f(f(x)))))
plot(x,y,
xlab="x",ylab="f(x)=(x / phi - 1)/x",
xlim=c(minx,maxx),ylim=c(minx,maxx))
lines(c(minx,maxx),c(minx,maxx),lty=2) # bissetrizinvisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
# teste, com 100 números randomizados entre -500 e +500
x <- runif(100,-500,500)
minx <- min(x)
maxx <- max(x)
ampx <- maxx-minx
# folga 10% para o grafico
minx <- minx-ampx/10
maxx <- maxx+ampx/10
f <- function(x)
{
phi <- 0.5+sqrt(5)/2
(-x / phi - 1)/x
}
y <- f(f(f(f(f(x)))))
plot(x,y,
xlab="x",ylab="f(x)=(-x / phi - 1)/x",
xlim=c(minx,maxx),ylim=c(minx,maxx))
lines(c(minx,maxx),c(minx,maxx),lty=2) # bissetriz(ref. APEx
14884)
O número real \(x\) tal que \(f(x)=x\) é denominado ponto fixo. Determine o ponto fixo de \(f(x)=1+1/x\).
Solução:
invisible(Sys.setlocale("LC_ALL","pt_BR.UTF-8"))
f <- function(x)
{
1 + 1/x
}
x <- c(1/2 - sqrt(5)/2, 1/2 + sqrt(5)/2)
cat("\nx = ", x)
y <- f(x)
cat("\ny = ", y)
x = -0.618034 1.618034
y = -0.618034 1.618034
(ref. APEx 14871,
14880)
“Resumo: Determinações padrão de depuração de creatinina verdadeira de 24 horas foram realizadas em 884 indivíduos do Estudo Longitudinal de Baltimore. Com base nos dados clínicos, os indivíduos foram colocados em categorias que indicam a presença de doenças específicas ou medicamentos que podem alterar a taxa de filtração glomerular. Os indivíduos não incluídos nessas categorias foram considerados normais (N = 548). Nos normais, a análise transversal por faixas etárias de 10 anos mostrou um declínio linear progressivo na depuração de 140 ml/min/1.73 m2 na idade de 30 a 97 anos na idade de 80. Três ou mais depurações em série foram obtidas de 12 a 18 -mo. intervalos em 293 indivíduos normais. Esses dados longitudinais mostraram uma aceleração da taxa de declínio do clearance de creatinina com o avanço da idade. A diminuição do clearance de creatinina com a idade observada neste estudo representa o verdadeiro envelhecimento renal e não é secundária a doenças cada vez mais prevalentes em idosos. Um nomograma construído a partir desses dados fornece padrões normativos corrigidos pela idade para a depuração da creatinina.” (Rowe et al., 1976)
A relação da depuração de creatinina com a idade em 548 indivíduos normais (Fig. 3) foi analisada por ajuste de mínimos quadrados de polinômios lineares, quadráticos e cúbicos. As soluções quadrática e cúbica não melhoraram significativamente o ajuste obtido pela solução linear, que foi:
Depuração de creatinina (ml/min/1.73 m2) = 165.7 - 0.8 idade (ano)
Fig. 3. Análise transversal da depuração de creatinina individual versus idade. Cada dado plotado representa a idade média e os valores médios de folga para um indivíduo. Os resultados da análise de regressão da depuração padrão da creatinina na idade são apresentados abaixo das abcissas. Observe que o valor de interceptação de 165.6 refere-se à depuração de creatinina na idade zero.
Quais são as elasticidades da depuração de creatinina para 30, 40, 50, 60, 70 e 80 anos de idade?
[1] -0.1693719
[1] -0.2393418
[1] -0.318218
[1] -0.4078165
[1] -0.5104831
[1] -0.6293019
A elasticidade é definida como a variação percentual da demanda (representada pela quantidade de creatinina que o rim consegue depurar) em relação à variação percentual do preço (representada pela idade).
Uma aproximação desta resposta, usando uma forma “força-bruta” mais grosseira para computar elasticidade, mostra graficamente a mudança da elasticidade do clearance de creatinina com a idade. O resultado é aproximadamente o mesmo que aquele obtido por método analítico, acima.
Table: Elasticidade do clearance por idade (C = 165.5 − 0.8·Idade)
| Idade| Clearance| Elasticidade|
|-----:|---------:|------------:|
| 30| 141.5| -0.1696|
| 40| 133.5| -0.2397|
| 50| 125.5| -0.3187|
| 60| 117.5| -0.4085|
| 70| 109.5| -0.5114|
| 80| 101.5| -0.6305|
| 90| 93.5| -0.7701|
| 100| 85.5| -0.9357|
| 110| 77.5| -1.1355|
(ref. APEx
16459)
A altura máxima de uma árvore é limitada principalmente por restrições hidráulicas do transporte de água no xilema.
Considerando a relação hidrostática ΔP = ρ g h e evidências empíricas de tensão máxima suportada pela coluna de água antes da cavitação, qual é a ordem de grandeza do limite superior teórico para a altura de árvores vasculares terrestres?
Solução:
Para elevar água a uma altura h é necessária uma pressão mínima ΔP = ρ g h ≈ 0.01 MPa por metro.
Para h ≈ 120 m: ΔP ≈ 1.2 MPa.
A transpiração foliar gera pressões negativas no xilema da ordem de −1 a −3 MPa, suficientes para vencer a gravidade nessa faixa de altura.
O limite não é a gravidade em si, mas a cavitação: acima dessas tensões a coluna contínua de água se rompe, interrompendo o fluxo.
Alturas muito maiores exigiriam tensões superiores à resistência física da água líquida no xilema, tornando o sistema instável.
Logo, o teto teórico fica em torno de 120 m, consistente com observações empíricas.
A maior árvore viva confirmada hoje é a Hyperion (Sequoia sempervirens), com 116.07 m (medida em 2019).
(ref. APEx
16469)
Um médico preocupado com sua saúde deseja ingerir um mínimo de 36 unidades de vitamina A por dia, 28 de vitamina C e 32 de vitamina D. A marca 1 custa R$ 3 e fornece 2 unidades de vitamina A, 2 de vitamina C e 8 de vitamina D. A marca 2 custa R$ 4 e fornece 3 unidades de vitamina A, 2 unidades de vitamina C e 2 unidades de vitamina D.
Qual é a combinação de custo mínimo que garante as necessidades diárias?
A. Comprar 6 unidades da marca 1 e 8 unidades da marca 2, com custo total de R$ 50.
B. Comprar 4 unidades da marca 1 e 10 unidades da marca 2, com custo total de R$ 52.
C. Comprar 8 unidades da marca 1 e 6 unidades da marca 2, com custo total de R$ 48.
D. Comprar 5 unidades da marca 1 e 9 unidades da marca 2, com custo total de R$ 51.
E. Comprar 7 unidades da marca 1 e 7 unidades da marca 2, com custo total de R$ 49.
Solução:
Alternatica correta: A.
Referência: Dowling, 1981, p. 294-5, 298-9
Sejam \(x_1\) e \(x_2\) as quantidades diárias das marcas 1 e 2, respectivamente.
O problema de programação linear é
\[ \begin{align} \min \; C &= 3x_1 + 4x_2 \\ \text{sujeito a} \quad 2x_1 + 3x_2 &\ge 36 \\ 2x_1 + 2x_2 &\ge 28 \\ 8x_1 + 2x_2 &\ge 32 \\ x_1 &\ge 0 \\ x_2 &\ge 0 \end{align} \]
sendo que
\(x_1\) = quantidade da marca 1
\(x_2\) = quantidade da marca 2
\(C\) = custo diário total
# Programação linear: custo mínimo de vitaminas
library(lpSolve)
# coeficientes da função objetivo
f.obj <- c(3, 4)
# matriz de restrições
f.con <- matrix(
c(2, 3,
2, 2,
8, 2),
nrow = 3,
byrow = TRUE
)
# direção das restrições
f.dir <- c(">=", ">=", ">=")
# lado direito
f.rhs <- c(36, 28, 32)
# resolver o problema
sol <- lpSolve::lp(
direction = "min",
objective.in = f.obj,
const.mat = f.con,
const.dir = f.dir,
const.rhs = f.rhs
)
# solução ótima
print(sol$solution)[1] 6 8
[1] 50
# ------------------------
# gráfico
# ------------------------
x <- seq(0, 20, length.out = 500)
# retas das restrições
yA <- (36 - 2*x)/3 # 2x1 + 3x2 = 36
yC <- (28 - 2*x)/2 # 2x1 + 2x2 = 28
yD <- (32 - 8*x)/2 # 8x1 + 2x2 = 32
# manter apenas parte visível
yA_plot <- ifelse(yA >= 0 & yA <= 20, yA, NA)
yC_plot <- ifelse(yC >= 0 & yC <= 20, yC, NA)
yD_plot <- ifelse(yD >= 0 & yD <= 20, yD, NA)
# reta da função objetivo passando pela solução ótima
z.opt <- sol$objval
yZ <- (z.opt - 3*x)/4
yZ_plot <- ifelse(yZ >= 0 & yZ <= 20, yZ, NA)
plot(NA, NA,
xlim = c(0, 20), ylim = c(0, 20),
xlab = "Marca 1",
ylab = "Marca 2")
# hachuras das regiões das inequações
# como as restrições são >=, a região válida fica acima de cada reta
polygon(
c(x, rev(x)),
c(pmax(yA, 0), rep(20, length(x))),
density = 12, angle = 45, border = NA, col = "gray85"
)
polygon(
c(x, rev(x)),
c(pmax(yC, 0), rep(20, length(x))),
density = 12, angle = 135, border = NA, col = "gray80"
)
polygon(
c(x, rev(x)),
c(pmax(yD, 0), rep(20, length(x))),
density = 12, angle = 0, border = NA, col = "gray75"
)
# redesenhar as retas após as hachuras
lines(x, yA_plot, lwd = 2)
lines(x, yC_plot, lwd = 2, lty = 2)
lines(x, yD_plot, lwd = 2, lty = 3)
# reta da função objetivo
lines(x, yZ_plot, lwd = 2, lty = 4)
abline(v = 0)
abline(h = 0)
# solução ótima
points(sol$solution[1], sol$solution[2], pch = 19, cex = 1.4)
text(sol$solution[1], sol$solution[2],
labels = " solução ótima (6,8)", pos = 4)
legend("topright",
legend = c("Vitamina A",
"Vitamina C",
"Vitamina D",
"Função-objetivo: 3x1 + 4x2 = 50"),
lwd = 2,
lty = c(1, 2, 3, 4),
bty = "n")Batschelet, E (1979) Introduction to mathematics for life scientists. 3rd ed. NY: Springer.
Batschelet, E (1978) Introdução à matemática para biocientistas. Tradução da 2ª ed. São Paulo: EDUSP e Rio de Janeiro: Interciência.
Dowling, ET (1981) Matemática aplicada a Economia e Administração. São Paulo: McGraw-Hill.
Giordano, FR et al. (2015) A first course in mathematical modeling. 5th ed. OH: Thomson. Capítulos 2 e 14.
Rowe, JW et al. (1976) The effect of age on creatinine clearance in men: a cross-sectional and longitudinal study. Journal of Gerontology 31(2): 155–163. https://doi.org/10.1093/geronj/31.2.155
Siqueira, JO (2011) Fundamentos para cálculo: usando WolframAlpha. São Paulo: Saraiva. Soluções dos exercícios em https://www.researchgate.net/publication/326533655_Fundamentos_para_Calculo_-_Solucoes
Trota, F; Imenes, LMP & Jakubovic, J (1979) Matemática aplicada. São Paulo: Moderna.