can someone help me out please. I'm trying to plot this code but it gives me some errors ı don't know how to solve. It's my first time to use handle function.
close all;
clear variables;
clc;
f =1:0.1:28;
SF=4.0;
d0=1;
c = 3e8;
h_BS = 15;
TRDistance= 20;
h_BS = 15;
TRDistance= 20;
TXPower=30;
lambda = @(f) (c/(f*1e9));
PL_dB = @(f)(20*log(4*pi*d0*f*1e9/c) + 23.1*(1-0.03*((h_BS-35)/35))*log((TRDistance)) + SF*randn);
Pr_dBm =@(f)( TXPower - PL_dB);
figure;
plot(f, Pr_dBm(f));
xlabel('f');
ylabel('Pr_dBm');

 Réponse acceptée

madhan ravi
madhan ravi le 10 Juil 2020
Modifié(e) : madhan ravi le 10 Juil 2020

0 votes

SF=4.0;
d0=1;
c = 3e8;
h_BS = 15;
TRDistance= 20;
TXPower=30;
lambda = @(f) (c/(f*1e9));
PL_dB = @(f)(20*log(4*pi*d0*f*1e9/c) + 23.1*(1-0.03*((h_BS-35)/35))*log((TRDistance)) + SF*randn);
Pr_dBm =@(f) TXPower - PL_dB(f);
figure(1)
fplot(Pr_dBm, [1,28])
xlabel('f')
ylabel('Pr_dBm')

Plus de réponses (1)

Arthur Roué
Arthur Roué le 10 Juil 2020

0 votes

You are trying to subtract a variable with a function handle
Pr_dBm =@(f)( TXPower - PL_dB);
You should evaluate the function. This might work
Pr_dBm =@(f)( TXPower - PL_dB(f));

Catégories

En savoir plus sur Interactive Control and Callbacks dans Centre d'aide et File Exchange

Produits

Version

R2013a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by