You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB绘制带阴影的Rappaport覆盖面积-距离图问题求助

Rappaport阴影覆盖面积图MATLAB代码问题排查

我尝试使用MATLAB绘制带阴影的覆盖面积与距离关系的Rappaport图,目标是生成标准形态的图形(随σ/n增大,U(γ)从1逐渐下降,不同γ阈值对应不同下降速率的曲线),但当前输出的曲线形态和数值均不符合预期。

依据的课堂公式

$U(\gamma)=\frac{1}{2}[1-\text{erf}(a)+e{\frac{1-2ab}{b2}}[1-\text{erf}(\frac{1-ab}{b})]]$
$a=\frac{\gamma-P_t+\overline{PL}(d_0)-10n\log(\frac{R}{d_0})}{\sigma\sqrt{2}}$
$b=\frac{10n\log(e)}{\sigma\sqrt{2}}$

我的MATLAB代码

% Parameters
Pt = 30; % Transmitted power in dBm
PL_d0 = 60; % Path loss at reference distance (in dB)
sigma = 8; % Standard deviation of shadowing (in dB)
n = 3.5; % Path loss exponent
d0 = 1; % Reference distance (in meters)
R = 10; % Cell radius (in meters)
gamma_values = linspace(1, 0, 10); % Reverse gamma threshold values

% Define distance and sigma/n values
sigma_n_ratio = linspace(0, 8, 100); % Varying sigma/n (shadowing effect)
U = zeros(length(gamma_values), length(sigma_n_ratio));

% Compute U(gamma) for different values of gamma and sigma/n
for j = 1:length(gamma_values)
    gamma = gamma_values(j);
    for i = 1:length(sigma_n_ratio)
        sigma_n = sigma_n_ratio(i);
        a = (gamma - Pt + PL_d0 - 10*n*log10(R/d0)) / (sigma_n * sqrt(2));
        b = (10*n*log10(exp(1))) / (sigma_n * sqrt(2));
        % U(gamma) equation
        U(j, i) = 0.5 * (1 - erf(a) + exp((1 - 2*a*b) / b^2) * (1 - erf((1 - a*b) / b)));
    end
end

% Plotting
figure;
hold on;
for j = 1:length(gamma_values)
    plot(sigma_n_ratio, U(j, :), 'DisplayName', sprintf('Pr[r > %0.2f]', gamma_values(j)));
end
xlabel('\sigma/n');
ylabel('Fraction of total area with signal above threshold, U(\gamma)');
legend('show');
title('Plot of Area vs. Distance Coverage with Shadowing');
grid on;

请求协助排查代码问题,或提供改进方案以匹配预期图形效果。


内容的提问来源于stack exchange,提问作者nai hamdan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 08:00:54