微分係数と接線の傾き

微分係数が接線の傾きを表している図を描く.

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (title=)

slope-of-tangent.zip

Drwxy();
Deffun("f(x)",["regional(y)","y=2^{x-1.5}+0.5","y"]);
Plotdata("1","f(x)","x=[-0.5,3.3]");
// 関数y=f(x)のグラフを描く.
Putpoint("A",[1,f(1)]);
coeff=Derivative("f(x)","x",A.x);
// 点Aにおける接線の傾きを求める.
Defvar("Coeff=coeff");
Deffun("g(x)",["regional(y)","y=Coeff*(x-A.x)+A.y","y"]);
Setcolor([0,0,1]);
Plotdata("2","g(x)","x=[-0.4,4]");
// 点Aにおける接線を色を指定して描く.
Setcolor([0,0,0]);
Putpoint("B",[4,g(4)]);
Putpoint("C",[-0.4,g(-0.4)]);
// 接線の端点をとる.
Defvar("angle",arctan*1);
// 点Bの点Aを中心として,x軸方向から測った角を求める.
Defvar("r1",sqrt*2;
Defvar("r2",sqrt*3;
// AB,ACの距離を求める.
Defvar("m",50);
Setpen(0.5);
repeat(5,n,
Setcolor([0,0,1]);
Listplot(text(n),[ [A.x+r1*cos(angle+pi/m*n),A.y+r1*sin(angle+pi/m*n)],[A.x+r2*cos(angle+pi/m*n+pi),A.y+r2*sin(angle+pi/m*n+pi)] ]);
// 接線を点Aを中心として,pi/m*nだけ回転させた直線を描く.
Setcolor([0,0,0]);
pts=Intersectcrvs("gr1","sg"+text(n));
// y=f(x)と直線の交点を描く.
println(pts);
Defvar("Pt1"+text(n),pts_2);
Ptsize(1.5);
Drawpoint("Pt1"+text(n));
// y=f(x)と直線のAでない方の交点を描く.
);
Drawpoint(A);
Putpoint("D",[3.5,g(3.5)]);
Putpoint("E",Rotatepoint(D,pi/m*5,A));
Setcolor([0,0,1]);
Setpen(1);
Circledata("1",[A,D],["Rng=[angle,angle+pi/m*5]"]);
Arrowhead(D,D-E,"cr1");
// 回転を矢印で描く.
Setcolor([0,0,0]);
Listplot("6",[ [0,f(1)],[1,f(1)],[1,0] ],["do"]);
Listplot("7",[ [0,f(Pt15.x)],[Pt15.x,f(Pt15.x)],[Pt15.x,0] ],["do"]);
Listplot("8",[ [1,f(1)],[Pt15.x,f(1)] ],["do"]);
// 点線を描く.
Setcolor([0,0,1]);
Arrowdata([ [0,f(Pt15.x)],[0,f(1)] ]);
Arrowdata([ [Pt15.x,0],[1,0] ]);
// 色を指定して矢印を描く.
Setcolor([0,0,0]);
Htickmark([1,"s","a",Pt15.x,"s","x"]);
Vtickmark([f(1),"w","f(a)",f(Pt15.x),"w","f(x)"]);
Expr([ [3.3,f(3.3)],"n","y=f(x)",[4,g(4)],"e","l",A,"nw","$A$",Pt15,"nw","$P$"]);
最終更新:2016年10月30日 13:41
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|

*1 B.y-A.y)/(B.x-A.x

*2 B.x-A.x)^2+(B.y-A.y)^2

*3 C.x-A.x)^2+(C.y-A.y)^2