写代码要用心

1.循环中要寻找的座标一定要单独设个变量,虽然这个道理很简单,但是很容易忘记

在我的SecondAllocation.m文件中的之所以会出现逻辑上的错误——一个子载波分配给2个用户,就是出在这个问题上

TempUserIDChangeB = find(FirstAllocation(:,SubChangeAfter) == 1);
%这里不能使用TempUserIDB因为TempUserIDB是循环更新的
%之前用的TempUserIDB,造成在以后的循环中会出现,由子载波提取用户信息的时候,出现用户是个2列向量,报错
TempUserIDChangeA = find(FirstAllocation(:,SubChangeBefore) == 1);

2.在判断两个矩阵相等的时候用 == 不如用isequal(A,B)方便,用 == 返回的是相等元素的位置,相等的话相应的位置上位1,不相同的话相应位置上为0

isequal(A,B)返回的是:1或0,相同的时候返回1,不同的时候返回0.

3.误码率可以出现10的 -0.5、-1.5等小数信息,但是不能用1e-1.5。

具体的循环可以使用

for i = -0.5:-0.5:-5
pe = 10^i;
end

这样的好处是可以使曲线画得更为细腻。

 

PS:今天在写代码的时候,写到最后真的是遇到瓶颈了,不知道怎么进行了。让我想到了翟师兄的话,先搞懂逻辑,再去改。哎,自己的通信水平实属薄弱,当初只是学的皮毛,用起来力不从心啊。

先搞懂,通信的常用的基本公式,然后再去调用算法。

加油!!不懈的坚持

 

 

 

发布了56 篇原创文章 · 获赞 2 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章