フィルターのクリア

Write a script that will convert each numeric value in the vector days into a string named daysOfWeek with the day names separated by a comma and a space.

3 ビュー (過去 30 日間)
So far I have:
clc,clear
day=input('Enter date of the month ');
if any(day==[3 10 17 24])
dayName = 'Monday' ;
elseif any(day==[4 11 18 25])
dayName = 'Tuesday' ;
elseif any(day==[5 12 19 26])
dayName = 'Wednesday' ;
elseif any(day==[6 13 20 27])
dayName = 'Thursday' ;
elseif any(day==[7 14 21 28])
dayName = 'Friday' ;
elseif any(day==[1 8 15 22 29])
dayName = 'Saturday';
elseif any(day==[2 9 16 23 30])
dayName = 'Sunday';
end
disp(dayName)
However, I am unable to get multiple values to work at once. Any help would be greatly appreciated!

採用された回答

Image Analyst
Image Analyst 2014 年 11 月 21 日
Close, but use a switch statement instead of an if. And use sscanf to get the numbers into a numerical array and use a for loop to process each of the numbers in the list:
clc;
clear;
userInput = input('Enter date of the month (separated by spaces) ', 's')
days = sscanf(userInput, '%f')
for k = 1 : length(days)
switch days(k)
case {3, 10, 17, 24}
dayName = 'Monday' ;
case {4, 11, 18, 25}
dayName = 'Tuesday' ;
case {5, 12, 19, 26}
dayName = 'Wednesday' ;
case {6, 13, 20, 27}
dayName = 'Thursday' ;
case {7, 14, 21, 28}
dayName = 'Friday' ;
case {1, 8, 15, 22, 29}
dayName = 'Saturday';
case {2, 9, 16, 23, 30}
dayName = 'Sunday';
otherwise
dayName = 'Unknown';
end
fprintf('The day of the week for #%d is %s.\n', days(k), dayName);
end
  1 件のコメント
Jarred
Jarred 2014 年 11 月 21 日
This is extremely helpful! Now I will work at arranging it so the solutions are on a single line, seperated by a comma. Thank you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Type Identification についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by