绘制基本再生数随两参数变化的曲线图技术求助
求助:复现论文中的基本再生数R₀相关图表
需要复现指定论文中的图表,以下是基本再生数(R₀)的参数值与计算公式:
beta_s = 0.274 alpha_a = 0.4775 alpha_u = 0.695 mu = 0.062 gamma_a = 0.29 q_i = 0.078 1/eta_i = 0.009 → eta_i = 1/0.009 ≈ 111.111 1/eta_u = 0.05 → eta_u = 1/0.05 = 20 R₀ = (beta_s*alpha_a)/(gamma_a+mu) + (beta_s*alpha_u*gamma_a*(1-q_i))/((gamma_a+mu)(eta_u+mu))
R语言实现代码
# 设定基础参数 alpha_a <- 0.4775 alpha_u <- 0.695 mu <- 0.062 gamma_a <- 0.29 q_i <- 0.078 eta_i <- 1/0.009 eta_u <- 1/0.05 # 定义R₀计算函数 calculate_R0 <- function(beta_s) { term1 <- (beta_s * alpha_a) / (gamma_a + mu) term2 <- (beta_s * alpha_u * gamma_a * (1 - q_i)) / ((gamma_a + mu) * (eta_u + mu)) return(term1 + term2) } # 生成beta_s序列(匹配图表横轴范围) beta_s_seq <- seq(0, 0.5, by = 0.01) R0_vals <- sapply(beta_s_seq, calculate_R0) # 绘制图表 plot(beta_s_seq, R0_vals, type = "l", lwd = 2, col = "blue", xlab = expression(beta[s]), ylab = expression(R[0]), main = expression("Basic Reproductive Number " * R[0] * " vs " * beta[s])) abline(h = 1, lty = 2, col = "red") # 添加R₀=1的关键参考线
MATLAB实现代码
% 设定基础参数 alpha_a = 0.4775; alpha_u = 0.695; mu = 0.062; gamma_a = 0.29; q_i = 0.078; eta_i = 1/0.009; eta_u = 1/0.05; % 定义R₀计算匿名函数 calculate_R0 = @(beta_s) ... (beta_s * alpha_a)/(gamma_a + mu) + ... (beta_s * alpha_u * gamma_a * (1 - q_i))/((gamma_a + mu)*(eta_u + mu)); % 生成beta_s序列(匹配图表横轴范围) beta_s_seq = 0:0.01:0.5; R0_vals = arrayfun(calculate_R0, beta_s_seq); % 绘制图表 plot(beta_s_seq, R0_vals, 'LineWidth', 2, 'Color', 'blue'); xlabel('\beta_s'); ylabel('R_0'); title('Basic Reproductive Number R_0 vs \beta_s'); hold on; plot([min(beta_s_seq) max(beta_s_seq)], [1 1], '--r', 'LineWidth', 1); % 添加R₀=1的关键参考线 hold off; grid on;
内容的提问来源于stack exchange,提问作者Hew123
相关产品推荐
相关产品推荐

