我有很多系列剧情。我想用矩阵来生成系列标签或图例。
例如。如果K=[2 4 6]
,K
的每个元素对应一个系列,我希望系列标签类似于"K=2", "K=4" and "K=6"
。
这是我的代码:
function Y=Q(X)
Y=0.5.*erfc(X./sqrt(2))
endfunction
EbNodB=0:2:20
EbNo=10.^(EbNodB/10)
K=[2 4 6]
M=2.^K
KM=3*K./(M-1)
KME=KM'*EbNo
X=sqrt(KME)
Pb=((4./K).*(1-1./sqrt(M)))'.*Q(X)
semilogy(EbNodB,Pb)
title("M-QAM BER")
grid on
grid minor on
#legend(sprintf("K=%d,",K))
这很接近 - 在每个图例前面缺少"K="
:
legend(num2str(K'))
答案 0 :(得分:0)
您可以获取sprintf返回的字符串,并使用逗号作为分隔符进行字符串拆分
legend(strsplit(sprintf("K=%d,",K),","))
这给出的唯一烦恼是warning: legend: ignoring extra labels
,因为你在最后一个逗号后面有一个空字符串,但这可以通过不传递最后一个值来修复
legend(strsplit(sprintf("K=%d,",K),",")(1:end-1))