2017-03-31 99 views
0

我想在MATLAB中返回一个说'sunday'的字符串。我有以下代码:在matlab中返回整个字符串的可能方法是什么

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

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

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

Too many output arguments

什么我做错了,我怎么回在MATLAB字符串?

+0

什么是确切的错误? – Carcigenicate

+0

并向我们展示复制错误的完整代码。 Matlab的文档非常好。如果你是新手,我建议你从那里开始。这是[功能基础知识页面](https://www.mathworks.com/help/matlab/function-basics.html)。 – horchler

+0

许多输出参数 – cowboy

回答

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 
相关问题