关于一个MATLAB程序的运行问题 100

我是一个初学者,现在一个m文件分成3部分请问怎么运行处结果3个文件分别如下:第一个function[gsrv1]=gngauss(sgma)u=rand;z=sgma*(... 我是一个初学者,现在一个m文件 分成3部分 请问怎么运行处结果 3个文件分别如下:
第一个
function[gsrv1]=gngauss(sgma)
u=rand;
z=sgma*(sqrt(2*log(1/(1-u))));
u=rand;
gsrv1=z*cos(2*pi*u);
第二个
echo on
SNRindB1=0:1:12;
SNRindB2=0:0.1:12;
for i=1:length(SNRindB1),
smld_err_prb(i)=smldPe58(SNRindB1(i));
echo off;
end;
echo on;
for i=1:length(SNRindB2),
SNR_per_bit=exp(SNRindB2(i)*log(10)/10);
theo_err_prb(i)=(3/2)*(0.5*erfc(sqrt(((4/5)*SNR_per_bit)/2)));
echo off;
end;
echo on;
semilogy(SNRindB1,smld_err_prb,'*');
hold
semilogy(SNRindB2,theo_err_prb);
echo off;
grid
xlabel('Eb/No in dB')
title('PAM通信系统的蒙特卡洛仿真')
gtext('(注:“—”理论误码率;“*”误比特率;')
第三个
function [p]=smldPe58(snr_in_dB)
d=1;
SNR=exp(snr_in_dB*log(10)/10);
sgma=sqrt((5*d^2)/(4*SNR));
N=10000;
for i=1:N,
temp=rand;
if(temp<0.25),
dsource(i)=0;
elseif(temp<0.5),
dsource(i)=1;
elseif(temp<0.75),
dsource(i)=2;
else
dsource(i)=3;
end
end;
numoferr=0;
for i=1:N,
if(dsource(i)==0),
r=-3*d+gngauss(sgma);
elseif(dsource(i)==1),
r=-d+gngauss(sgma);
elseif(dsource(i)==2),
r=d+gngauss(sgma);
else
r=3*d+gngauss(sgma);
end;
if(r<-2*d),
decis=0;
elseif(r<0),
decis=1;
elseif(r<2*d),
decis=2;
else
decis=3;
end;
if(decis~=dsource(i)),
numoferr=numoferr+1;
end;
end;
p=numoferr/N;
我不会运行 请各位大哥详细为我讲下
展开
 我来答
greatdju
2010-05-03 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4186万
展开全部
新建一个m文件(file->new->m-file),把第一个复制进去,然后保存(文件名gngauss.m不要改)

同样的把第三个保存为smldPe58.m

最后新建一个m文件把第二个复制进去,保存后(随便取个名字,字母开头)run(F5)即可,或者在command window下直接打下你保存的这个文件的名字(.m不要)回车即可。
曲水洛桑Cf
2010-05-07 · TA获得超过248个赞
知道答主
回答量:88
采纳率:0%
帮助的人:0
展开全部
这是三个程序,function开头的是定义函数,先保存好,函数名要和另一个程序调用的函数名一致,最好文件名也一致,具体哪个可以不一样也记不清了,都一样也方便记忆,文件管理,这些都要在matlab工作目录下,不然调用不了,然后运行另一个。
话说你是哪个学校的?初学者都直接搞数字通信仿真,小弟佩服。
看在我在另一个问题里注释了smldPe58(snr_in_dB)程序的辛苦,赏小弟些分吧,我才注册了号三四天,整天回答问题,前两天在养生那板块混,前天才发现matlab问题挺多的,刚转战过来,拉兄弟一把吧。虽然回答者: hunfenyihao (混分一号)就是那个提问者,大家都是混分的么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haipingg
2010-05-03 · 超过15用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:26.6万
展开全部
第二个为脚本文件,第一、三个为函数文件。脚本文件中调用了第三个函数,而第三个函数又会调用第一个函数。

将三个文件放在同一文件夹内,运行第二个即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hunfenyihao
2010-05-04
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
第二个为脚本文件,第一、三个为函数文件。脚本文件中调用了第三个函数,而第三个函数又会调用第一个函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式