\documentclass[12pt]{article}
\usepackage{fourier}
\usepackage[utf8]{vietnam}
\usepackage{times}
\usepackage{moreverb}
\newcommand{\executGiac}[1]{
\immediate\write18{giac <#1 } }
\usepackage{pstricks-add}
\begin{document}
\begin{verbatimwrite}{test_elip.in}
maple_mode(0);
Sortie:=fopen("test_elip.out.tex");
zz:=36*x^2+24*x*y+29*y^2-72*x+126*y+81;
Resultat:=cat("Cho đường bậc hai có phương trình:",
"$$",latex(ans()),"=0$$");
dfx:=diff(zz,x);
dfy:=diff(zz,y);
Resultat:=cat(Resultat,"Các hệ số "," $ a, b, c, d, e, f",,"$"," là:");
Resultat:=cat(Resultat,""," $$",,"$$");
aa:=simplify(diff(diff(zz,x),x)/2);
Resultat:=cat(Resultat,"","$ a = ",latex(ans())," $");
bb:=simplify(diff(diff(zz,x),y)/2);
Resultat:=cat(Resultat," , ","$ b=",latex(ans()),"$");
cc:=simplify(diff(diff(zz,y),y)/2);
Resultat:=cat(Resultat," , ","$ c=",latex(ans()),"$");
ww:=simplify(zz-aa*x^2-2*bb*x*y-cc*y^2);
dd:=simplify(diff(ww,x)/2);
Resultat:=cat(Resultat," , ","$ d =",latex(ans()),"$");
EE:=simplify(diff(ww,y)/2);
Resultat:=cat(Resultat," , ","$ e =",latex(ans()),"$");
ff:=simplify(ww-2*dd*x-2*EE*y);
Resultat:=cat(Resultat," , ","$ f =",latex(ans()),"$");
Resultat:=cat(Resultat,".","$$",,"$$");
J1:=aa+cc;
Resultat:=cat(Resultat,"Bất biến thứ nhất : ","$$ I_1 =",
latex(ans()),"$$");
J2:=aa*cc-bb^2;
Resultat:=cat(Resultat,"Bất biến thứ hai : ","$$ I_2 =",
latex(ans()),"$$");
J3:=det([aa,bb,dd],[bb,cc,EE],[dd,EE,ff]);
Resultat:=cat(Resultat,"Bất biến thứ ba : ","$$ I_3 =",
latex(ans()),"$$");
J2>0 and J3<0;
Resultat:=cat(Resultat,"Đường bậc hai là elip: PHẢI (true),
KHÔNG (false/0)\\qquad ($I_2>0$ và $I_3<0;$) ",
"$$",latex(ans()),"$$");
ptdt:=t^2-J1*t+J2;
Resultat:=cat(Resultat,"Phương trình đặc trưng: ",
"$$",latex(ans()),"=0$$");
t1:=solve(ptdt,t)[0];
Resultat:=cat(Resultat,"Hai nghiệm của phương trình đặc trưng:\\ ",
"$t_1=",latex(ans()),"$");
t2:=solve(ptdt,t)[1];
Resultat:=cat(Resultat," và "," $t_2=",latex(ans()),"$.\\ ");
A:=simplify(-J3/(J2*t1));
round(evalf(sqrt(abs(A))),2);
Resultat:=cat(Resultat,"\\def\\btl\{",ans(),"} ");
B:=simplify(-J3/(J2*t2));
round(evalf(sqrt(abs(B))),2);
Resultat:=cat(Resultat,"\\def\\btn\{",ans(),"} ");
t1*X^2+t2*Y^2=-J3/J2;
Resultat:=cat(Resultat,"Phương trình thu gọn của đường bậc hai là: ",
"$$",latex(ans()),"$$");
X^2/A+Y^2/B=1;
Resultat:=cat(Resultat,"Phương trình chính tắc của đường bậc hai là: ",
"$$",latex(ans()),"$$");
linsolve([diff(zz,x)=0,diff(zz,y)=0],[x,y]);
Resultat:=cat(Resultat,"Tọa độ của tâm:","$$",latex(ans()),"$$");
k1:=simplify((t1-aa)/bb);
Resultat:=cat(Resultat,"Hai phương chính của $(S)$ là:","$$k_1=",
latex(ans()),"$$");
evalf((t1-aa)/bb);
Resultat:=cat(Resultat,"\\def\\slope\{",ans(),"} ");
evalf((t2-aa)/bb);
Resultat:=cat(Resultat,"\\def\\Slope\{",ans(),"} ");
round(atan(k1)*180/3.14159,2);
Resultat:=cat(Resultat,"\\def\\rotate\{",ans(),"} ");
k2:=simplify((t2-aa)/bb);
Resultat:=cat(Resultat,"và:","$$k_2=",latex(ans()),"$$");
hdt:=linsolve([diff(zz,x)=0,diff(zz,y)=0],[x,y])[0];
round(evalf(linsolve([diff(zz,x)=0,diff(zz,y)=0],[x,y])[0]),2);
Resultat:=cat(Resultat,"\\def\\center\{",ans(),"} ");
tdt:=linsolve([diff(zz,x)=0,diff(zz,y)=0],[x,y])[1];
round(evalf(linsolve([diff(zz,x)=0,diff(zz,y)=0],[x,y])[1]),2);
Resultat:=cat(Resultat,"\\def\\Center\{",ans(),"} ");
collect(simplify(k1*x-k1*hdt+tdt));
Resultat:=cat(Resultat,"Phương trình trục $IX$ trong hệ trục $Oxy$ là:",
"$$y=",latex(ans()),"$$");
collect(simplify(k2*x-k2*hdt+tdt));
Resultat:=cat(Resultat,"Phương trình trục $IY$ trong hệ trục $Oxy$ là:",
"$$y=",latex(ans()),"$$");
vr:=round(simplify(2+hdt+evalf(max(sqrt(abs(A)),sqrt(abs(B))))),2);
Resultat:=cat(Resultat,"\\def\\viewright\{",ans(),"} ");
vr:=round(simplify(2+hdt+evalf(max(sqrt(abs(A)),sqrt(abs(B))))),2);
Resultat:=cat(Resultat,"\\def\\viewright\{",ans(),"} ");
simplify(95/100*vr);
Resultat:=cat(Resultat,"\\def\\viewx\{",ans(),"} ");
simplify(2*hdt-vr);
Resultat:=cat(Resultat,"\\def\\viewleft\{",ans(),"} ");
Vr:=round(simplify(2+tdt+evalf(max(sqrt(abs(A)),sqrt(abs(B))))),2);
Resultat:=cat(Resultat,"\\def\\Viewright\{",ans(),"} ");
round(simplify(2*tdt-Vr),2);
Resultat:=cat(Resultat,"\\def\\Viewleft\{",ans(),"} ");
simplify(975/1000*Vr);
Resultat:=cat(Resultat,"\\def\\Viewy\{",ans(),"} ");
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{verbatimwrite}
\executGiac{test_elip.in}
\input{test_elip.out}
\psset{xunit=1.0cm,yunit=1.0cm}
\begin{pspicture*}(\viewleft,\Viewleft)(\viewright,\Viewright)
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,
linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,
ticksize=-2pt 0,subticks=2]{->}(0,0)(\viewleft,\Viewleft)
(\viewright,\Viewright)
\rput{\rotate}(\center,\Center){\parametricplot{-0.99}{0.99}
{\btl*(1-t^2)/(1+t^2)|\btn*2*t/(1+t^2)}}
\rput{\rotate}(\center,\Center){\parametricplot{-0.99}{0.99}
{\btl*(-1+t^2)/(1+t^2)|\btn*(-2)*t/(1+t^2)}}
\psplot{\viewleft}{\viewright}{(--(\Center-\slope*\center)--\slope*x)/1}
\psplot{\viewleft}{\viewright}{(--(\Center-\Slope*\center)--\Slope*x)/1}
\rput[tl](\viewx,0.4){$x$}
\rput[tl](0.25,\Viewy){$y$}
\rput[tr](0.4,-0.25){$O$}
\psline[linestyle=dashed,dash=2pt 2pt](\center,\Center)(\center,0)
\psline[linestyle=dashed,dash=2pt 2pt](\center,\Center)(0,\Center)
\end{pspicture*}
\end{document}
Không có nhận xét nào:
Đăng nhận xét