matlab图像只出现空白坐标轴,没有曲线
clcclearcloseallRp=10^6;%P1到P2的数据速率n0=4*10^(-21);%噪声功率谱密度w1=10^6;Ep=0;Ep=10^((Ep-30)/...
clc
clear
close all
Rp=10^6;%P1到P2的数据速率
n0=4*10^(-21);%噪声功率谱密度
w1=10^6;
Ep=0;
Ep=10^((Ep-30)/10); % Covert dBm to Watt
db1p2=500;%B1到P2的链路距离·
dp1p2=1000;%P1到P2的链路距离
c=3*10^8;
f1=2.1*10^9;%RAT1频率
L1=c/f1;%计算载波波长
tb1p2=(L1/(4*pi*db1p2))^2;
tp1p2=(L1/(4*pi*dp1p2))^2;
tao=0.01;
a=0.2;
temp=2^(2*Rp/(a*w1))-1;
%Es=-10
for Es=-100:1:-50
Es=10^((Es-30)/10)
b1=1-exp(-n0*temp/(Es*tb1p2))...
-(exp(-n0*temp/(Es*tb1p2))-exp(-n0*temp/(Ep*tp1p2)))...
/(Es*tb1p2/(Ep*tp1p2)-1)
end
Es
b1
semilogy(b1,Es);
plot(b1,Es);
set(handles,'ytick',0:10000:lnf) % handles可以指定具体坐标轴的句柄
ylabel('Es') 展开
clear
close all
Rp=10^6;%P1到P2的数据速率
n0=4*10^(-21);%噪声功率谱密度
w1=10^6;
Ep=0;
Ep=10^((Ep-30)/10); % Covert dBm to Watt
db1p2=500;%B1到P2的链路距离·
dp1p2=1000;%P1到P2的链路距离
c=3*10^8;
f1=2.1*10^9;%RAT1频率
L1=c/f1;%计算载波波长
tb1p2=(L1/(4*pi*db1p2))^2;
tp1p2=(L1/(4*pi*dp1p2))^2;
tao=0.01;
a=0.2;
temp=2^(2*Rp/(a*w1))-1;
%Es=-10
for Es=-100:1:-50
Es=10^((Es-30)/10)
b1=1-exp(-n0*temp/(Es*tb1p2))...
-(exp(-n0*temp/(Es*tb1p2))-exp(-n0*temp/(Ep*tp1p2)))...
/(Es*tb1p2/(Ep*tp1p2)-1)
end
Es
b1
semilogy(b1,Es);
plot(b1,Es);
set(handles,'ytick',0:10000:lnf) % handles可以指定具体坐标轴的句柄
ylabel('Es') 展开
展开全部
因为你虽然算了很多值,但都没有存起来。最后画图的时候 b1, Es 都是一个数,最多只能画一个点。
你这种情况不需要循环,把循环那改成:
Es=10.^(((-100:1:-50)-30)/10);
b1=1-exp(-n0*temp./(Es*tb1p2))...
-(exp(-n0*temp./(Es*tb1p2))-exp(-n0*temp./(Ep*tp1p2)))...
./(Es*tb1p2./(Ep*tp1p2)-1);
就可以画图了,不过你画图那里还有些其它问题。
想画 y 轴为对数坐标的图,就用:
handles = semilogy(b1,Es);
想画普通坐标的就用:
handles = plot(b1,Es);
两个都用后面画的就会把前面画的覆盖掉,没意义。
这样给 handles 赋值,后面可以用来设置画图的属性。但
set(handles,'ytick',0:10000:lnf) % handles可以指定具体坐标轴的句柄
这个语句有问题,如果不是很熟的话,可以画好图之后自己点那个图,再一点点调整属性,不用写在程序里。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询