[心得] 大樂透估測器已回收
先說明下以下的程式結構︰
歷屆大樂透號碼──────────┐
│
↓
LCG隨機碼產生器→適應性濾波器─→ -
↑ │
└─────┘
-------------------------------程式開始----------------------------------------
clc;
clear all;
close all;
rsd = importdata ('rsm.m'); %歷年樂透彩號碼
data =168; %歷年樂透彩號碼資料數目
m_rs = 49; %樂透彩號碼最大值
k_rs = randint(1,1,[1,49]); %可自訂
j_rs = 4 * k_rs + 1; %乘數
i_rs = zeros(1 , data); %經過LCG演算法後的隨機
碼
i_rs(1) = randint(1,1,[1,49]) ; %LCG演算法初始值
for i = 1:1:data+1
i_rs(i+1) = (mod((j_rs * i_rs(i) + randint(1,1,[1,49])) , m_rs));%這裡的ran
dint(1,1,[1,49])為增量
if i_rs(i+1) == 0;
i_rs(i+1) = 1;
end
end
order = 16; %適應性濾波器階數
h = zeros(1 , order); %適應性濾波器權重值
h(1) = 0; %適應性濾波器權重值的初
始值
x2_rs = i_rs.^2; %rs(n)^2
rxx_rs = sum(x2_rs(:)); %rs的rxx(0)
px_rs = rxx_rs / data; %rs的Px
umax_rs = 1 / (10 * order * px_rs); %適應性濾波器步進值
hhat = zeros(1 , data); %適應性濾波器估測值
e = zeros(1 , data); %適應性濾波器誤差值
for i = order:1:data
ntemp = i_rs(i:-1:i-order+1);
hhat(i) = h * ntemp';
e(i) = rsd(i) - hhat(i);
h = h + umax_rs * ntemp * e(i);
end
figure (1)
subplot(3, 2, 1) ; plot(rsd , 'r');
grid on;
axis([0 data 0 55])
xlabel ('歷年樂透彩號碼' , 'fontsize' ,14)
ylabel ('Amplitude index (v)' , 'fontsize' ,14)
subplot(3, 2, 2) ; plot(i_rs , 'r');
grid on;
axis([0 data 0 55])
xlabel ('經過LCG演算法後的隨機碼' , 'fontsize' ,14)
ylabel ('Amplitude index (v)' , 'fontsize' ,14)
subplot(3, 2, 3) ; plot(hhat , 'r');
grid on;
axis([0 data 0 55])
xlabel ('適應性濾波器估測值' , 'fontsize' ,14)
ylabel ('Amplitude index (v)' , 'fontsize' ,14)
subplot(3, 2, 4) ; plot(e , 'r');
grid on;
axis([0 data -55 55])
xlabel ('誤差值' , 'fontsize' ,14)
ylabel ('Amplitude index (v)' , 'fontsize' ,14)
subplot(3, 2, 5) ; plot(h , 'r');
grid on;
axis([0 order -1 1])
xlabel ('權重值' , 'fontsize' ,14)
ylabel ('Amplitude index (v)' , 'fontsize' ,14)
-------------------------------程式結束---------------------------------------
程式結果︰
http://www.wretch.cc/blog/jawychiou/15274798
一時興起隨手寫寫的,測不准請見諒 XD
--
沒有永遠的贏家和輸家;
從贏家變輸家因為他不懂的改變,
從輸家變贏家因為他懂的改變。
JC
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.140.102
※ 編輯: jawychiou 來自: 123.195.140.102 (02/02 01:35)
推
02/02 03:08, , 1F
02/02 03:08, 1F
推
02/02 09:46, , 2F
02/02 09:46, 2F
推
02/02 12:39, , 3F
02/02 12:39, 3F
推
02/02 17:25, , 4F
02/02 17:25, 4F
推
02/02 23:07, , 5F
02/02 23:07, 5F
→
02/04 00:47, , 6F
02/04 00:47, 6F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章