Undefined function 'mtimes' for input arguments of type 'cell'.?
20 views (last 30 days)
Show older comments
%clear all;
%close all;
L_0=10; %Average outer scale of turbulance in m.
c_n=5*10^-12; %Structure constant of refractive index in m^-2/3.
c=3*10^8; % Speed of light in m/s.
f=30*10^9; % Frequency in HZ.
lamda=c/f;
L=4000;
del_ky=0.01;
[EbN0_dB]=[10 15 20 25 30 35 40 45 50 55];
sigma=[{0.307*(c_n)^2}*{(2*3.1416/lamda)^1.17}*{L^(1.833)}]-[{0.742*(c_n)^2}*{(2*23.1416/lamda)^0.17}*{(L^2.833)*(L_0^2)}]
for i= 1:10
snr=10.^(EbN0_dB(i)/10);
ky=0:del_ky:10;
pe=1/2.*erfc(ky.*sqrt(snr/2));
pdf_ky=(1/(sqrt(2*3.1416)*sigma))*exp((-ky.^2)/2*sigma^2);
prod=pe.*pdf_ky;
ber(i)=trapz(prod)*del_ky;
end
CDF_ky=trapz(pdf_ky)*del_ky
ber=ber./CDF_ky;
semilogy(EbN0_dB,ber)
ylabel('Bit Error Rate(BER)')
xlabel('Signal to Noise Ratio(SNR)');
Accepted Answer
jgg
on 23 Jan 2016
Edited: jgg
on 23 Jan 2016
This expression:
sigma=[{0.307*(c_n)^2}*{(2*3.1416/lamda)^1.17}*{L^(1.833)}]-[{0.742*(c_n)^2}*{(2*23.1416/lamda)^0.17}*{(L^2.833)*(L_0^2)}]
is not proper Matlab syntax. The {} brackers denote cells. You cannot use them as delimiters for order of operations. The same is true of [] which have particular meaning. You probably want this instead:
sigma=((0.307*(c_n)^2)*((2*3.1416/lamda)^1.17)*(L^(1.833)))-((0.742*(c_n)^2)*((2*23.1416/lamda)^0.17)*((L^2.833)*(L_0^2)))
However, I strongly advise you to read up on the basic syntax of the language you're using. This is a really fundamental mistake, and if you don't understand this you'll run into error after error. You wouldn't try and program in Java or C++ by guessing at what the different commands mean, so why would you code in Matlab without looking up how to write expressions?
1 Comment
Walter Roberson
on 23 Jan 2016
Oh, you would be astonished how many people program C++ by guessing at what the different commands mean. 15 years ago, the documentation for the C++ Standard Library was already effectively too big to read, so people mostly don't read it.
More Answers (1)
eslam saad
on 16 Oct 2018
i need power this matrix [0.3] [0.3] [0.2] [0.2] [0.2] [0.5] [0.2] [0.1] [0.1] [0.2] [0.6] [0.1]
0 Comments
See Also
Categories
Find more on Logical 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!