Xcas - Khảo sát sự biến thiên và vẽ đồ thị HS bậc ba

Lời nói đầu. Ngày nay ChatGPT và PythonTeX đã khá đủ mạnh để hoàn thành một tác vụ “Khảo sát sự biến thiên và vẽ đồ thị hàm số ”. Tuy nhiên XCAS lại khá mạnh trong tính toán các phép tính phức tạp và xuất ra kết quả dưới dạng giá trị chính xác (không xấp xỉ trừ phi được yêu cầu).
 
Rất tiếc thầy Sơn chỉ code được trong một file $\rm \TeX$ khi chạy trên một máy tính với hệ điều hành Ubuntu đã cài đặt sẵn giac/Xcas.
 
Độc giả nào đang sử dụng Ubuntu (24.04) đã cài TeXLive (2024), giac/Xcas đều có thể sử dụng được code mà thầy Sơn đã biên soạn.
 
Lưu ý: Code này cũng chạy được trên một máy MacBook đã cài sẵn MacTeX, giac/Xcas.
 

Ý tưởng của công việc này là bạn nhập vào một hàm số (ví dụ hàm số bậc ba $y=ax^3+bx^2+cd+d$), $\rm \LaTeX$ sẽ vận hành, gọi Xcas ra tính và xuất ra kết quả dưới dạng một bài Khảo sát sự biến thiên và vẽ đồ thị hàm số hoàn thiện.
 
Sợ rằng vài năm nửa Thầy Sơn sẽ quên, nên thầy post code lên đây.

 

 

Download Source code (code ở dưới chỉ để tham khảo).
 

Download file PDF
 


\usepackage{pst-func} 
\thispagestyle{empty}
\makeatletter
\newcommand{\chamcham}[2]{
\psline[linewidth=.5\pslinewidth,linestyle=dashed,dash=2pt 2pt](#1,#2)(0,#2)
\psline[linewidth=.5\pslinewidth, linestyle=dashed,dash=2pt 2pt](#1,#2)(#1,0)}
\parindent=0pt
\begin{center}
{\Large \textbf{KHẢO SÁT HÀM SỐ BẬC BA 2 CỰC TRỊ}}
\end{center}\bigskip 
\begin{verbatimwrite}{hsb3.in}
maple_mode(0);
Sortie:=fopen("hsb3.out.tex");
f(x):=x^3-3*x^2-x+3;
Resultat:=cat("Khảo sát hàm số  ","$$",latex(ans()),"$$");
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()),"$$");
dddfx:=simplify(diff(diff(diff(f(x),x),x)));
x_m:=solve(dfx=0)[0];
Resultat:=cat(Resultat," Cực trị: ","$$x_1= ",latex(ans()),"$$");
evalf(x_m);
Resultat:=cat(Resultat,"\\def\\xctm\{",latex(ans()),"}");
x_h:=solve(dfx=0)[1];
Resultat:=cat(Resultat," ","$$x_2=",latex(ans()),"$$");
evalf(x_h);
Resultat:=cat(Resultat,"\\def\\xcth\{",latex(ans()),"}");
y_m:=simplify(subs(f(x),x,solve(dfx=0)[0]));
Resultat:=cat(Resultat," Giá trị cực trị: ","$$y_1=",latex(ans()),"$$");
evalf(y_m);
Resultat:=cat(Resultat,"\\def\\yctm\{",latex(ans()),"}");
y_h:=simplify(subs(f(x),x,solve(dfx=0)[1]));
Resultat:=cat(Resultat,"","$$y_2=",latex(ans()),"$$");
evalf(y_h);
Resultat:=cat(Resultat,"\\def\\ycth\{",latex(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()),"$$");
subs(f(x),x,0);
Resultat:=cat(Resultat,"\\def\\hsd\{",latex(ans()),"}");
subs(dfx,x,0);
Resultat:=cat(Resultat,"\\def\\hsc\{",latex(ans()),"}");
subs(ddfx,x,0)/2;
Resultat:=cat(Resultat,"\\def\\hsb\{",latex(ans()),"}");
dddfx/6;
Resultat:=cat(Resultat,"\\def\\hsa\{",latex(ans()),"}");
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{verbatimwrite}
\executGiac{hsb3.in}
\input{hsb3.out}
\noindent Bảng biến thiên: 
\begin{TV}
TV ([ -infinity ,+ infinity ] ,[] ," y " ," x ", \hsa*x^3+\hsb*x^2+\hsc*x+\hsd,1 ,\tv )
\end{TV}
\noindent Đồ thị   
\def\xmin{-2.5}\def\ymin{-5}\def\xmax{5}\def\ymax{5}\def\xxmax{4.75}\def\yymax{4.5}
\psset{yunit=0.5cm,xunit=1cm}\begin{pspicture*}(\xmin,\ymin)(\xmax,\ymax)\psaxes[Dy=2]{->}(0,0)(\xmin,\ymin)(\xmax,\ymax)\psset{linewidth=1.5pt}
\rput(\xxmax,0.5){{\large $x$}} \rput(.25,\yymax){{\large $y$}}
\psPolynomial[coeff=3 -1 -3 1,linecolor=blue]{-2}{4}
\chamcham{\xcth}{\ycth}
\chamcham{\xctm}{\yctm}
\end{pspicture*}
Loader Loading...
EAD Logo Taking too long?

Reload Reload document
| Open Open in new tab
Chia sẻ

About TS. Nguyễn Thái Sơn

TS. Nguyễn Thái Sơn
Nguyên trưởng Khoa Toán-Tin học ĐHSP TP HCM (1999-2009). /n Nguyên Giám đốc- Tổng biên tập NXB ĐHSP TP HCM (2009-2011). /n Nguyên Tổng thư ký Hội Toán học TP HCM (2008-2013). /n Giảng viên thỉnh giảng ĐHSP TP HCM.
×

Sai số! tác hại to lớn của việc sử dụng máy tính Casio giả và cách phòng tránh Chi tiết