我想在MATLAB中返回一个字符串'sunday'
。我有以下代码:
function name = dayname(a)
value = rem(a,7);
if value == 0
name = disp('munday');
end
end
返回值应存储在name
但是我收到以下错误:
输出参数太多
我做错了什么以及如何在MATLAB中返回一个字符串?
答案 0 :(得分:2)
问题是disp
不返回输出参数,它只是在命令行上显示输入。
如果要返回字符串,只需将字符串赋值给输出变量
即可function name = dayname(a)
value = rem(a, 7);
if value == 0
name = 'munday';
end
%...
end
更好的方法是创建一个包含所有名称的单元格数组,然后将其编入索引
function name = dayname(a)
names = {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'};
index = rem(a, 7) + 1;
name = names{index};
end