PsyBuilder - 心科测试
if条件的报错 - Printable Version

+- PsyBuilder - 心科测试 (https://www.psybuilder.com)
+-- Forum: Discussion forum (https://www.psybuilder.com/forumdisplay.php?fid=5)
+--- Forum: Bug report (https://www.psybuilder.com/forumdisplay.php?fid=10)
+--- Thread: if条件的报错 (/showthread.php?tid=37)



if条件的报错 - sieg - 02-25-2025

您好,我一直想用builder实现一个if条件,就是如果被试信息填male显示一种图片,被试信息填female显示另一种图片。但是每次用matlab进行实验读写到这块if就会出现如下图报错。我只能手动搜索if条件并替换成if strcmp的时候似乎就能运行。以下是我用ai搜到的代码。
 
if strcmp(subInfo.gender, 'male')
    % 显示男性图片
    imshow(maleImage);
else
    % 显示女性图片
    imshow(femaleImage);
end


RE: if条件的报错 - admin - 02-25-2025

(02-25-2025, 11:42 AM)sieg Wrote:
您好,我一直想用builder实现一个if条件,就是如果被试信息填male显示一种图片,被试信息填female显示另一种图片。但是每次用matlab进行实验读写到这块if就会出现如下图报错。我只能手动搜索if条件并替换成if strcmp的时候似乎就能运行。以下是我用ai搜到的代码。
 
if strcmp(subInfo.gender, 'male')
    % 显示男性图片
    imshow(maleImage);
else
    % 显示女性图片
    imshow(femaleImage);
end

你好,这不是一个bug,是你在使用上的错误,你在定义if里面的时候需要将male 或者 female 改为'male' 或者 'female', 因为在Psybuilder里面 subInfo.gender是一个字符串类型。


RE: if条件的报错 - sieg - 02-25-2025

(02-25-2025, 11:59 AM)admin Wrote:
(02-25-2025, 11:42 AM)sieg Wrote:
您好,我一直想用builder实现一个if条件,就是如果被试信息填male显示一种图片,被试信息填female显示另一种图片。但是每次用matlab进行实验读写到这块if就会出现如下图报错。我只能手动搜索if条件并替换成if strcmp的时候似乎就能运行。以下是我用ai搜到的代码。
 
if strcmp(subInfo.gender, 'male')
    % 显示男性图片
    imshow(maleImage);
else
    % 显示女性图片
    imshow(femaleImage);
end

你好,这不是一个bug,是你在使用上的错误,你在定义if里面的时候需要将male 或者 female 改为'male' 或者 'female', 因为在Psybuilder里面 subInfo.gender是一个字符串类型。

您好,我试过改为'male' 的形式,但是这么做之后又会提示数组大小不兼容的错误。


RE: if条件的报错 - admin - 02-26-2025

嗯嗯 貌似是有点问题,你先手动改改用用,我最近修复一下


RE: if条件的报错 - admin - 02-26-2025

(02-25-2025, 01:24 PM)sieg Wrote:
(02-25-2025, 11:59 AM)admin Wrote:
(02-25-2025, 11:42 AM)sieg Wrote:
您好,我一直想用builder实现一个if条件,就是如果被试信息填male显示一种图片,被试信息填female显示另一种图片。但是每次用matlab进行实验读写到这块if就会出现如下图报错。我只能手动搜索if条件并替换成if strcmp的时候似乎就能运行。以下是我用ai搜到的代码。
 
if strcmp(subInfo.gender, 'male')
    % 显示男性图片
    imshow(maleImage);
else
    % 显示女性图片
    imshow(femaleImage);
end

你好,这不是一个bug,是你在使用上的错误,你在定义if里面的时候需要将male 或者 female 改为'male' 或者 'female', 因为在Psybuilder里面 subInfo.gender是一个字符串类型。

您好,我试过改为'male' 的形式,但是这么做之后又会提示数组大小不兼容的错误。

下载最新版本看看应该是已经修复了


RE: if条件的报错 - sieg - 02-26-2025

(02-26-2025, 06:56 AM)admin Wrote:
(02-25-2025, 01:24 PM)sieg Wrote:
(02-25-2025, 11:59 AM)admin Wrote:
(02-25-2025, 11:42 AM)sieg Wrote:
您好,我一直想用builder实现一个if条件,就是如果被试信息填male显示一种图片,被试信息填female显示另一种图片。但是每次用matlab进行实验读写到这块if就会出现如下图报错。我只能手动搜索if条件并替换成if strcmp的时候似乎就能运行。以下是我用ai搜到的代码。
 
if strcmp(subInfo.gender, 'male')
    % 显示男性图片
    imshow(maleImage);
else
    % 显示女性图片
    imshow(femaleImage);
end

你好,这不是一个bug,是你在使用上的错误,你在定义if里面的时候需要将male 或者 female 改为'male' 或者 'female', 因为在Psybuilder里面 subInfo.gender是一个字符串类型。

您好,我试过改为'male' 的形式,但是这么做之后又会提示数组大小不兼容的错误。

下载最新版本看看应该是已经修复了

谢谢您,但是builder新版本的下载链接似乎出问题了,我换了三个电脑都发现zip文件每次都下载一半就停了,不知道是不是我的问题


RE: if条件的报错 - admin - 02-26-2025

下午是链接有点问题现在再试试


RE: if条件的报错 - sieg - 02-26-2025

(02-26-2025, 01:32 PM)admin Wrote: 下午是链接有点问题现在再试试
好的老师,现在可以了