练习:一个元胞数组里存有正性词、负性词各5个。 {'善良','友好','勤奋','正直','公正','虚伪','浮夸','恶毒,"懒惰','自卑'} · 随机选取2个词(不能是同一个词)在屏幕中央左右对称呈现。 若两个词均为正性词:则呈现蓝色;若一正性、一负性:正性词绿色,负性词红色;共呈现40次,也即包含40个回合。刺激呈现时间为2秒;空屏呈现时间为0.4~0.8秒。 matlab三种方法
时间: 2023-07-14 22:12:00 浏览: 36
方法一:
words = {'善良','友好','勤奋','正直','公正','虚伪','浮夸','恶毒','懒惰','自卑'}; % 词汇数组
n = 40; % 回合数
for i = 1:n
% 随机选取两个词
index = randperm(length(words), 2);
word1 = words{index(1)};
word2 = words{index(2)};
% 判断词性并设置颜色
if contains(word1, {'善良','友好','勤奋','正直','公正'}) && contains(word2, {'善良','友好','勤奋','正直','公正'})
color = 'b'; % 蓝色
else
color = 'g'; % 绿色
if contains(word1, {'虚伪','浮夸','恶毒','懒惰','自卑'})
color1 = 'r'; % 红色
color2 = 'g'; % 绿色
else
color1 = 'g'; % 绿色
color2 = 'r'; % 红色
end
end
% 在屏幕中央左右对称呈现
fprintf('%20s %20s\n', word1, word2);
if strcmp(color, 'b')
text(0, 0, [word1 ' ' word2], 'HorizontalAlignment', 'center', 'Color', color, 'FontSize', 20);
else
text(-100, 0, word1, 'HorizontalAlignment', 'center', 'Color', color1, 'FontSize', 20);
text(100, 0, word2, 'HorizontalAlignment', 'center', 'Color', color2, 'FontSize', 20);
end
% 刺激呈现时间为2秒
pause(2);
% 空屏呈现时间为0.4~0.8秒
pause(0.4 + rand * 0.4);
clf; % 清空屏幕
end
方法二:
words = {'善良','友好','勤奋','正直','公正','虚伪','浮夸','恶毒','懒惰','自卑'}; % 词汇数组
n = 40; % 回合数
for i = 1:n
% 随机选取两个词
index = randperm(length(words), 2);
word1 = words{index(1)};
word2 = words{index(2)};
% 判断词性并设置颜色
if contains(word1, {'善良','友好','勤奋','正直','公正'}) && contains(word2, {'善良','友好','勤奋','正直','公正'})
color = 'b'; % 蓝色
else
color = 'g'; % 绿色
if contains(word1, {'虚伪','浮夸','恶毒','懒惰','自卑'})
color1 = 'r'; % 红色
color2 = 'g'; % 绿色
else
color1 = 'g'; % 绿色
color2 = 'r'; % 红色
end
end
% 在屏幕中央左右对称呈现
fprintf('%20s %20s\n', word1, word2);
figure('Position',[500 300 400 300]); % 新建一个窗口
if strcmp(color, 'b')
text(0, 0, [word1 ' ' word2], 'HorizontalAlignment', 'center', 'Color', color, 'FontSize', 20);
else
text(-100, 0, word1, 'HorizontalAlignment', 'center', 'Color', color1, 'FontSize', 20);
text(100, 0, word2, 'HorizontalAlignment', 'center', 'Color', color2, 'FontSize', 20);
end
% 刺激呈现时间为2秒
pause(2);
% 空屏呈现时间为0.4~0.8秒
pause(0.4 + rand * 0.4);
close; % 关闭窗口
end
方法三:
words = {'善良','友好','勤奋','正直','公正','虚伪','浮夸','恶毒','懒惰','自卑'}; % 词汇数组
n = 40; % 回合数
for i = 1:n
% 随机选取两个词
index = randperm(length(words), 2);
word1 = words{index(1)};
word2 = words{index(2)};
% 判断词性并设置颜色
if contains(word1, {'善良','友好','勤奋','正直','公正'}) && contains(word2, {'善良','友好','勤奋','正直','公正'})
color = 'b'; % 蓝色
else
color = 'g'; % 绿色
if contains(word1, {'虚伪','浮夸','恶毒','懒惰','自卑'})
color1 = 'r'; % 红色
color2 = 'g'; % 绿色
else
color1 = 'g'; % 绿色
color2 = 'r'; % 红色
end
end
% 在屏幕中央左右对称呈现
fprintf('%20s %20s\n', word1, word2);
hFig = figure('Position',[500 300 400 300]); % 新建一个窗口
if strcmp(color, 'b')
text(0, 0, [word1 ' ' word2], 'HorizontalAlignment', 'center', 'Color', color, 'FontSize', 20);
else
text(-100, 0, word1, 'HorizontalAlignment', 'center', 'Color', color1, 'FontSize', 20);
text(100, 0, word2, 'HorizontalAlignment', 'center', 'Color', color2, 'FontSize', 20);
end
% 刺激呈现时间为2秒
pause(2);
% 空屏呈现时间为0.4~0.8秒
pause(0.4 + rand * 0.4);
close(hFig); % 关闭窗口
end