Matlab がアテンションスイッチングモデルを実装

Matlab がアテンションスイッチングモデルを実装

注意切り替えモデル(注意切り替えモデル)は、人間がマルチタスクを行うときにどのように注意を切り替えるかを説明するために使用される認知心理モデルです。このモデルでは、人々が複数のタスクを実行するとき、タスクを効果的に完了するには、異なるタスク間で注意を切り替える必要があると考えられます。

注意切り替えモデルは、人間の認知プロセスとマルチタスク能力を研究するためによく使用されます。これは、タスクを切り替えるときに特定の遅延とエラー率が発生する理由を説明でき、認知リソースの割り当てとタスク切り替えメカニズムを説明する理論的枠組みを提供します。

実装コード:

%ATTENTION SWITCHING MODEL
%delta = 4 の場合、精度はスイッチ確率と同じになります。

すべてクリア;

nrun = 20; % 精度を推定するための個別の実行回数
nt = 1000000; % 試行回数、10,000,000 回を超えると遅い
d = 6; % 「デルタ」、ターゲットとディストラクターの差 (d' 単位)
w = 1; キューロックの重量%。他の loc は 1-w
v = 0.8 で重み付けされます。キューの有効性 % (平均 PC の計算に使用)

プロブスイッチ = .8;

nvalid = ntプローブスイッチ;
ninvalid = nt
(1-probswitch);

VR1 = ゼロ(nt, 1);
VR2 = ゼロ(nt, 1);
DV = ゼロ(nt, 1); キュー位置で重みが 1 の場合の %Decision 変数
DI = zeros(nt, 1); キューのない位置で重みが 1 の場合の %Decision 変数
Dtotal = zeros((nt*2),1);

vec = [1:nt];
スイッチ = 1:nt;
シャッフル(vec);
シャッフル(切り替え);

% スイッチ = ランディ(80, 100);

i = 1:ntの場合

vec(i) <= nvalid
VR1(i) = randn(1)+d/2 の場合; % キュー
VR2(i) = randn(1) で R を刺激します。% uncued
elseには何もありません
VR1(i) = randn(1); % キューには何もありません
VR2(i) = randn(1)+d/2;
% キューのない端で R を刺激する

if swtch(i) <= nvalid
DV(i) = w*VR1(i)+(1-w)*VR2(i);% 重み付けキュー 1
DI(i) = randn(1);
それ以外の場合、
DI(i) = (1-w) VR1(i)+ w VR2(i); 未キューの重み付け % 1
DV(i) = randn(1);
エンド
エンド
rV = ゼロ(サイズ(DV)); % ゼロのベクトルを作成
rV(DV>0) = 1; % 正しい場合は 1 を作成します
。 pcv = means(rV);

rI = ゼロ (サイズ (DI) ) ;
rI (DI > 0) = 1 ;
pci = 平均 (rI) ;

PCV
PCI

Dtotal(1:(長さ(Dtotal)/2))= DV;
Dtotal((長さ(D合計)/2)+1:長さ(D合計))=DI;
rT(Dtotal>0) = 1;
pctotal = 平均(rT)

%%

%
% Hv = [0.55, 0.67, 0.7466, 0.7817, 0.7950, 0.7989]; % SNR 0 ~ 5 % Hi で得られた Hv
= [0.14, 0.16, 0.1866, 0.1955, 0.1987, 0.1997]; %SNR 0 ~ 5 で得られた Hi
%
% x = [1 2 3 4 5 6]; %x 軸
%
% プロット(x, Hv, '-o', x, Hi, '-s'); % 3 本の線すべてのプロット
%
% %'-o' は、各点が円でマークされることを意味します
% %'-s' は、各点が正方形でマークされることを意味します
% % %'-d' は、各点がひし形でマークされることを意味します
%
% print(1, '-r600', '-djpeg', 'allornonemodel') % Figure をディレクトリに保存します
% %600 解像度、jpeg ファイル、'linearmodel' というタイトル

おすすめ

転載: blog.csdn.net/DM_zx/article/details/132270387