how to make function that return struct vector whose elements are days of month
    5 views (last 30 days)
  
       Show older comments
    
    Muhammad Usman Saleem
      
 on 1 Jun 2015
  
    
    
    
    
    Commented: Yaser Alghawi
 on 5 Aug 2016
            Hi every one; I am going to attempt that query: a function called May2015 that returns a struct vector (row or column) whose elements correspond to the days of May, 2015. Each struct should contain three fields with these (exact) field names: “month”, “date”, and “day” (all lower case). • The month field must contain the string 'May' (uppercase ‘M’). • The date field must contain a scalar of type double that equals the date (1 through 31). • The day field must contain the three-letter abbreviation of the day chosen from this list: 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'. For example, here is a call of the function followed by a command that shows the eleventh element of the struct array that is returned by the function:
>> m = May2015;
>> m(11)
ans =
month: 'May'
date: 11
day: 'Mon'
I am using that code
function M=May2015(a)
M=strut('month','May','date',a)
end
I have no idea how i can set the day like mon,tues,wed,thus,fri sat,sun, corresponding date no. May month start from 1 to 30 and the day on 1 was mon and of 30 was tues. Kindly guide me how can i mange day (string) with date. I think i have to use for loop but not idea.. Thanks in advance
2 Comments
  Yaser Alghawi
 on 5 Aug 2016
				how to write the name of month also(for example 2 as input will give an output of February)
Accepted Answer
  Augusto Oliveira
 on 1 Jun 2015
        It's m = May2015, not m = May2015(n)... i = 1:31
2 Comments
  Augusto Oliveira
 on 1 Jun 2015
				
      Edited: Augusto Oliveira
 on 1 Jun 2015
  
			function m = May2015
for i = 1:31
    [DateNumber, DateName] = weekday(datenum([2015 5 i]));
    m(i) = struct('month','May','date',i,'day', DateName);
end
More Answers (3)
  Andrei Bobrov
      
      
 on 1 Jun 2015
        
      Edited: Andrei Bobrov
      
      
 on 2 Jun 2015
  
      function out = May2015
[~,k] = weekday(datenum(2015, 5, (1:31)'));
out = struct('month','May','date',num2cell((1:31)'),'day',cellstr(k));
use:
>> m = May2015
m =
    31x1 struct array containing the fields:
      month
      date
      day
>> m(11)
ans =
    scalar structure containing the fields:
      month = May
      date =  11
      day = Mon
>>
6 Comments
  charu sharma
 on 20 Aug 2015
        you need to mention the number of dates in MAY that is 1 to 31 and days Here is the more simple solution for you: http://farzicoders.blogspot.in/2015/08/write-function-called-may2015-that.html
0 Comments
See Also
Categories
				Find more on Data Type Identification in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





