New FAMILUG

The PyMiers

Friday 14 October 2011

[MatLAB]Chuyển đổi năm và hơn thế nữa

bài toán đặt ra đổi từ năm dương lịch dạng số sang năm âm lịch dạng chữ
hướng giải bài toán:
+ Đặt 2 mảng kí tự ''can''và ''chi'' tương ứng với các căn chi của âm lịch
+Lấy Vị trí đầu làm mốc rồi tìm dư cho 10 căn và 12 chi tương ứng với vị trí trong mảng
Code

function [] = namam( f )
%NAMAM Summary of this function goes here
% Detailed explanation goes here
can={'Giap','At','Binh','Dinh','Mau','Ky','Canh','Tan','Nham','Quy'};
chi={'Ti','Suu','Dan','Mao','Thin','Ty','Ngo','Mui','Than','Dau','Tuat','Hoi'};
%can(mod(f,10)+1)
%chi(mod(f,12)+1)
for i =0:9
if(mod(f-i,10)==mod(1744,10))
can(1+i)
end
if(mod(f-i,12)==mod(1744,12))
chi(1+i)
end

end

Ngoài ra từ bài toán trên có thể suy rộng ra nhiều bài toán khác ko dừng lại ở 2 mảng mà là n mảng .Đầu vào là 1 thông số và trên mỗi tập nó sẽ nhận 1 giá trị nào đó.Yêu cầu xét thông số đầu vào trên toàn bộ n tập .

10 comments:

  1. Cám ơn Đồng vì đã post , mặc dù vẫn chưa nghĩ đến :D

    ReplyDelete
  2. http://www.familug.com/2011/10/matlab-nam-duong-lich-can-chi.html

    đây là bài đã post trước, các bạn xem thêm tham khảo chuẩn bị 2 tuần nữa thi :D

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. nhà tớ không có matlab (nghèo :"> )
    mọi người cho hỏi có cách nào để kết thúc 1 function từ một điểm nào đó bên trong function ấy không?
    nếu không có thì ta cứ phải dùng if else lồng vào nhau à?:
    VD:
    function [res] = foo(a)
    if a == 5
    root = a
    %tớ muốn "return" ở đây
    end%if
    ...
    %end of function

    chẳng nhẽ phải
    function [res] = foo(a)
    if a == 5
    root = a
    elseif
    %có thể nhiều if else elseif lồng bên trong @@
    end%first if
    %end of function

    ReplyDelete
  5. có return thì ngon :x
    down rồi nhưng chưa cài, giải né nó đòi cài isomagic :)) fk it

    ReplyDelete
  6. Mình đang làm đề tài lịch vạn niên trong giao diện GUI cua MATLAB, trong đó có đổi từ dương lịch sang âm lịch và ngược lại. Bạn có thể hướng dẫn cho mình được không? Thanks bạn trước nha...!!!

    ReplyDelete
  7. về đổi năm thì như trên đã làm, đổi ngày thì phải chi tiết hơn và cam đoan là chả ai hướng dẫn bạn đâu :)) bạn có thể lên mạng tìm tài liệu về cách đổi ngày âm dương và tự làm thôi ;)

    ReplyDelete
  8. 30 năm mới có 1 khách mà xồn nó đuổi kìa b-(

    ReplyDelete