New FAMILUG

Friday, 7 October 2011

[MATLAB] Năm dương lịch -> Can Chi

Đây là bài chiều nay. Tớ code chay ghi lại cho khỏi quên :D
Can : 10 can _ Giáp ất bính đinh mậu kỷ canh tân nhâm quý
Chi : 12 chi _ Tý sửu dần mão thìn tị ngọ mùi thân dậu tuất hợi

Khó khắn: mất một lúc để biết canh chứa "mảng string“

Code:

%timCanChi.m
function [can_chi] = timCanChi(nam)
can = {"Giap" "At" "Binh" "Dinh" "Mau" "Ky" "Canh" "Tan" "Nham" "Quy"};
chi = {"Ty" "Suu" "Dan" "Mao" "Thin" "Ti" "Ngo" "Mui" "Than" "Dau" "Tuat" "Hoi"};

%- Năm 1984 là năm Giáp Tý. + 1 vì array trong matlab bắt đầu từ 1
c = can(mod((nam - 1984) + 1, 10));
ch = chi(mod(chi(nam - 1984) + 1, 12));

can_chi = [c, ch];
return can_chi

ai có Matlab test hộ tớ cái :">
ai có cách khác up lên cho các bạn cùng xem.

9 comments:

  1. can_chi = [c, ch];

    dòng trên sai vì c và ch chỉ là chỉ số thôi
    có thể sửa lại thành :

    can_chi = [can(c) chi(ch)];
    ok ?

    ReplyDelete
  2. thank Chung. Đã sửa lại .t lấy c và h là string luôn. Hè hè

    ReplyDelete
  3. Đính chính là Thiên Can và Địa Chi nhé ;)) Gọi như thế cho nó sang cái miệng.

    ReplyDelete
  4. t thích cái trò sang mồm này đấy >:)

    ReplyDelete
  5. http://pastebin.com/jyrnghn2
    code chuẩn , chạy ngon

    ReplyDelete
  6. tớ ko học matlab nhưng hàm main của nó ở đâu?

    ReplyDelete
  7. ở lớp tòan học chế độ interactive, chưa thử kiểu khác. Ko biết có không. Nói chung là kệ :))

    ReplyDelete