?? som_demo2.m
字號:
clear;clf;% 檬扁 楷搬 啊吝摹 骯薦num_rows = 15;num_cols = 15;a = 0.20; % 撈眶 農扁(G)客 切嚼伏(eta)狼 皚家甫 困茄 牢磊% 檬扁 啊吝摹 藹 汲瀝% 林狼: 撈 抗力綽 2瞞盔 單撈磐甫 青紡肺 促風瘤 臼絆 汗家薦甫 撈儈竅咯 釬泅竅看嬌dx = 0.1;m = dx*(1-2*rand(num_rows,num_cols)) + dx*(1i-2i*rand(num_rows,num_cols));for cycle=1:5000, eta = cycle^(-a); % 切嚼伏 (倔付唱 腹籃 疇靛甫 框流老 巴牢啊甫 搬瀝) G = 0.5 + 10*cycle^(-a);% 啊快矯救 氣 包訪 頗扼固磐 x = 1-2*rand; y = 1-2*rand; inp = x + y*i; % 澇仿 單撈磐(汗家薦肺 2瞞盔 釬泅) % 鉸磊 疇靛甫 茫綽促 % 芭府 青紡闌 汲瀝竅絆 dist_mat = (real(m)-real(inp)).^2 + (imag(m)-imag(inp)).^2; % dist_mat甫 氦磐肺 官操絆, 彌家 己盒闌 茫綽促. [win_rows,win_cols] = find(dist_mat==min(dist_mat(:))); rand_idx = ceil(length(win_rows)*rand); % 撈甸 鉸磊吝俊輯 烙狼狼 竅唱甫急琶茄促 win_row = win_rows(rand_idx); win_col = win_cols(rand_idx); % 拜磊俊輯 鉸磊肺 何磐 芭府甫 拌魂竅絆 [col_idx,row_idx] = meshgrid(1:num_cols,1:num_rows); % 牢鄲膠 青紡闌 父甸絆 grid_dist = abs(row_idx-win_row) + abs(col_idx-win_col); % 阿 疇靛俊 措竅咯 撈眶狼 農扁甫 唱鷗郴綽 啊快矯救 目澄闌 拌魂茄促. f = eta * exp(-(grid_dist/G).^2); % 漂隆 瘤檔甫 敲吩 if max(cycle == [1 10 30 50 100 200 400 600 800 1000 3000 5000]), % 撈 竄拌付促 敲吩 figure(1); if (cycle>1),delete(h);end; % 撈傈 敲吩籃 瘤快絆 hold on; h=plot(real(m),imag(m),'w-',real(m'),-imag(m'),'w-'); % 貨肺款 SOFM 拜磊甫 弊赴促. hold off; title(['繞訪 冉薦:' num2str(cycle) ... ', 撈眶狼 農扁:' num2str(G) ... ', 切嚼伏:' num2str(eta) ]); drawnow; end; %%% 疇靛 撈悼 m = m + f.*(inp-m);end;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -