ploting a function handle

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');

 Respuesta aceptada

madhan ravi
madhan ravi el 10 de Jul. de 2020
Editada: madhan ravi el 10 de Jul. de 2020

0 votos

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')

Más respuestas (1)

Arthur Roué
Arthur Roué el 10 de Jul. de 2020

0 votos

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));

Categorías

Productos

Versión

R2013a

Preguntada:

el 10 de Jul. de 2020

Comentada:

el 10 de Jul. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by