在matlab中用函数后缀命名文件

在matlab中用函数后缀命名文件,matlab,function,filenames,suffix,Matlab,Function,Filenames,Suffix,我试图在MATLAB中保存多个不同颜色的圆的png文件。我希望有多个文件名为: RINGS_Base_<n><colorname> 您的问题在于translatecolor函数,因为switch语句的case语句不能是数字数组。与其使用switch语句,不如使用一种查找表,它依赖于将每个值放在单独的行中,并将相应的字符串放在单元格数组中。然后,您可以使用ismember和“rows”选项来确定哪个值对应于输入,然后使用结果索引到颜色名称数组中 values = [1

我试图在MATLAB中保存多个不同颜色的圆的png文件。我希望有多个文件名为:

RINGS_Base_<n><colorname> 
您的问题在于translatecolor函数,因为switch语句的case语句不能是数字数组。与其使用switch语句,不如使用一种查找表,它依赖于将每个值放在单独的行中,并将相应的字符串放在单元格数组中。然后,您可以使用ismember和“rows”选项来确定哪个值对应于输入,然后使用结果索引到颜色名称数组中

values = [1 1 0;
          1 0 1;
          0 1 1;
          1 0 0;
          0 1 0;
          0 0 1];

colors = {'yellow', 'pink', 'cyan', 'red', 'green', 'blue'};

out = colors{ismember(values, in(:).', 'rows')};

嗯。。。对这里有实际问题吗?看起来您已经在做一些事情了,至少大部分是正确的…我有以下错误,我很难理解@tmpearce:>>RIGNSGenerator开关表达式必须是标量或字符向量常量。RIGNSGenerator>translatecolor line 18中的错误RIGNSGenerator line 12中的切换错误打印strcat'/Users/Stimuli\u Rings/Rings\u Circle',num2strn,translatecolor 1'.png',“-dpng”%strcat用于将字符串组合在一起我一直有以下错误,我不知道如何解决它:使用ismember>IsMember2012的错误第182行输入A和B必须是“行”情况下具有相同列数的矩阵。ismember行116 lia中的错误=ISMember2012 AA,B,logicalflaginds1@Mraquel啊,我现在明白了,在你的数据中是一个列向量。我已经将代码更新为强制输入为行向量,允许进行适当的比较。非常感谢@Suever!
values = [1 1 0;
          1 0 1;
          0 1 1;
          1 0 0;
          0 1 0;
          0 0 1];

colors = {'yellow', 'pink', 'cyan', 'red', 'green', 'blue'};

out = colors{ismember(values, in(:).', 'rows')};