哪位大神可以那帮忙看下matlab程序吗?就是最好给每行注释下?我是小白不太懂这个,再此感谢好心人

哪位大神可以那帮忙看下matlab程序吗?就是最好给每行注释下?我是小白不太懂这个,再此感谢好心人function [p]= cm_sm41(snr_in_dB)
N=10000; d=1; %设定步长
Eav=10*d.^2;
snr=10.^(snr_in_dB/10); %设定信噪比
sgma=sqrt(Eav./(8*snr));
M=16;
for i=1:N
temp=rand; %设定随机数
dsource(i)=1+floor(M*temp);
end;
mapping=[-3*d 3*d; -d 3*d; d 3*d;
3*d 3*d; -3*d d; -d d;
d d ; 3*d d; -3*d -d;
-d -d; d -d; 3*d -d;
-3*d -3*d; -d -3*d; d -3*d;
3*d -3*d]; %设定矩阵
for i=1:N
qam_sig(i,:)=mapping(dsource(i),:);
end;
scatterplot(qam_sig);
for i=1:N
[n(1) n(2)]=gauss(sgma);
r(i,:)=qam_sig(i,:)+n;
end
scatterplot(r); %绘制散点图
numoferr=0;
for i=1:N
for j=1:M
metrics(j)=(r(i,1)-mapping(j,1))^2+(r(i,2)-mapping(j,2))^2;
end
[min_metric decis]=min(metrics);
if (decis~=dsource(i))
numoferr=numoferr+1;
end
end
p=numoferr/(N);

主函数 clear %test1.m
SNRindB1=0:1:10;
SNRindB2=0:0.1:10;
M=16;
k=log2(M);
for i=1:length(SNRindB1)
smld_err_prb(i)= cm_sm41(SNRindB1(i));
echo off;
end;
echo on;
for i=1:length(SNRindB2)
SNR=exp(SNRindB2(i)*log(10)/10); theo_err_prb(i)=3*qfunc(sqrt(4/5*SNR))-9/4*(qfunc(sqrt(4/5*SNR)).^2); echo off;
end;
echo on;
semilogy(SNRindB1,smld_err_prb,'ro-'); %绘图
hold
semilogy(SNRindB2,theo_err_prb);

自定义gauss函数
func

第1个回答  2017-09-13
应该生成完整文件路径的算法,.一般表示当前路径下,..一般是表示上一级路径,是构成相对路径的表达方式

matlab语言 麻烦把每一行注释一下 本人小白 望大虾指教 采纳后还有重...
你也太贪心了吧,程序是别人的吧。大概帮你l捋捋。调相法 clear all;t=[-1:0.01:7-0.01]; %变量赋值 tt=length(t); %循环的长度 x1=ones(1,800); %定义1*1800全1矩阵x1 for i=1:tt if (t(i)>=-1 & t(i)<=1) | (t(i)>=5& t(i)<=7); %如果-1=<t...

哪位大神帮忙解决一下这个MATLAB问题,我是小白,下面是程序和它出错的...
(2)自定义函数书写格式错误。uprim=uprim'; 应该为 uprim=uprim(:);修改后运行可以得到如下结果。

求matlab大神 看看这个程序怎么输入
那时候只有我们专业考高数可以使用计算机用MATLAB来解题(相当方便啊),不过现在都忘记了...我只能说,MATLAB课程是一门很高深的课程,即使会C\/C++\/C#也没法帮你解答,语言不一样...到图书馆找几本书学学写写就会了...

求个matlab大神帮忙,为什么我写的s函数程序总是switch flag的时候...
Error in 'Jixiebi\/S-Function1' while executing MATLAB S-function 'chap3_8ctrl', flag = 3 (output), at time 0.0. 现在出现的错误 本回答被提问者采纳 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 1条折叠回答 其他类似问题2019-04-24 哪位大神帮忙解决一下这个MATLAB问题,我是小白,下面...

求matlab大牛系统性讲解下并行计算程序的写法,多谢
matlab里的矩阵运算都是用的lapack,尤其是非函数调用的那些个运算符,更是快速,想自己编写超越很难,尤其是矩阵规模还不大。如果只是矩阵方程的数目比较多,想并行加速的话,可以用parfor,示意如下:求解Ax = b.其中A和b都保存在cell数组里 parfor k = 1:1000 x{k} = A{k}\\b{k};end ...

那位大神在matlab中运用...表示换行给小白我长长见识啊,谢谢!
matlab换行主要有两种方法 (1)... , 起到连接两行的目的,也就是说,实际上是一个命令分开写而已,比如 a=1+2 ... %三个点前要有空格隔开 +7 结果会是 a=10。(2)shift+enter,表示暂不计算,直到按enter之后,再逐个命令运行,比如还是上面那个例子,输完a=1+2后按shift+enter,...

我是个MATLAB小白 字太多了 把命令打在补充那了 这个命令它老说括号不...
newArray=struct('total',{'sunny','rainny','cloudy'},'temp',{12,23,45},'rainfall',{'12 and 15','123','5'})newArray = 1x3 struct array with fields:total temp rainfall

MATLAB 哪位大神能帮我看看哪错了,出现??? Error using ==> wavread...
matlab不能打开你的文件。文件名改成英文试试,或者看下帮助文件。

各路大神,MATLAB怎么使一个不需要输出变量在运行时不输出?我是小白,尽 ...
举个例子:function [a,b]=f(c,d)a=c+d;b=c-d;当我只需要第一个输出量时,我可以这样a=f(3,5) a=8;当我只需要第二个输出量时,我可以这样[~,b]=f(3,5) b=-2;当我二个输出量都需要时,[a,b]=f(3,5) a=8 b=-2 ...

matlab 怎么画三维线段?已知X,Y,Z见下图。因为是个小白,最好把公式帮...
假设已初始化X,Y,Z三个向量:plot3(X, Y, Z, '-xb'); grid on;其中:'-' 表示在点间连线,也就是题主所说的“线段”;'x'表示点用×表示;'b'表示用蓝色作图。grid on表示加上网格线,要不然三维的图有没有透视没什么立体感(个人想法)

相似回答