ສ້າງ ປະຕິທິນດ້ວຍ MATLAB

 

ໝາຍເຫດ : function ນີ້ຂ້ອຍບໍ່ໄດ້ຂຽນເອງ ມັນເປັນສ່ວນໜຶ່ງຈາກການຮຽນຂອງຂ້ອຍ ແລະຂ້ອຍຍພຽງຢາກຈະແບ່ງປັນໃຫ້ຄົນທີ່ມີຈຸດປະສົງຢາກສຶກສາ.


MATLAB ມີ built-in function ໜຶ່ງທີ່ເອີ້ນວ່າ datetime ທີ່ສາມາດບອກເວລາໃນຂະນະນັ້ນໄດ້. ແລະເຮັດໄດ້ຫຼາຍກວ່ານັ້ນ ໃນໂພສນີ້ຈະບອກວິທີສ້າງປະຕິທິນໂດຍການຂຽນ function ໃນ MATLAB





ເລີ່ມດ້ວຍການຂຽນຟັງຊັນ

function cal_str = make_calendar(n_month,n_year)

dt = datetime(n_year,n_month,1);
dt.Format = 'MMMM yyyy';
title_str = string(dt);
cal_num = calendar(dt);
cal_str = strings(11,1);
left = blanks(floor(14-strlength(title_str)/2));
right = blanks(ceil(14-strlength(title_str)/2));
cal_str([1,3,11]) = " -------------------------- ";
cal_str(2) = sprintf('%s',left,title_str,right);
cal_str(4) = " Su Mo Tu We Th Fr Sa ";
for ii = 1:6
temp = sprintf("%3s ",string(cal_num(ii,:)));
cal_str(ii+4) = strrep(temp," 0"," ");
end

ເວລາຈະເອີ້ນໃຊ້ງານ ແມ່ນສາມາດເອີ້ນໃຊ້ຢູ່ command window ແບບນີ້

>> make_calendar(12,2022)


ans =


 11×1 string array


   " -------------------------- "

   "       December 2022        "

   " -------------------------- "

   " Su  Mo  Tu  We  Th  Fr  Sa "

   "                  1   2   3 "

   "  4   5   6   7   8   9  10 "

   " 11  12  13  14  15  16  17 "

   " 18  19  20  21  22  23  24 "

   " 25  26  27  28  29  30  31 "

   "                            "

   " -------------------------- "


>> make_calendar(2,2022)


ans =


 11×1 string array


   " -------------------------- "

   "       February 2022        "

   " -------------------------- "

   " Su  Mo  Tu  We  Th  Fr  Sa "

   "          1   2   3   4   5 "

   "  6   7   8   9  10  11  12 "

   " 13  14  15  16  17  18  19 "

   " 20  21  22  23  24  25  26 "

   " 27  28                     "

   "                            "

   " -------------------------- "



ແລະເຮົາກໍໄດ້ຮູບແບບປະຕິທິນທີ່ຂຽນໂດຍ MATLAB

ສຳລັບໃຜທີ່ໃຊ້ MATLAB ໃນເວີຊັນທີ່ເກົ່າກວ່າ R2021B ສາມາດຂຽນ fucntion ເພື່ອສ້າງ function ໄດ້ດ້ວຍ makefunction ເຊັ່ນໃນຕົວຢ່າງດ້ານລຸ່ມ

makefunction cal_str = make_calendar(n_month,n_year)
dt = datetime(n_year,n_month,1);
dt.Format = 'MMMM yyyy';
title_str = string(dt);
cal_num = calendar(dt);
cal_str = strings(11,1);
left = blanks(floor(14-strlength(title_str)/2));
right = blanks(ceil(14-strlength(title_str)/2));
cal_str([1,3,11]) = " -------------------------- ";
cal_str(2) = sprintf('%s',left,title_str,right);
cal_str(4) = " Su Mo Tu We Th Fr Sa ";
for ii = 1:6
temp = sprintf("%3s ",string(cal_num(ii,:)));
cal_str(ii+4) = strrep(temp," 0"," ");
end

makefunction ບໍ່ສາມາດໃຊ້ໄດ້ໃນເວີຊັນ 2021 ໄປ.

Comments