Tính toán trực tiếp trong LaTeX-Giấc mơ đã trở thành hiện thực – Bài 2

Với Sage\TeX, chúng ta có thể dùng Sage để tính toán và đặt kết quả tính toán được vào tài liệu
\LaTeX của mình.

  1. Ví dụ, giải phương trình vi phân:
    y''-3y'+2y=e^x(3-4x)
    Trước hết ta khai báo biến số, hàm số và phương trình:
    \begin{sageblock}
    x = var('x')
    y = function('y',x)
    DE = diff(y, x, 2) -3*diff(y, x) + 2*y-exp(x)*(3-4*x)
    \end{sageblock}
    

    \LaTeX sẽ chạy và tạo ra một file trung gian, sau đó Sage sẽ vận hành file trung gian này để tính toán và \LaTeX lấy kết quả tính toán nói trên nhập vào văn bản để thông báo kết quả như sau:
    y=\left(2x^{2} + x + 1\right) e^{x} + k_{1} e^{2x} + k_{2} e^x
    Nếu ta không muốn cho người đọc biết các khai báo trong Sage, thay vì dùng môi trường sageblock ta dùng môi trường sagesilent. Ví dụ, giải phương trình vi phân:
    y''-y=x\cos^2x

    \begin{sagesilent}
    x = var('x')
    y = function('y',x)
    DE = diff(y, x, 2) -y -x*cos(x)^2
    \end{sagesilent}
    

    Không quá vài giây đồng hồ, \LaTeX và Sage cho ta nghiệm của phương trình vi phân là:
    k_{1} e^{x} + k_{2} e^{\left(-x\right)} - \dfrac{1}{10} \, x \cos\left(2 \, x\right) - \dfrac{1}{2} \, x + \dfrac{2}{25} \, \sin\left(2 \, x\right)
    ở trên ta khai báo biến số, hàm số và phương trình vi phân với biến môi trường (ẩn) là sagesilent

  2. Một ví dụ khác liên quan đến các phép tính tích phân. Ví dụ, ta hiếu kỳ muốn biết \displaystyle I=\int_0^1\dfrac{1}{x^4+1}dx 

    Sở dĩ gọi là hiếu kỳ là vì, nếu không bị bắt buộc, ta chẳng bao giờ muốn tính tích phân này, nhưng lại muốn có kết quả ngay tức thì. Thì đây: I=\dfrac{1}{8} \, \pi \sqrt{2} - \dfrac{1}{8} \, \sqrt{2} \log\left(-\sqrt{2} + 2\right) + \dfrac{1}{8} \, \sqrt{2} \log\left(\sqrt{2} + 2\right)

    lưu ý, ký hiệu \log x ở đây chỉ \ln x.

  3. Về đồ thị, ví dụ ta muốn vẽ đồ thị của hàm số y=f(x)=3x^3-5x^2+4x-5
    \begin{sagesilent}
    f(x) = 3*x^3-5*x^2+4*x-5
    \end{sagesilent}
    

    thì đây:

    \sageplot{plot(f, -5, 5)}
    

    dream1

  4. Những ai đã từng đau đầu với ma trận, các phép tính ma trận, ma trận đảo và định thức mới hiểu việc tính toán này giá trị nhường nào!Khai báo ma trận 4 dòng 4 cột:
    \begin{sageblock}
    A = matrix([[1,9,5,9],[1,8,9,0],[1,9,6,9],[1,9,7,5]])
    \end{sageblock}
    

    Sau đó ta ra lệnh cho \LaTeX hiển thị ma trận A

    $$A=\sage{A}$$
    

    A=\left(\begin{array}{rrrr}  1 & 9 & 5 & 9 \\  1 & 8 & 9 & 0 \\  1 & 9 & 6 & 9 \\  1 & 9 & 7 & 5  \end{array}\right)

    • Hãy tính định thức của ma trận A coi
      Chỉ với một dòng lệnh:
      $$\detA= \sage{A.determinant()}$$
      

      \LaTeX và Sage tính được \det A =4

    • Hãy tìm ma trận đảo của A xem sao, nhớ là không được tính quá 3 giây! (là thời gian biên dịch)
      $$A^{-1} = \sage{A.inverse()}$$
      

      quá siêu vì chỉ một dòng lệnh và thời gian không quá 3 giây:
      A^{-1} = \displaystyle \left(\begin{array}{rrrr}  15 & 9 & -5 & -18 \\  -\dfrac{3}{4} & -1 & -\dfrac{1}{2} & \dfrac{9}{4} \\  -1 & 0 & 1 & 0 \\  -\dfrac{1}{4} & 0 & \dfrac{1}{2} & -\dfrac{1}{4}  \end{array}\right)

    Đọc tiếp trong file PDF ở dưới hoặc file slideshare sau đây:

dreamtex

3 responses to “Tính toán trực tiếp trong LaTeX-Giấc mơ đã trở thành hiện thực – Bài 2

  1. Cảm ơn thầy viết bài này. Cái ví dụ viết ma trận “đắt” thật! Em dùng Sagemath & cũng viết Latex suốt mà chưa nghĩ đến việc dùng Sagetex, sau ví dụ này thì thấy được sự lợi hại của nó rồi.

  2. Thầy ơi, sao em không thấy phần gọi cú pháp giải phương trình vi phân ạ?
    Chỉ thấy hai kiểu khai báo thôi.

    Em thử dùng $\sage{DE.solve()}$ thì nó hiện ra 2 dấu ? (dù đã bấm F1 nhiều lần – em dùng TeXMaker)

    Thầy cho em các cú pháp của \sage{} được không ạ? Em cảm ơn Thầy nhiều.

  3. Em chào Thầy. Em không biết gõ câu hỏi ở chỗ nào nên em gõ ở đây:
    Thầy ơi trong gói lệnh examdesign.cls khi biên dịch thì câu hỏi không được căn lề (có câu thụt vào có câu lùi ra). vậy làm thế nào để căn lề ạ

    Thầy giúp em với ạ

    Em cám ơn Thầy

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s