[問題]跑for迴圈卡住不動
老師出了一個作業要做通訊錯誤率計算
當在bipolar signaling情況下 做輸入1百萬次的錯誤率分析
我的程式如下
clear all;
N0=1;
a=N0^0.5;
for i=1:100000
y(i)=rand(1)*2-1; %這裡主要功用是我要產生隨機1or-1的輸入值
if y(i)>0 %因為rand產生的是0~1之間的數值 不包括0 1
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);
BER=count/100000;
現在問題在於 當我for迴圈給他1000 10000都在1秒內跑完
可是增加到10萬時 電腦就大概要跑1分鐘
跑100萬次的我等了兩小時都沒有出來
請問這是什麼問題...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.121.82
推
01/10 20:23, , 1F
01/10 20:23, 1F
→
01/10 20:26, , 2F
01/10 20:26, 2F
推
01/10 20:28, , 3F
01/10 20:28, 3F
了解! 那我想請問一下 有什麼辦法(例如圖形介面功能之類的)可以達到不用迴圈
而可以模擬1百萬次的
今天在回家路上想了一下 矩陣內1百萬個數值好像太大了 加上for迴圈跑一百萬次
只要中間一個出錯可能就卡住當掉
如果我要用一次做一個輸入對應一個輸出來計算 然後run 1百萬次 有什麼方式呢?
因為1百萬次是老師規定的 次數只能多不能少...
matlab我還是個新手 所以還有很多不懂的地方 感謝解答!!
※ 編輯: a055076 來自: 203.73.69.227 (01/10 22:19)
→
01/10 23:26, , 4F
01/10 23:26, 4F
※ 編輯: a055076 來自: 203.73.69.227 (01/10 23:30)
→
01/10 23:33, , 5F
01/10 23:33, 5F
→
01/10 23:35, , 6F
01/10 23:35, 6F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
問題
2
6