Всем привет…..

может кто-нибудь помочь……

Мне нужно найти оптимальное значение x0 и x1 для максимизации R, где x1=d-x0……….код функции MATLAB:

close all; clear all; clc;
% System parameters
F = 10000;    % Number of files
S = 100;     % SBS cache capacity (set to 100)
M = 50;      % Cash capacity fraction
alpha = 2; % Path loss exponent for LOS link
c = 3e8;     % Light speed
fr = 1e12;  % Operating frequency
B = 10e6;    % System bandwidth
epsilon = 0.8; % Skewness factor
K = 0.0016;  % Molecular absorption coefficient
P_M = 10^(64/10); % Transmit power MBS
P_S = 10^(30/10); % Transmit power SBS
sigma = 10^(-90/10); % Noise power
N_L = 512;
N_M = 16;
eta = 1;
x2 =30;      % RIS-MBS distance

d_range = 1:1:40;
R = zeros(size(d_range));
for i = 1:length(d_range)
    d = d_range(i);
    
    sum1 = 0;
    for f = 1:F
        sum1 = sum1 + f^(-epsilon);
    end
    sum2 = 0;  
    for f = 1:M
        sum2 = sum2 + f^(-epsilon)/sum1;
    end
    sum3 = 0;
    for f = (M + 1):(M + (S - M) / eta)
        sum3 = sum3 + (f^(-epsilon)) / sum1;
    end
    sum3 = sum3 * eta;
    
    beta = (c/(4*pi*fr))^2;  % Spreading loss index
    Rs = B * log2(1 + (P_S * beta * (d-x1)^(-alpha) * exp(-K * (d-x1))) / sigma);
    Rm = B * log2(1 + (P_M * (N_L^2) * N_M * (beta * (d-x0)^(-alpha) * exp(-K * (d-x0))) * (beta * x2^(-alpha) * exp(-K * x2))) / sigma);
    Rt = Rs * (sum2 + sum3) + Rm * (1 - (sum2 + sum3));
    R(i) = Rt;
    
  
end
figure
plot(d_range, R, 'b^-')
xlabel('SBS-RIS Distance, d')
ylabel('Achievable Rate')

ПРИМЕЧАНИЕ:-

Matlabsolutions.com предоставляет новейшую справку по домашнему заданию MatLab, Помощь по заданию MatLab, Помощь по финансовому заданию для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, механическое, гражданское строительство со 100% выходом. Код Matlab для B.E , бакалавр технических наук, магистр технических наук, магистр технических наук, доктор философии. Ученые со 100% гарантией конфиденциальности. Получите проекты MATLAB с исходным кодом для обучения и исследований.

мне кажется, что кривые R растут, когда x0 приближается к нулю (но не rqual к нулю, иначе вы получите значения Inf)

также все небольшие циклы for для создания переменных sum1, sum2, sum3 могут быть заменены функцией sum напрямую.

close all; clear all; clc;
x0_range  = [0.01 0.25 0.5 1];
% System parameters
F = 10000;    % Number of files
S = 100;     % SBS cache capacity (set to 100)
M = 50;      % Cash capacity fraction
alpha = 2; % Path loss exponent for LOS link
c = 3e8;     % Light speed
fr = 1e12;  % Operating frequency
B = 10e6;    % System bandwidth
epsilon = 0.8; % Skewness factor
K = 0.0016;  % Molecular absorption coefficient
P_M = 10^(64/10); % Transmit power MBS
P_S = 10^(30/10); % Transmit power SBS
sigma = 10^(-90/10); % Noise power
N_L = 512;
N_M = 16;
eta = 1;
x2 =30;      % RIS-MBS distance
d_range = 1:1:40;
R = zeros(numel(d_range),numel(x0_range));
for k = 1:numel(x0_range)
    x0 = x0_range(k);
    
    for i = 1:length(d_range)
        d = d_range(i);
        x1 = d-x0; % added line 
%         sum1 = 0;
%         for f = 1:F
%             sum1 = sum1 + f^(-epsilon);
%         end
        f = 1:F;
        sum1 = sum(f.^(-ep

ПОСМОТРЕТЬ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ