看板 MATLAB 關於我們 聯絡資訊
※ 引述《a055076 (Dilemma)》之銘言: : 老師出了一個作業要做通訊錯誤率計算 : 當在bipolar signaling情況下 做輸入1百萬次的錯誤率分析 : 我的程式如下 : clear all; : N0=1; : a=N0^0.5; : for i=1:100000 : y(i)=rand(1)*2-1; : if y(i)>0 : x(i)=1; : else : x(i)=-1; : end : z(i)=a*randn+x(i); : if z(i)>0 : d(i)=1; : else : d(i)=-1; : end : e(i)=x(i)-d(i); : end : count = sum(e ~=0); 如果這樣哩 y=rand(1,10)*2-1; y(y>0)=1; y(y<0)=-1; 也可以這樣玩 y=rand(3,3)*2-1; y(y>0)=1; y(y<0)=-1; 最後要把陣列加起來 其實用sum(sum(y))就可以了 你也可以測試一下這個 e(e==0)=[]; 直接把等於0的數砍掉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.32.75
MOONY135:所以只要做1000*1000的矩陣就可以了(?) 01/10 23:28
a055076:我在我原先的問題加上註解囉 for開始的第一個if我想要產生 01/10 23:31
a055076:隨機的輸入x 值為1或-1 01/10 23:32
a055076:y(y)這個方式我沒有用過@0@ 學到新東西了! 01/10 23:36
MOONY135:你可以丟丟看 其實這樣就只是把符合你條件的改成那個值 01/10 23:37
MOONY135:那不如直接做10010*1000陣列 01/10 23:39
※ 編輯: MOONY135 來自: 114.34.32.75 (01/11 00:00)