- 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.
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Rik
2023-5-24
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:
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Detection, Range and Doppler Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!