Đại số máy tính 1

Cấu trúc của một file \LaTeX vận hành ĐSMT như sau:

1. Khai báo:


\documentclass[12pt]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia}
\usepackage{moreverb}
\newcommand{\executGiac}[1]{
\immediate\write18{giac <#1 } }

2. \LaTeX tạo ra một file tên là hsb3.in (trong đó hsb3.tex là file \TeX tương ứng).Nội dung của file hsb3.in như sau:

maple_mode(0);
Sortie:=fopen(“hsb3.out.tex”);

khai báo mode ĐSMT là maple, tạo file
hsb3.out.tex

Một lệnh có hai dòng:

f(x):=-5*x^3-3*x^2+5*x+1;
Resultat:=cat(“Khảo sát hàm số “,”$$”,latex(ans()),”$$”);

dòng trên tính toán, dòng dưới xuất kết quả tính toán ra vản bản.
Phần nằm trong ” ” sẽ xuất ra vản bản. Như “Khảo sát hàm số” sẽ xuất câu Khảo sát hàm số ra văn bản. Sau đó hai lần “$$” sẽ xuất ra văn bản, chế độ toán học riêng dòng.

latex(ans()) là xuất kết quả đã nhập hay kết quả vừa tính toán xong định dạng của \LaTeX.

3. Tính đạo hàm và xuất kết quả ra văn bản bởi cặp lệnh:

dfx:=simplify(diff(f(x),x));
Resultat:=cat(Resultat,”Đạo hàm: “,”$$y’=”,latex(ans()),”$$”);

4. Tính đạo hàm cấp hai và xuất đạo hàm cấp hai ra văn bản:

ddfx:=simplify(diff(diff(f(x),x),x));
Resultat:=cat(Resultat,””,”$$y”=”,latex(ans()),”$$”);

5. Giải phương trình, lấy nghiệm thứ nhất đặt tên là x_1.

solve(dfx=0)[0];
Resultat:=cat(Resultat,” Cực trị: “,”$$x_1= “,latex(ans()),”$$”);

tương tự, giải phương trình, lấy nghiệm thứ nhất đặt tên là x_2.
solve(dfx=0)[1];
Resultat:=cat(Resultat,” “,”$$x_2=”,latex(ans()),”$$”);

6. Lấy x_1 thay vào hàm số, kết quả thu được đặt tên là y_1.

simplify(subs(f(x),x,solve(dfx=0)[0]));
Resultat:=cat(Resultat,” Giá trị cực trị: “,”$$y_1=”,latex(ans()),”$$”);

tương tự, Lấy x_1 thay vào hàm số, kết quả thu được đặt tên là y_1.

simplify(subs(f(x),x,solve(dfx=0)[1]));
Resultat:=cat(Resultat,” Giá trị cực trị: “,”$$y_2=”,latex(ans()),”$$”);v.v…

7.  Lưu hàm số đã cho vào một macro của \LaTeX tên là \hamso để sử dụng vào việc lập bảng biến thiên (automatic) mà không cần phải gõ lại hàm số (vì gõ lại có thể không tương thích do gõ nhầm), lưu các cực trị và giá trị cực trị thành \xct, \yct , \xctt , \yctt sử dụng trong việc vẽ đồ thị hàm số (chính xác tuyệt đối mà không cần phải có một quá trình tính toán trung gian).

8. Trong toàn bộ đoạn code của bài tập kèm theo, chỉ một lần nhập hàm số  ở dòng 16

f(x):=-5*x^3-3*x^2+5*x+1;

và một lần nhập lại hàm số dưới dạng khác (ở dòng 74) để vẽ đồ thị

\draw[smooth,samples=100,domain=-4.08:4.06] plot(\x,{-5*(\x)^3-3*(\x)^2+5*(\x)+1});

9. Các thao tác, ghi kết quả vào file, đóng file và vận hành dùng ĐSMT để tính tóan và xuất kết quả tính tóan ra file hsb3.out, sau đó lấy kết quả trong file out để nhập vào \LaTeX và dùng \TeX để thể hiện văn bản.:

fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{verbatimwrite}
\executGiac{hsb3.in}
\input{hsb3.out}

Như vậy: Nếu cần thay đổi bài toán Khảo sát sự biến thiên và vẽ đồ thị hàm số, ta chỉ thay đổi hai dòng, dòng nhập hàm số để khảo sát sự biến thiên và dòng nhập hàm số để vẽ đồ thị.

Sau đây là toàn văn file \TeX cho Bài tập 1.

Download file doc về đổi tên thành file TeX.

Code sau đây chỉ để tham khảo không sử dụng được vì một số ký tự của \TeX đã bị trình duyệt tự động thay đổi, ví dụ các dấu ngoặc kép bị thay đổi.

\documentclass[12pt]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia}
\usepackage{moreverb}
\usepackage{graphicx}
\usepackage[xcas]{tablor}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\newcommand{\executGiac}[1]{
\immediate\write18{giac <#1 } }
\begin{document}
\begin{verbatimwrite}{hsb3.in}
maple_mode(0);
Sortie:=fopen(“hsb3.out.tex”);
% Nhập hàm số vào dòng dưới đây
f(x):=-5*x^3-3*x^2+5*x+1;
Resultat:=cat(“Khảo sát hàm số “,”$$”,latex(ans()),”$$”);
Resultat:=cat(Resultat,”\\def\\hamso\{“,f(x),”} “);
dfx:=simplify(diff(f(x),x));
Resultat:=cat(Resultat,”Đạo hàm: “,”$$y’=”,latex(ans()),”$$”);
ddfx:=simplify(diff(diff(f(x),x),x));
Resultat:=cat(Resultat,””,”$$y”=”,latex(ans()),”$$”);
solve(dfx=0)[0];
Resultat:=cat(Resultat,” Cực trị: “,”$$x_1= “,latex(ans()),”$$”);
solve(dfx=0)[0];
Resultat:=cat(Resultat,”\\def\\xct\{“,evalf(ans()),”} “);
solve(dfx=0)[1];
Resultat:=cat(Resultat,” “,”$$x_2=”,latex(ans()),”$$”);
solve(dfx=0)[1];
Resultat:=cat(Resultat,”\\def\\xctt\{“,evalf(ans()),”} “);
simplify(subs(f(x),x,solve(dfx=0)[0]));
Resultat:=cat(Resultat,” Giá trị cực trị: “,”$$y_1=”,latex(ans()),”$$”);
simplify(subs(f(x),x,solve(dfx=0)[0]));
Resultat:=cat(Resultat,”\\def\\yct\{“,evalf(ans()),”} “);
simplify(subs(f(x),x,solve(dfx=0)[1]));
Resultat:=cat(Resultat,””,”$$y_2=”,latex(ans()),”$$”);
simplify(subs(f(x),x,solve(dfx=0)[1]));
Resultat:=cat(Resultat,”\\def\\yctt\{“,evalf(ans()),”} “);
solve(ddfx=0)[0];
Resultat:=cat(Resultat,”Điểm uốn: “,”$$x=”,latex(ans()),”$$”);
subs(f(x),x,solve(ddfx=0)[0]);
Resultat:=cat(Resultat,””,”$$y=”,latex(ans()),”$$”);
solve(f(x)=0);
Resultat:=cat(Resultat,”Giao điểm với trục hoành”,”$$x=”,latex(ans()),”$$”);
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{verbatimwrite}
\executGiac{hsb3.in}
\input{hsb3.out}\textbf{Bảng biến thiên:}\begin{TV}
TV([-infinity,+infinity],[],”f”,”x”,\hamso,1,n,\tv)
\end{TV}\textbf{Đồ thị:}\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.25cm,y=1.25cm]
\draw[->,color=black] (-4.08,0) — (4.06,0);
\foreach \x in {-4,-2,,1,3}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\normalsize $\x$};
\draw[->,color=black] (0,-4.06) — (0,3.98);
\foreach \y in {-4,-2,1,3}
\draw[shift={(0,\y)},color=black] (2pt,0pt) — (-2pt,0pt) node[left] {\normalsize $\y$};
\draw[color=black] (3.8,.2) node[right] {\normalsize $x$};
\draw[color=black] (.1,3.8) node[right] {\normalsize $y$};
\draw[color=black] (0pt,-10pt) node[right] {\normalsize $O$};
\draw [dash pattern=on 2pt off 2pt] (\xct,0)–(\xct,\yct);
\draw [dash pattern=on 2pt off 2pt] (\xct,\yct)–(0,\yct);
\draw [dash pattern=on 2pt off 2pt] (\xctt,0)–(\xctt,\yctt);
\draw [dash pattern=on 2pt off 2pt] (\xctt,\yctt)–(0,\yctt);
\clip(-4.08,-4.06) rectangle (4.06,3.98);
\draw[smooth,samples=100,domain=-4.08:4.06] plot(\x,{-5*(\x)^3-3*(\x)^2+5*(\x)+1});
\end{tikzpicture}
\end{document}
Advertisements

Trả lờ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 Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s