Cực trị của hàm số bậc 3

Trong chương trình giải tích lớp 12, cực trị của một hàm số là một trong ba nội dung chính của bài toán Khảo sát hàm số:

  1. Cực trị
  2. Tiếp tuyến
  3. Tương giao

Trong bài viết này, chúng tôi dùng Đại số máy tính kết hợp với \LaTeX để giải quyết một cách trọn vẹn bài toán  cực trị của hàm số bậc 3:

y=ax^3+bx^2+cx+d

Code của chương trình này được post lên blog osshcmup. Các bạn yêu thích XCAS – giac có thể copy về, modify  để post trở lại cho mọi người cùng sử dụng.

1. Bài toán cơ bản:

Cho một hàm số bậc 3 (với biểu thức như trên) phụ thuộc vào tham số m. Xác định điều kiện về tham số m để hàm số có cực đại, cực tiểu. Khi đó hãy viết phương trình của đường thẳng đi qua hai điểm cực trị này. Ngoài ra hãy tìm tọa độ của các điểm cực trị và điểm uốn.

 (chỉ để tham khảo): Với code này chỉ cần đổi biểu thức của hàm số bậc 3 ở dòng 15 ta có toàn bộ lời giải. Code này lấy bài hàm số của đề thi TSĐH B 2012.


\documentclass[12pt]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia}
\usepackage{moreverb}
\usepackage{graphicx}
\newcommand{\executGiac}[1]{
\immediate\write18{giac <#1 } } 
\parindent=0pt 
\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):=a*x^3+b*x^2+c*x+d; 
f(x):=x^3-3*m*x^2+3*m^3; 
Resultat:=cat("Cho hàm số ","$$",y=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)); 
dddfx:=simplify(diff(ddfx,x)); 
a:=simplify(1/6*dddfx); 
b:=simplify(1/2*subs(ddfx,x,0)); 
c:=simplify(subs(dfx,x,0)); 
delta:=b^2-3*a*c; 
Resultat:=cat(Resultat," Biệt thức của đạo hàm: ","$$\\Delta ' = ",latex(ans()),"$$"); 
collect(delta,m); 
Resultat:=cat(Resultat," Khai triển và thu gọn theo m: ","$$\\Delta ' = ",latex(ans()),"$$"); 
Resultat:=cat(Resultat," Hàm số có cực đại và cực tiểu khi và chỉ khi: ","$$\\Delta ' >0","$$");
solve(delta>0,m);
Resultat:=cat(Resultat,"Giải bất phương trình này ta được: ","$$",latex(ans()),"$$");
quo(f(x),dfx,x);
Resultat:=cat(Resultat,"Thương của phép chia hàm số cho đạo hàm của nó là: ","$$P(x)=",latex(ans()),"$$");
rem(f(x),dfx,x);
Resultat:=cat(Resultat,"Dư của phép chia hàm số cho đạo hàm của nó là: ","$$Q(x)=",latex(ans()),"$$");
rem(f(x),dfx,x);
Resultat:=cat(Resultat,"Phương trình đường thẳng đi qua cực đại và cực tiểu là: ","$$y=",latex(ans()),"$$");
solve(dfx=0)[0];
Resultat:=cat(Resultat," Cực trị: ","$$x_1= ",latex(ans()),"$$");
solve(dfx=0)[1];
Resultat:=cat(Resultat," ","$$x_2=",latex(ans()),"$$");
simplify(subs(rem(f(x),dfx,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(rem(f(x),dfx,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()),"} ");
simplify(solve(ddfx=0)[0]);
Resultat:=cat(Resultat,"Điểm uốn (là trung điểm của đọan thẳng nối từ cực đại qua cực tiểu): ","$$x=",latex(ans()),"$$");
simplify(subs(f(x),x,solve(ddfx=0)[0]));
Resultat:=cat(Resultat,"","$$y=",latex(ans()),"$$");
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{verbatimwrite}
\executGiac{hsb3.in}
\input{hsb3.out}
\end{document}

file cuctri1.doc  về đổi tên thành cuctri1.tex. Tất nhiên máy tính của bạn phải chạy được xcas-giac.

  1. Nếu máy tính của bạn sử dụng hệ điều hành Ubuntu Linux thì chỉ cần cài giac từ dòng lệnh với lệnh:
    sudo dpkg -i giac_0.9.8-1_i386.deb
    Đường dẫn Ubuntu tự động hiểu.
  2. Nếu máy tính của bạn sử dụng Hệ điều hành MS Windows
    thì các bạn cài giac từ file exe xcasinst. Windows 7 sẽ tự động cài giac vào C:\xcas. Các bạn phải cập nhật lại đường dẫn cho hệ thống như sau:
    • Nhấp phải chuột vào My Computer, chọn Properties, Advanced Systems Settings, Environment Variables, trên dòng Path của User variables for user, các bạn chọn Edit, thêm dấu ; để ngăn cách biến cũ, sau đó thêm C:\xcas
    • Chọn OK nhiều lần để ra ngoài, sau đó Reboot lại máy tính. Xcas sẽ được LaTeX nhận diện và sẽ tự động tiến hành tính toán.

 

Lưu ý: code trên có một khuyết điểm là khi tính \Delta' = b^2-3ac, xcas viết một cách máy móc là -(3.m)^2 vì nó hiểu b^2 với b = -(3.m). Đúng ra là nó phải viết \left[-(3.m)\right]^2. Nhờ các bạn edit giúp. Vì vậy mới có thêm một dòng, Khai triển và thu gọn để tính \Delta'= 9m^2.

Để thấy ưu điểm của ĐS máy tính, chúng tôi thay “chút đỉnh”  giả thiết hàm số y= x^3-3mx^2+3m^3  thành y= x^3-3mx^2-6mx+3m^3, sau vài giây biên dịch, \LaTeX làm ta choáng ngợp với việc tính toán diệu kỳ.

Bài toán 1:

Cho một hàm số bậc 3 (với biểu thức như trên) phụ thuộc vào tham số m. Xác định điều kiện về tham số m để đồ thị hàm số cắt trục hoành tại ba điểm cách đều nhau.Hãy khảo sát sự biến thiên và vẽ đồ thị của hàm số ứng với giá trị m tìm được.

Tuy đề bài là “tương giao” nhưng ta giải bài toán này bằng phương pháp cực trị.

 để tham khảo (không sử dụng được):

\documentclass[12pt]{article}
\usepackage[utf8]{vietnam}
\usepackage{utopia}
\usepackage[paperheight=29cm]{geometry}
\usepackage{moreverb}
\usepackage{graphicx}
\newcommand{\executGiac}[1]{
\immediate\write18{giac &lt;#1 } }
\parindent=0pt
\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):=a*x^3+b*x^2+c*x+d;
f(x):=x^3-3*m*x^2+2*m*(m-4)*x+9*m^2-m;
Resultat:=cat("Cho hàm số ","$$",y=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));
dddfx:=simplify(diff(ddfx,x));
a:=simplify(1/6*dddfx);
b:=simplify(1/2*subs(ddfx,x,0));
c:=simplify(subs(dfx,x,0));
delta:=b^2-3*a*c;
collect(delta,m);
Resultat:=cat(Resultat," Biệt thức của đạo hàm  khai triển và thu gọn theo m: ","$$\\Delta ' = ",latex(ans()),"$$");
solve(delta&gt;0,m);
Resultat:=cat(Resultat,"Hàm số có cực đại và cực tiểu khi và chỉ khi: ","$$",latex(ans()),"$$");
quo(f(x),dfx,x);
Resultat:=cat(Resultat,"Thương của phép chia hàm số cho đạo hàm của nó là: ","$$P(x)=",latex(ans()),"$$");
rem(f(x),dfx,x);
Resultat:=cat(Resultat,"Dư của phép chia hàm số cho đạo hàm của nó là: ","$$Q(x)=",latex(ans()),"$$");
rem(f(x),dfx,x);
Resultat:=cat(Resultat,"Phương trình đường thẳng đi qua cực đại và cực tiểu là: ","$$y=",latex(ans()),"$$");
solve(dfx=0)[0];
Resultat:=cat(Resultat," Cực trị: ","$$x_1= ",latex(ans()),"$$");
solve(dfx=0)[1];
Resultat:=cat(Resultat," ","$$x_2=",latex(ans()),"$$");
simplify(subs(rem(f(x),dfx,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]));
simplify(subs(rem(f(x),dfx,x),x,solve(dfx=0)[1]));
Resultat:=cat(Resultat,"","$$y_2=",latex(ans()),"$$");
gtct1:=simplify(subs(f(x),x,solve(dfx=0)[0]));
gtct2:=simplify(subs(f(x),x,solve(dfx=0)[1]));
simplify(solve(ddfx=0)[0]);
Resultat:=cat(Resultat,"Điểm uốn (là trung điểm của đọan thẳng nối từ cực đại qua cực tiểu): ","$$x=",latex(ans()),"$$");
tdu:=simplify(subs(f(x),x,solve(ddfx=0)[0]));
Resultat:=cat(Resultat,"","$$y=",latex(ans()),"$$");
p:=simplify(gtct1*gtct2);
Resultat:=cat(Resultat,"Tích của các giá trị cực trị là: ","$$",latex(ans()),"$$");
dk1:=delta&gt;0;
ddkk1:=solve(dk1,m);
Resultat:=cat(Resultat,"Kiều kiện 1, hàm số có cực đại cực tiểu: ","$$",latex(ans()),"$$");
dk2:=p&lt;0;
ddkk2:=solve(dk2,m);
Resultat:=cat(Resultat,"Kiều kiện 2, các giá trị cực trị trái dấu: ","$$",latex(ans()),"$$");
dk3:=tdu=0;
ddkk3:=solve(dk3,m);
Resultat:=cat(Resultat,"Kiều kiện 3, điểm uốn nằm trên trục hoành: ","$$",latex(ans()),"$$");
ddkk1 and ddkk2 and ddkk3;
Resultat:=cat(Resultat,"Đồ thị cắt trục hoành tại ba điểm cách đều nhau khi và chỉ khi: ","$$",latex(ans()),"$$");
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{verbatimwrite}
\executGiac{hsb3.in}
\input{hsb3.out}
\end{document}

Rất tiếc là ở kết qủa cuối cùng XCAS-giac vẫn không đưa ra kết qủa m=1. Dù rằng nó dư sức đưa ra kết quả đó.


còn tiếp

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