在matlab中返回整个字符串的可能方法是什么?

时间:2017-03-31 17:51:04

标签: matlab

我想在MATLAB中返回一个字符串'sunday'。我有以下代码:

function name = dayname(a) 
    value = rem(a,7); 

    if value == 0 
        name = disp('munday');
    end 
end

返回值应存储在name但是我收到以下错误:

  

输出参数太多

我做错了什么以及如何在MATLAB中返回一个字符串?

1 个答案:

答案 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