我有以下内容:
d = [1 2 3 4 5 6 7]
我希望Matlab通过循环或
为每个数字指定日期名称任何合适的方法如下:
1 =星期二
2 =星期三
7 =星期一
我打算在运行程序后得到的结果是:
Matlab窗口要求用户输入1到7之间的数字
n =('输入1到7之间的数字')
然后,
如果输入例如4,则表示打印结果为:Friday
或
如果我们输入例如7,则表示打印结果为:Monday
等等
有没有办法做到这一点
问候
答案 0 :(得分:5)
您可以使用cell array,它允许您存储一组文本字符串。花括号是关键:
>> weekdays = {'Mon', 'Tues', 'Weds', 'Thurs', 'Fri', 'Sat', 'Sun'};
>> weekdays{4}
ans =
Thurs
编辑:您可以使用MATLAB的input函数从用户那里获取相关的数字:
n = input('Enter your number:');
disp(weekdays{n})
答案 1 :(得分:1)
使用地图可能是一种方法:
weekDays = containers.Map({1, 2, 3, 4, 5, 6, 7} , ...
{'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'});
number = input('enter a number from 1 to 7');
disp(sprintf('You did choose %s\n', weekDays(number)));
修改强>
使用Bill Cheatham的解决方案,你最终得到了
weekdays = {'Mon', 'Tues', 'Weds', 'Thurs', 'Fri', 'Sat', 'Sun'};
number = input('enter a number from 1 to 7');
disp(sprintf('You did choose %s\n', weekdays{number}));