- You are providing a vector as input, but you don't use element-wise operations.
- You don't provide A or fdmax2 as input arguments.
- You attempt to index A, but it is a scalar (and the indices are unlikely to be positive integers).
Unable to find function @(fd)(1/(1+A(fd/fdmax2)^2)) within E:\matlab\bin\hw3.m.
2 views (last 30 days)
Show older comments
Why there is error : Unable to find function @(fd)(1/(1+A(fd/fdmax2)^2)) within E:\matlab\bin\hw3.m. ???
%Model B
v=1200;
c=3e8;
f2=2.4e9;
f5=5.25e9;
%For 2,4 GHz
fmax2=v*f2/c;
fdmax2=fmax2/5;%Doppler spread
Tc2=1/fdmax2;%Coherrence time for 2 GHz
A=9;
%For 5.25 GHz
fmax5=v*f5/c;
fdmax5=fmax5/5;%Doppler spread
Tc5=1/fdmax5;%Coherrence time for 5.25 GHz
%Plot Doppler sprectrum for Model B, 2 GHz
fd=(-fmax2).*rand(1000,1)+fmax2;
plot(Phih_B_2(fd),fd)
function Phih_B_2=g2(fd)
Phih_B_2=(1/(1+A(fd/fdmax2)^2));
end
0 Comments
Accepted Answer
Rik
on 24 May 2023
As you can see, the error here is different than what you report.
Did you consider changing your function to have an output argument, and to make sure it doesn't attempt to create a variable with the same name as the function?
There are more issues with your function:
4 Comments
More Answers (0)
See Also
Categories
Find more on Detection, Range and Doppler Estimation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!