MATLAB语言入门仿真作业三.docVIP

  • 23
  • 0
  • 约3.38千字
  • 约 6页
  • 2018-03-28 发布于河南
  • 举报
MATLAB语言入门仿真作业三

成绩 2012年MATLAB语言入门第三次仿真作业 1、用MC积分估计pi值 % test11 N=10000; x=rand(N,1); f=sum(1./(1+x.^2))/N; y=4*f 结果: test11 y = 3.1505 2、已知非线性整数规划为:?? Max z=x1^2+x2^2+*x3^2+3*x4^2+2*x5^2-6*x1-2*x2-3*x3-x4-2*x5 s.t. 0=xi=199(i=1,2,...,5) xi为整数 x1+x2+x3+x4+x5=500 x1+2*x2+2*x3+x4+4*x5700 2*x1+x2+3*x3=150 2*x3+x4+3*x5=200 求解该整数规划问题。p0=0; for i=1:10^5 x=199*rand(5,1); x1=floor(x);x2=ceil(x); [f,g]=mylp(x1); if sum(g=0)==4 if p0=f x0=x1;p0=f; end end [f,g]=mylp(x2); if sum(g=0)==4 if p0=f x0=x2;p0=f; end end end x0,p0 %mylp.m function [f,g]=mylp(x); f=x(1)^2+x(2)^2+4*x(3)^2+3*x(4)^2+2*x(5)-6*x(1)-2*x(2)-3*x(3)-x(4)-2*x(5); g(1)=sum(x)-500; g(2)=x(1)+2*x(2)+2*x(3)+x(4)+4*x(5)-700; g(3)=2*x(1)+x(2)+3*x(3)-150; g(4)=2*x(3)+x(4)+3*x(5)-200; 结果: test22 x0 = 49 35 5 179 3 p0 = 99291 3、用MC方法估计下面数字通信系统的误码率 假设:1) BPSK; 2) % test33 %file:c9_MCBPSK.m snrdB_min=-3; snrdB_max=8; snrdB=snrdB_min:1:snrdB_max; Nsymbols=input(Enter number of symbols ); snr=10.^(snrdB/10); h=waitbar(0,SNR Iteration); len_snr=length(snrdB); for j=1:len_snr %waitbar(j/len_snr); sigma=sqrt(1/(2*snr(j))); error_count=0; for k=1:Nsymbols d=round(rand(1)); %data x_d=2*d-1; %tansmitter output n_d=sigma*randn(1); %noise y_d=x_d+n_d; %receiver input if y_d0 d_est=1; else d_est=0; end if(d_est ~=d) error_count=error_count+1; %error counter end end %simulation loop ends errors(j)=error_count; end %close(h); ber_sim=errors/Nsymbols; %BER estimate ber_theor=0.5*(erfc(sqrt(snr))); %theoretical BER semilogy(snrdB,ber_theor,snrdB,ber_sim,o); axis([snrdB_min snrdB_max 0.0001 1]); xlabel(SNR in dB); ylabel(BER); legend(Theoretical,Simulation); %end of file 结果: Enter number of symbols 5000 4、用MC方法估计FSK调制通信

文档评论(0)

1亿VIP精品文档

相关文档