如何绘制给定的函数?

时间:2016-08-28 16:27:33

标签: matlab plot

我有暂停的matlab代码

close all
Pu=1;
No=1e-8;
B=20e6;
u=1:20;
C_CDMA=u*B*log2(1+Pu./(B*No+(u-1)*Pu));
plot(u,C_CDMA/1e6);hold on
xlabel('Noise Power Spectral Density (No)')
ylabel('Capacity (Mbps)')
legend('CDMA','OFDMA')

应该为(u)的每个值计算等式C_CDMA。然后将结果绘制为具有u值的函数值,但此代码会给出我的错误 “使用m次的误差内部矩阵尺寸必须一致”。 有什么不对?

1 个答案:

答案 0 :(得分:1)

我希望简单的解决方案是将你置于for循环中,如下所示

close all
Pu=1;
No=1e-8;
B=20e6;
C_CDMA = zeros(1,20)

for u=1:20
    C_CDMA(u) = u*B*log2((1+Pu)/(B*No+(u-1)*Pu));
end

u=1:20;
figure,
plot(u,C_CDMA/1e6);hold on
xlabel('Noise Power Spectral Density (No)')
ylabel('Capacity (Mbps)')
legend('CDMA','OFDMA') 

为什么两个图例为单个图形