오늘 후배 2명이 나에게 간단한 matlab을 물어봤었다.
그냥 여기에 끄작여 본다.

1. 동전 던지는 확률
  - 동전 n개, m 번 던지는 확률.
  floor(rand(n,m)+0.5)

2.  m bit로 이루어진 n개의 패킷. 각 비트는 에러를 포함한다.
  0->1 x% / 1 -> 0 y%
  z개 이하의 에러를 갖는 것은 decoding 가능 하다고 한다면,
bit= 100;
packet= 100;
ratio= 0.5; % 0, 1 in a packet

one_to_zero= 0.01;
zero_to_one= 0.03;
available_error_num= 5;

data=randerr(bit, packet, bit*ratio);

err10=data.*floor(rand(bit, packet)+one_to_zero);
err01=-1*(data-1).*floor(rand(bit, packet)+zero_to_one);

err=err10+err01;
err_cnt=sum(err);

result=packet-sum(gt(err_cnt,available_error_num));

result % available decoding
흥미롭다.

조금 더 윤기나는 코딩을 할 수 있을텐데, 난 아직 한계다.  
Posted by 나는
l