Carregando WebR...
# ============================================ # Monopolio com demanda linear # Exercicio Resolvido 15.1 # ============================================ # --- Parametros --- a <- 80 # intercepto da demanda b <- 2 # inclinacao da demanda CF <- 200 # custo fixo c <- 8 # custo marginal constante cat("====== MONOPOLIO COM DEMANDA LINEAR ======\n") cat("Demanda: p =", a, "-", b, "* q\n") cat("Custo: C(q) =", CF, "+", c, "* q\n\n") # --- Monopolio --- qm <- (a - c) / (2 * b) pm <- a - b * qm RMg_m <- a - 2 * b * qm # = c (verificacao) lucro_m <- pm * qm - (CF + c * qm) cat("--- Resultado de monopolio ---\n") cat("q^m =", qm, "\n") cat("p^m =", pm, "\n") cat("Lucro =", lucro_m, "\n") # --- Indice de Lerner --- L <- (pm - c) / pm eps <- (-1/b) * (pm / qm) # elasticidade no ponto cat("\nIndice de Lerner: L =", round(L, 4), "\n") cat("Elasticidade: eps =", round(eps, 4), "\n") cat("1/|eps| =", round(1/abs(eps), 4), " = L?", abs(L - 1/abs(eps)) < 1e-10, "\n") # --- Concorrencia perfeita --- qc <- (a - c) / b pc <- c EC_c <- 0.5 * (a - c) * qc cat("\n--- Concorrencia perfeita ---\n") cat("q^c =", qc, " p^c =", pc, "\n") cat("EC^c =", EC_c, " EP^c = 0\n") cat("W^c =", EC_c, "\n") # --- Excedentes sob monopolio --- EC_m <- 0.5 * (a - pm) * qm EP_m <- (pm - c) * qm PPM <- 0.5 * (pm - c) * (qc - qm) Wm <- EC_m + EP_m cat("\n--- Excedentes sob monopolio ---\n") cat("EC^m =", EC_m, "\n") cat("EP^m =", EP_m, "\n") cat("W^m =", Wm, "\n") cat("PPM (triangulo de Harberger) =", PPM, "\n") cat("Verificacao: W^c - W^m =", EC_c - Wm, "= PPM?", abs(EC_c - Wm - PPM) < 1e-10, "\n") # --- Grafico --- par(mar = c(4.5, 4.5, 3, 2), bg = "#f8f9fa") q_seq <- seq(0, qc + 5, length = 300) p_dem <- a - b * q_seq RMg_seq <- a - 2 * b * q_seq plot(q_seq, p_dem, type = "l", lwd = 3, col = "#0d6efd", ylim = c(0, a + 5), xlim = c(0, qc + 5), xlab = "q", ylab = "p, CMg, RMg", main = "Monopolio vs. Concorrencia Perfeita") lines(q_seq, RMg_seq, lwd = 2, col = "#6f42c1", lty = 2) abline(h = c, col = "#dc3545", lwd = 2) # Triangulo de PPM polygon(c(qm, qm, qc), c(pm, c, c), col = rgb(1, 0.5, 0, 0.25), border = NA) text((qm + qc)/2, (pm + c)/2 - 3, paste0("PPM = ", PPM), col = "#fd7e14", cex = 0.85, font = 2) # Retangulo de lucro rect(0, c, qm, pm, col = rgb(0.1, 0.53, 0.33, 0.15), border = NA) text(qm/2, (pm + c)/2, paste0("EP = ", EP_m), col = "#198754", cex = 0.8, font = 2) # Pontos points(qm, pm, pch = 19, col = "#dc3545", cex = 2) text(qm + 1, pm + 2, paste0("M (", qm, ", ", pm, ")"), col = "#dc3545", cex = 0.8, font = 2) points(qc, pc, pch = 17, col = "#198754", cex = 1.5) text(qc - 1, pc + 4, paste0("C (", qc, ", ", pc, ")"), col = "#198754", cex = 0.8, font = 2) legend("topright", legend = c("Demanda", "RMg", "CMg", "PPM", "EP monopolio"), col = c("#0d6efd", "#6f42c1", "#dc3545", rgb(1, 0.5, 0, 0.5), rgb(0.1, 0.53, 0.33, 0.3)), lwd = c(3, 2, 2, NA, NA), lty = c(1, 2, 1, NA, NA), pch = c(NA, NA, NA, 15, 15), cex = 0.7, bg = "white")
▶ Executar
↻ Resetar
(Aguardando WebR...)