
将代码保存在matlab中就可以用了
例如:function[poly]=polyadd(poly1,poly2)
%polyadd(poly1,poly2) adds two polynominals possibly of uneven length
if length(poly1)<length(poly2)
short=poly1;
long=poly2;
else
short=poly2;
long=poly1;
end
mz=length(long)-length(short);
if mz>0
poly=[zeros(1,mz),short]+long;
else
poly=long+short;
end
保存名为polyaddM 在matlab中输入polyadd就可以调用了
1、在命令窗口中输入:type 函数名(例如type rgb2gray等),就会在命令窗口出现该函数的相关说明及源代码;
2、在命令窗口中输入:open 函数名(例如open rgb2gray等),就会打开该函数的m文件;
3、在命令窗口中输入:edit函数名(例如edit rgb2gray等),同样会打开该函数的m文件;
4、还有一种方法就是故意将原函数的参数类型或者个数写错,就会出现出错提示,点击提示出错处,也可以打开该函数的m文件;很多大型的函数都能获得源代码,但是MATLAB里面有一些built-in函数是看不到源代码的,sort就是其中之一。这些函数是预编译好的,运行效率非常好,比如像find、min、max等频繁用到的一些函数还有很多矩阵运算函数都是built-in函数。自带函数,用type+函数名。比如,type dwt2可以显示dwt2函数的代码但是,好像没有qpsk这个函数
你这个是普罗克斯或者译为普罗金斯的现代通信系统使用matlab一书上的吧。这个是多幅度信号仿真。使用的的是蒙特卡罗仿真方法,就是用很多次实验的到的结果仿真理论值,容易理解的就是投10000次硬币,5005次整,4995次反,等到正的概率与反的概率。
Function[p]=smldPe58(snr_in_dB) 函数名,输入变量时信噪比dB形式的
d=1; 这里表示电信号幅度,一个单位
SNR=exp(snr_in_dBlog(10)/10); 将信噪比化成正常的形式,dB你知道吧
Sgma=sqrt((5d^2)/(4SNR)); 噪声标准差,出自理论公式
N=10000; 实验次数
for i=1:N,
temp=rand; 产生一个随机数0-1的
if(temp<025), 因为这里仿真四种电平,且认为出现概率相同
dsource(i)=0: 0-025是0
elseif(temp<05),
dsource(i)=1; 025-05是1
elseif(temp<075),
dsource(i)=2 05-075是2
else
dsource=3 075-1是3刚好四种
end
end;
numoferr=0; 这是个计数器,积累错误个数
for i=1:N,
if(dsource(i)==0),
r=-3d+gngauss(sgma); 这里把四种电平对应了四种幅度
elseif(dsource(i)==1), -3d -d d 3d 间隔2d是信号大小
r=-d+gngauss(sgma); gngauss函数在该书前几章有
elseif(dsuorce(i)==2), 产生高斯分布噪声,
r=d+gngauss(sgma); 这里就是信号加噪声,相当于信号
else 通过信道
r=3d+gngauss(sgma);
end:
if(r<-2d), 这里相当于到了接受端,
decis=0; 按接收大小来判决属于0123哪种信号
elseif(r<0),
decis=1;
elseif(r<2d),
decis=2;
elseif
decis=3;
end;
if(decis=dsource(i)), 判决信号和发送的原始信号比较
numoferr=numoferr+1; 不一样就说明错了一个,误码1
end;
end;
p=numoferr/N; 错了多少除以总数,误码率
以上就是关于我在网上下载了matlab的源代码,谁能告诉我怎么使用全部的内容,包括:我在网上下载了matlab的源代码,谁能告诉我怎么使用、matlab让别人运行程序但看不到源代码、关于一个MATLAB源代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)