:
Maxima数学II自習教材開発
教材の概要
4 三角関数 1)三角関数
1.角の拡張
2.三角関数
3.三角関数のグラフ
4.三角関数の性質
5.三角関数を含む方程式、不等式
401.補充問題・章末問題
Maxima数学II自習教材試行報告用紙(Word)
Maxima数学II自習教材試行報告用紙(PDF)
:
教材の概要
活動時間
自宅での予習か授業初めの5分程度
活動概要
1 タブレット等を用いてトライ
1) 教科書の該当ページを開く
2) このWebページを開く
3) Maxima on lineのWebページを開く
4) 該当コマンドをMaximaOnLineにコピペして、実行
2 自分なりの感触、着想
1) 自分なりに、実行結果を見て、気づいたり感じたりすることがないか、考えてみる。
2) ワークシートに、考えてみたこと(意見・質問・感じたこと)を書く
3) ワークシートを、事前に提出する場合は、課題提出フォームを使うこと。
3 問題の雰囲気を2で感じてから、授業へ
1) 班活動などで自分の考えを仲間に伝える
2) 仲間の考えを受け止める
3) 筋が通って、見通しのよい解法、数学的な論点をうまく処理した解法をまとめる
参照テキスト
数研出版新編数学II
:
1.角の拡張
A. 一般角
◆コマンド番号101
●動径の図示
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,y,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例1・練習1 101 210°の動径の図示は"/*(◆修正部分1)*/,
KOUSATU:"始線OXを、反時計回りに、指定の角度回転させた図だから、・・・"/**/)$
(KANSUU:"",
sind(d):=sin(d/180*%pi)/*度数sin*/,
cosd(d):=cos(d/180*%pi)/*度数cos*/,
tand(d):=tan(d/180*%pi)/*度数tan*/,
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
rpl(p1l,e):=block([ansl,e1,ne1l,Ne1l,d12,p2l],e1:expand(lhs(e)-rhs(e)),
/**/ne1l:[coeff(e1,x,1),coeff(e1,y,1)],Ne1l:ne1l/sqrt(ne1l.ne1l),
/**/d12:dpe(p1l,e),p2l:p1l+d12*Ne1l,ansl:p2l)/*p1lからeに垂線を下した点*/,
dpe(p1l,e):=block([ans,e1,a,b],e1:expand(lhs(e)-rhs(e)),
/**/a:coeff(e1,x,1),b:coeff(e1,y,1),
/**/d13:-subst([x=p1l[1],y=p1l[2]],e1)/sqrt(a^2+b^2),ans:d13)/*p1lからeまでの(a,b)/sqrt(a^2+b^2)方向の距離*/,
r2e(p1l,p2l):=block([anse,p3l,gr],p3l:(p1l+p2l)/2,gr:p2l-p1l,anse:gr[1]*(x-p3l[1])+gr[2]*(y-p3l[2])=0)/*垂直二等分線*/,
el(p1l):=block([ansl,l],l:sqrt(p1l[1]^2+p1l[2]^2),ansl:p1l/l)/*単位ベクトル化*/,
scl(e,x):=block([ansl,e1,a,b,c],e1:expand(e),a:coeff(e1,x,2),b:coeff(e1,x,1),c:coeff(e1,x,0),/*print([e1,a,b,c]),*/ansl:[a*(x+b/(2*a))^2,-b^2/(4*a)+c,-b/(2*a)])/*平方完成*/
)$
(TEJUN:"",
declare(x,real,y,real),
dg:210,print([dg,"[問題による]"])/*(◆修正部分2)*/,
r:5,poL:[0,0],p1L:r*[1,0],p2L:r*[cosd(dg),sind(dg)],
ansl:[[p1L,poL,p2L],"[始点、中心、終点]"],print(ansl)
)$
(KAKUNIN:"図で確認"/**/,
xm:-10, xM:10, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
p1:points([p1L,poL]),p2:points([poL,p2L]),
g1:parametric((1+abs(t)/720)*cosd(t),(1+abs(t)/720)*sind(t),t,0,dg)/*(◆修正部分3)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,line_width=4,g1,p2/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,p1/*与えられたもの*/
/**/) /* "青が与えられたもの、赤が求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"始点Xで、始線OXを、反時計回りに、指定の角度回転させた終点Pの座標は( )となり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例1・練習1 101 -240°の動径の図示は"/*(◆修正部分1)*/,
dg:-240,print([dg,"[問題による]"])/*(◆修正部分2)*/,
g1:parametric((1+abs(t)/720)*cosd(-t),(1+abs(t)/720)*sind(-t),t,0,-dg)/*(◆修正部分3)*/,
B. 動径の表す角
◆コマンド番号102
●動径の表す角
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,y,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・練習2 102 300°、420°、1040°、-60°、-300°、-780°のうち、動径が60°と同じ位置にあるのは"/*(◆修正部分1)*/,
KOUSATU:"動径が同じ位置になるのは、角度の差が、・・・"/**/)$
(KANSUU:"",
sind(d):=sin(d/180*%pi)/*度数sin*/,
cosd(d):=cos(d/180*%pi)/*度数cos*/,
tand(d):=tan(d/180*%pi)/*度数tan*/,
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
rpl(p1l,e):=block([ansl,e1,ne1l,Ne1l,d12,p2l],e1:expand(lhs(e)-rhs(e)),
/**/ne1l:[coeff(e1,x,1),coeff(e1,y,1)],Ne1l:ne1l/sqrt(ne1l.ne1l),
/**/d12:dpe(p1l,e),p2l:p1l+d12*Ne1l,ansl:p2l)/*p1lからeに垂線を下した点*/,
dpe(p1l,e):=block([ans,e1,a,b],e1:expand(lhs(e)-rhs(e)),
/**/a:coeff(e1,x,1),b:coeff(e1,y,1),
/**/d13:-subst([x=p1l[1],y=p1l[2]],e1)/sqrt(a^2+b^2),ans:d13)/*p1lからeまでの(a,b)/sqrt(a^2+b^2)方向の距離*/,
r2e(p1l,p2l):=block([anse,p3l,gr],p3l:(p1l+p2l)/2,gr:p2l-p1l,anse:gr[1]*(x-p3l[1])+gr[2]*(y-p3l[2])=0)/*垂直二等分線*/,
el(p1l):=block([ansl,l],l:sqrt(p1l[1]^2+p1l[2]^2),ansl:p1l/l)/*単位ベクトル化*/,
scl(e,x):=block([ansl,e1,a,b,c],e1:expand(e),a:coeff(e1,x,2),b:coeff(e1,x,1),c:coeff(e1,x,0),/*print([e1,a,b,c]),*/ansl:[a*(x+b/(2*a))^2,-b^2/(4*a)+c,-b/(2*a)])/*平方完成*/
)$
(TEJUN:"",
declare(x,real,y,real),
dg:60,dgl:[300,420,1040,-60,-300,-780],print([dg,dgl,"[問題による]"])/*(◆修正部分2)*/,
kM:length(dgl),dg1l:[],pl:[],poL:[0,0],pxL:[5,0],
for k:1 thru kM do if mod(dgl[k]-dg,360)=0 then( dg1l:endcons(dgl[k],dg1l),pl:endcons([5*cosd(dgl[k]),5*sind(dgl[k])],pl)),print([dgl-dg,"[指定の角度との差]"]),
ansl:[dg,dg1l,"[指定の角度、[動径が同じ位置の角度]]"],print(ansl)
)$
(KAKUNIN:"図で確認"/**/,
xm:-10, xM:10, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
p1:points([poL,pxL]),p2:points(cons(poL,pl)),gl:[],print([p1,dg1l,p2,"[[原点,始点],[該当角],[原点,終点・・・]]"]),
for k:1 thru length(dg1l) do(gl:endcons(if dg1l[k]>=0 then parametric((1+abs(t)/720)*cosd(t),(1+abs(t)/720)*sind(t),t,0,dg1l[k]) else parametric((1+abs(-t)/720)*cosd(-t),(1+abs(-t)/720)*sind(-t),t,0,-dg1l[k])/**/,gl)), print([gl,"[回転角の線図]"]),
yL:[[0,ym],[0,yM]]/*y軸*/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,line_width=4,gl[1],p2/*求めるもの*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle, point_size=2,line_width=2,gl[2],p2/*求めるもの*//*(◆修正部分3)*/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,p1/*与えられたもの*/
/**/) /* "青が与えられたもの、赤が求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"動径が同じ位置になるのは、角度の差が( )の倍数となり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・練習2 102 300°、420°、1040°、-60°、-300°、-780°のうち、動径が-60°と同じ位置にあるのは"/*(◆修正部分1)*/,
dg:-60,dgl:[300,420,1040,-60,-300,-780],print([dg,dgl,"[問題による]"])/*(◆修正部分2)*/,
/**/points_joined=true, color=cyan, point_type=filled_circle, point_size=2,line_width=2,gl[2],p2/*求めるもの*//*(◆修正部分3)*/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,line_width=1,gl[3],p2/*求めるもの*//*(◆修正部分3)*/,
C. 弧度法
◆コマンド番号103
●弧度法
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,y,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・練習3 103 180°は、ラジアンでは"/*(◆修正部分1)*/,
KOUSATU:"1回転が、度数では360°、弧度では・・・"/**/)$
(KANSUU:"",
sind(d):=sin(d/180*%pi)/*度数sin*/,cosd(d):=cos(d/180*%pi)/*度数cos*/,tand(d):=tan(d/180*%pi)/*度数tan*/,
deg(r):=r/%pi*180/*弧度>度数g*/,rad(d):=d/180*%pi/*度数>弧度d*/,
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
rpl(p1l,e):=block([ansl,e1,ne1l,Ne1l,d12,p2l],e1:expand(lhs(e)-rhs(e)),
/**/ne1l:[coeff(e1,x,1),coeff(e1,y,1)],Ne1l:ne1l/sqrt(ne1l.ne1l),
/**/d12:dpe(p1l,e),p2l:p1l+d12*Ne1l,ansl:p2l)/*p1lからeに垂線を下した点*/,
dpe(p1l,e):=block([ans,e1,a,b],e1:expand(lhs(e)-rhs(e)),
/**/a:coeff(e1,x,1),b:coeff(e1,y,1),
/**/d13:-subst([x=p1l[1],y=p1l[2]],e1)/sqrt(a^2+b^2),ans:d13)/*p1lからeまでの(a,b)/sqrt(a^2+b^2)方向の距離*/,
r2e(p1l,p2l):=block([anse,p3l,gr],p3l:(p1l+p2l)/2,gr:p2l-p1l,anse:gr[1]*(x-p3l[1])+gr[2]*(y-p3l[2])=0)/*垂直二等分線*/,
el(p1l):=block([ansl,l],l:sqrt(p1l[1]^2+p1l[2]^2),ansl:p1l/l)/*単位ベクトル化*/,
scl(e,x):=block([ansl,e1,a,b,c],e1:expand(e),a:coeff(e1,x,2),b:coeff(e1,x,1),c:coeff(e1,x,0),/*print([e1,a,b,c]),*/ansl:[a*(x+b/(2*a))^2,-b^2/(4*a)+c,-b/(2*a)])/*平方完成*/
)$
(TEJUN:"",
declare(x,real,y,real),
dg1:180,print([dg1,"[問題による]"])/*(◆修正部分2)*/,
rd1:rad(dg1),poL:[0,0],pxL:[1,0],p1L:[1*cosd(dg1),1*sind(dg1)],print(p1L)/*(◆修正部分2)*/,
ansl:[dg1,rd1,"[指定の角度、弧度]"],print(ansl)/*(◆修正部分2)*/
)$
(KAKUNIN:"図で確認"/**/,
xm:-2, xM:2, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
p1:points([pxL,poL]),p2:points([poL,p1L]),print([p1,p2,"[[原点,始点],[原点,終点]]"]),
gd1:if dg1>=0 then parametric((1+abs(t)/720)/5*cosd(t),(1+abs(t)/720)/5*sind(t),t,0,dg1) else parametric((1+abs(-t)/720)/5*cosd(-t),(1+abs(-t)/720)/5*sind(-t),t,0,-dg1)/**/,print([gd1,"[回転角度の線図]"]),
gr1:if rd1>=0 then parametric((5+abs(t)/40)/5*cos(t),(5+abs(t)/40)/5*sin(t),t,0,rd1) else parametric((5+abs(-t)/40)/5*cos(-t),(5+abs(-t)/40)/5*sin(-t),t,0,-rd1)/**/,print([gr1,"[回転弧度の線図]"]),
yL:[[0,ym],[0,yM]]/*y軸*/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,line_width=2,gr1,p2/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,p1,gd1/*与えられたもの*/
/**/) /* "青が与えられたもの、赤が求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"1回転が、度数では360°、弧度では( )となり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・練習3 103 1ラジアンは、度数では"/*(◆修正部分1)*/,
rd1:1,print([rd1,"[問題による]"])/*(◆修正部分2)*/,
dg1:deg(rd1),poL:[0,0],pxL:[1,0],p1L:[cosd(dg1),sind(dg1)],print(p1L)/*(◆修正部分2)*/,
ansl:[rd1,dg1,"[指定の弧度、角度]"],print(ansl)/*(◆修正部分2)*/
◆コマンド番号104
●弧度法
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,y,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・練習4 104 210°は、ラジアンでは"/*(◆修正部分1)*/,
KOUSATU:"1回転が、度数では360°、弧度では・・・"/**/)$
(KANSUU:"",
sind(d):=sin(d/180*%pi)/*度数sin*/,cosd(d):=cos(d/180*%pi)/*度数cos*/,tand(d):=tan(d/180*%pi)/*度数tan*/,
deg(r):=r/%pi*180/*弧度>度数g*/,rad(d):=d/180*%pi/*度数>弧度d*/,
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
rpl(p1l,e):=block([ansl,e1,ne1l,Ne1l,d12,p2l],e1:expand(lhs(e)-rhs(e)),
/**/ne1l:[coeff(e1,x,1),coeff(e1,y,1)],Ne1l:ne1l/sqrt(ne1l.ne1l),
/**/d12:dpe(p1l,e),p2l:p1l+d12*Ne1l,ansl:p2l)/*p1lからeに垂線を下した点*/,
dpe(p1l,e):=block([ans,e1,a,b],e1:expand(lhs(e)-rhs(e)),
/**/a:coeff(e1,x,1),b:coeff(e1,y,1),
/**/d13:-subst([x=p1l[1],y=p1l[2]],e1)/sqrt(a^2+b^2),ans:d13)/*p1lからeまでの(a,b)/sqrt(a^2+b^2)方向の距離*/,
r2e(p1l,p2l):=block([anse,p3l,gr],p3l:(p1l+p2l)/2,gr:p2l-p1l,anse:gr[1]*(x-p3l[1])+gr[2]*(y-p3l[2])=0)/*垂直二等分線*/,
el(p1l):=block([ansl,l],l:sqrt(p1l[1]^2+p1l[2]^2),ansl:p1l/l)/*単位ベクトル化*/,
scl(e,x):=block([ansl,e1,a,b,c],e1:expand(e),a:coeff(e1,x,2),b:coeff(e1,x,1),c:coeff(e1,x,0),/*print([e1,a,b,c]),*/ansl:[a*(x+b/(2*a))^2,-b^2/(4*a)+c,-b/(2*a)])/*平方完成*/
)$
(TEJUN:"",
declare(x,real,y,real),
dg1:210,print([dg1,"[問題による]"])/*(◆修正部分2)*/,
rd1:rad(dg1),poL:[0,0],pxL:[1,0],p1L:[1*cosd(dg1),1*sind(dg1)],print(p1L)/**/,
ansl:[dg1,rd1,"[指定の角度、弧度]"],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
xm:-2, xM:2, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
p1:points([pxL,poL]),p2:points([poL,p1L]),print([p1,p2,"[[原点,始点],[原点,終点]]"]),
gd1:if dg1>=0 then parametric((1+abs(t)/720)/5*cosd(t),(1+abs(t)/720)/5*sind(t),t,0,dg1) else parametric((1+abs(-t)/720)/5*cosd(-t),(1+abs(-t)/720)/5*sind(-t),t,0,-dg1)/**/,print([gd1,"[回転角度の線図]"]),
gr1:if rd1>=0 then parametric((5+abs(t)/40)/5*cos(t),(5+abs(t)/40)/5*sin(t),t,0,rd1) else parametric((5+abs(-t)/40)/5*cos(-t),(5+abs(-t)/40)/5*sin(-t),t,0,-rd1)/**/,print([gr1,"[回転弧度の線図]"]),
yL:[[0,ym],[0,yM]]/*y軸*/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,line_width=2,gr1,p2/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,p1,gd1/*与えられたもの*/
/**/) /* "青が与えられたもの、赤が求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"1回転が、度数では360°、弧度では( )となり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・練習4 104 330°は、ラジアンでは"/*(◆修正部分1)*/,
dg1:330,print([dg1,"[問題による]"])/*(◆修正部分2)*/,
D. 弧度法と扇形
◆コマンド番号105
●弧度法と扇形
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例2・練習5 105 半径10、中心角π/6の扇形の弧の長さ、面積は"/*(◆修正部分1)*/,
KOUSATU:"円の面積はπr^2で、円の中心角は2πだから、1ラジアンの扇形はπr^2/(2π)となるので、・・・"/**/)$
(KANSUU:"",
sind(d):=sin(d/180*%pi)/*度数sin*/,cosd(d):=cos(d/180*%pi)/*度数cos*/,tand(d):=tan(d/180*%pi)/*度数tan*/,
deg(r):=r/%pi*180/*弧度r>度数*/,rad(d):=d/180*%pi/*度数d>弧度*/,
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
rpl(p1l,e):=block([ansl,e1,ne1l,Ne1l,d12,p2l],e1:expand(lhs(e)-rhs(e)),
/**/ne1l:[coeff(e1,x,1),coeff(e1,y,1)],Ne1l:ne1l/sqrt(ne1l.ne1l),
/**/d12:dpe(p1l,e),p2l:p1l+d12*Ne1l,ansl:p2l)/*p1lからeに垂線を下した点*/,
dpe(p1l,e):=block([ans,e1,a,b],e1:expand(lhs(e)-rhs(e)),
/**/a:coeff(e1,x,1),b:coeff(e1,y,1),
/**/d13:-subst([x=p1l[1],y=p1l[2]],e1)/sqrt(a^2+b^2),ans:d13)/*p1lからeまでの(a,b)/sqrt(a^2+b^2)方向の距離*/,
r2e(p1l,p2l):=block([anse,p3l,gr],p3l:(p1l+p2l)/2,gco:p2l-p1l,anse:gr[1]*(x-p3l[1])+gr[2]*(y-p3l[2])=0)/*垂直二等分線*/,
el(p1l):=block([ansl,l],l:sqrt(p1l[1]^2+p1l[2]^2),ansl:p1l/l)/*単位ベクトル化*/,
scl(e,x):=block([ansl,e1,a,b,c],e1:expand(e),a:coeff(e1,x,2),b:coeff(e1,x,1),c:coeff(e1,x,0),/*print([e1,a,b,c]),*/ansl:[a*(x+b/(2*a))^2,-b^2/(4*a)+c,-b/(2*a)])/*平方完成*/
)$
(TEJUN:"",
declare(x,real,y,real),
r1:10,rd1:%pi/6,print([r1,rd1,"[問題での半径、中心角]"])/*(◆修正部分2)*/,
l1:r1*rd1,s1:%pi*r1^2,s2:s1/(2*%pi)*rd1,poL:[0,0],pxL:[r1,0],p1L:[r1*cos(rd1),r1*sin(rd1)],print([pxL,p1L,"[角の始点、終点]"])/**/,
ansl:[rd1,l1,s2,"[指定の弧度、弧の長さ,扇形の面積(=半径*半径*弧/2)]"],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
p1:points([pxL,poL]),p2:points([pxL,poL,p1L]),print([p1,p2,"[[始点,原点],[始点,原点,終点]]"]),
gr:parametric(r1*cos(t),r1*sin(t),t,0,2*%pi) ,
gr1:parametric(r1*cos(t),r1*sin(t),t,0,rd1) ,
yL:[[0,ym],[0,yM]]/*y軸*/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,line_width=2,gr1,p2/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,line_width=1,p1,p2,gr/*与えられたもの*/
/**/) /* "青が与えられたもの、赤が求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"1回転が、度数では360°、弧度では( )となり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例2・練習5 105 半径6、中心角7/6*πの扇形の弧の長さ、面積は"/*(◆修正部分1)*/,
r1:6,rd1:7/6*%pi,print([r1,rd1,"[問題での半径、中心角]"])/*(◆修正部分2)*/,
:
2.三角関数
A. 三角関数
◆コマンド番号201
●4/3*πの正弦、余弦、正接
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例3・練習6 201 4/3*πの正弦、余弦、正接は"/*(◆修正部分1)*/,
KOUSATU:"半径2の円で考えると、点(2,0)を4/3*π回転させた点は、反時計回りに半回転と1/3*π回転の点となるので、・・・"/*(◆修正部分1)*/)$
(KANSUU:"",
sind(d):=sin(d/180*%pi)/*度数sin*/,cosd(d):=cos(d/180*%pi)/*度数cos*/,tand(d):=tan(d/180*%pi)/*度数tan*/,
deg(r):=r/%pi*180/*弧度r>度数*/,rad(d):=d/180*%pi/*度数d>弧度*/,
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
rpl(p1l,e):=block([ansl,e1,ne1l,Ne1l,d12,p2l],e1:expand(lhs(e)-rhs(e)),
/**/ne1l:[coeff(e1,x,1),coeff(e1,y,1)],Ne1l:ne1l/sqrt(ne1l.ne1l),
/**/d12:dpe(p1l,e),p2l:p1l+d12*Ne1l,ansl:p2l)/*p1lからeに垂線を下した点*/,
dpe(p1l,e):=block([ans,e1,a,b],e1:expand(lhs(e)-rhs(e)),
/**/a:coeff(e1,x,1),b:coeff(e1,y,1),
/**/d13:-subst([x=p1l[1],y=p1l[2]],e1)/sqrt(a^2+b^2),ans:d13)/*p1lからeまでの(a,b)/sqrt(a^2+b^2)方向の距離*/,
r2e(p1l,p2l):=block([anse,p3l,gr],p3l:(p1l+p2l)/2,gco:p2l-p1l,anse:gr[1]*(x-p3l[1])+gr[2]*(y-p3l[2])=0)/*垂直二等分線*/,
el(p1l):=block([ansl,l],l:sqrt(p1l[1]^2+p1l[2]^2),ansl:p1l/l)/*単位ベクトル化*/,
scl(e,x):=block([ansl,e1,a,b,c],e1:expand(e),a:coeff(e1,x,2),b:coeff(e1,x,1),c:coeff(e1,x,0),/*print([e1,a,b,c]),*/ansl:[a*(x+b/(2*a))^2,-b^2/(4*a)+c,-b/(2*a)])/*平方完成*/
)$
(TEJUN:"",
declare(x,real,y,real),
r1:2,rd1:4/3*%pi,print([r1,rd1,"[問題での半径、中心角]"])/*(◆修正部分2)*/,
poL:[0,0],pxL:[r1,0],
p1L:[-r1*cos(rd1-%pi),-r1*sin(rd1-%pi)],pRL:[r1*cosR,r1*sinR],scl:solve(pRL[1]=p1L[1],cosR),ssl:solve(pRL[2]=p1L[2],sinR)/**/,
stl:[tanR=rhs(ssl[1])/rhs(scl[1])],
ansl:[rd1,scl,ssl,stl,"[指定の弧度、余弦、正弦、正接]"],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
p1:points([pxL,poL]),p2:points([pxL,poL,p1L]),print([p1,p2,"[[始点,原点],[始点,原点,終点]]"]),
gr:parametric(r1*cos(t),r1*sin(t),t,0,2*%pi) ,
gr1:if rd1>=0 then parametric(r1*cos(t),r1*sin(t),t,0,rd1) else parametric(r1*cos(-t),r1*sin(-t),t,0,-rd1),
p4:4*%pi,gr2:if rd1>=0 then parametric(r1/4*(1+abs(t)/p4)*cos(t),r1/4*(1+abs(t)/p4)*sin(t),t,0,rd1) else parametric(r1/4*(1+abs(-t)/p4)*cos(-t),r1/4*(1+abs(-t)/4p)*sin(-t),t,0,-rd1)/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,line_width=2,gr1,gr2,p2/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,line_width=1,p1,p2,gr/*与えられたもの*/
/**/) /* "青が与えられたもの、赤が求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"半径2の円で考えると、点(2,0)を反時計回りに半回転と1/3*π回転させた点の座標は、( )となるので、・・・"/*(◆修正部分3)*/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例3・練習6 201 -1/3*πの正弦、余弦、正接は"/*(◆修正部分1)*/,
KOUSATU:"半径2の円で考えると、点(2,0)を-1/3*π回転させた点は、時計回りに1/3*π回転の点となるので、・・・"/*(◆修正部分1)*/)$
r1:2,rd1:-1/3*%pi,print([r1,rd1,"[問題での半径、中心角]"])/*(◆修正部分2)*/,
SUJIMITI:"半径2の円で考えると、点(2,0)を-1/3*π回転させた点の座標は、( )となるので、・・・"/*(◆修正部分3)*/,
◆コマンド番号202
●動径と象限
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・練習7 202 sin(t)< 0 かつ cos(t)> 0 となるtの動径の象限は"/*(◆修正部分1)*/,
KOUSATU:"単位円において、y座標がマイナスで、かつx座標がプラスの部分となるので、・・・"/*(◆修正部分1)*/)$
(KANSUU:"",
sind(d):=sin(d/180*%pi)/*度数sin*/,cosd(d):=cos(d/180*%pi)/*度数cos*/,tand(d):=tan(d/180*%pi)/*度数tan*/,
deg(r):=r/%pi*180/*弧度r>度数*/,rad(d):=d/180*%pi/*度数d>弧度*/,
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
V2pi:2*%pi)$
(TEJUN:"",
tiq1:sin(t)< 0,tiq2:cos(t)>0,print(tiq1,tiq2,"問題での不等式1、不等式2")/*(◆修正部分2)*/,
tiq1l:[sin,t,"<",0],tiq2l:[cos,t,">",0]/*(◆修正部分2)*/,
tsi1l:tsiql(tiq1l),print(tsi1l,"基本区間,不等式1の解"),tsi2l:tsiql(tiq2l),print(tsi2l,"基本区間,不等式2の解"),
st1l:[tsi1l[2][1][1],tsi1l[2][2][3]],st2l:[tsi2l[2][1][1],tsi2l[2][2][3],tsi2l[3][1][1],tsi2l[3][2][3]],
ansl:[tsi1l[1],[[st2l[3],"<",t],[t,"<",st2l[4]]],"基本区間,不等式1,2の解の共通部分、第4象限"],print(ansl))$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,V2pi),
pt11l:[points([[cos(st1l[1]),sin(st1l[1])],[cos(st1l[2]),sin(st1l[2])]])],
pt20l:[points([0.95*[cos(st2l[1]),sin(st2l[1])],1.05*[cos(st2l[4]),sin(st2l[4])]])],pt21l:[points([[cos(st2l[2]),sin(st2l[2])],[cos(st2l[3]),sin(st2l[3])]])],
gr1l:[parametric(cos(t),sin(t),t,st1l[1],st1l[2])],gr2l:[parametric(cos(t),sin(t),t,st2l[1],st2l[2]),parametric(cos(t),sin(t),t,st2l[3],st2l[4])],
print(gr0,"単位円"),print(gr1l,"解の弧"),print(pt11l,pt20l,pt21l,"弧の端点1,2,3"),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=false, color=red, point_type=filled_circle, point_size=2,pt20l[1],point_type=circle,pt21l[1],line_width=4,gr2l[1],gr2l[2]/*求めるもの*//**//*(◆修正部分3)*/,
/**/points_joined=false, color=cyan, point_type=circle, point_size=2,pt11l[1],line_width=2,gr1l[1]/*求めるもの*//**/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0/*与えられたもの*/
/**/) /* "青が与えられたもの、赤とシアンが重なったところが求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"単位円において、y座標がマイナスで、かつx座標がプラスの部分となる端点の座標は、( )と( )なるので、・・・"/*(◆修正部分4)*/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・練習7 202 cos(t)< 0 かつ tan(t)> 0 となるtの動径の象限は"/*(◆修正部分1)*/,
KOUSATU:"単位円において、x座標がマイナスで、かつx座標とy座標が同符号となるので、・・・"/*(◆修正部分1)*/)$
tiq1:cos(t)< 0,tiq2:tan(t)>0,print(tiq1,tiq2,"問題での不等式1、不等式2")/*(◆修正部分2)*/,
tiq1l:[cos,t,"<",0],tiq2l:[tan,t,">",0]/*(◆修正部分2)*/,
/**/points_joined=false, color=red, point_type=circle, point_size=2,pt20l[1],point_type=circle,pt21l[1],line_width=4,gr2l[1],gr2l[2]/*求めるもの*//**//*(◆修正部分3)*/,
SUJIMITI:"単位円において、x座標がマイナスで、かつx座標とy座標が同符号となる端点の座標は、( )と( )なるので、・・・"/*(◆修正部分4)*/,
B. 三角関数の相互関係
◆コマンド番号203
●三角関数の相互関係
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例題1・練習8 203 tの動径が第3象限にあり、cos(t)=-3/5のとき、sin(t),tan(t)の値は"/*(◆修正部分1)*/,
KOUSATU:"単位円における動径の位置から、sin(t)の正負を判断し、相互関係から、・・・"/*(◆修正部分1)*/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
V2pi:2*%pi)$
(TEJUN:"",
algebraic:true,print("sint^2+cost^2=1 , tant=sint/cost")/*関係式*/,
sg:3,cost:-3/5,spm:-1,print([sg,cost,spm,"[象限,costの値,問題の象限からsinの正負]"])/*(◆修正部分2)*/,
sint:rat(spm*sqrt(1-cost^2)),tant:rat(sint/cost),eq1:x=cost/*(◆修正部分2)*/,
ansl:[sint,tant,["sintの値,tantの値"]],print(ansl)/*(◆修正部分2)*/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
st:acos(cost), st1:V2pi-st/*(◆修正部分3)*/,
print([st,st1,"[[0,%pi]での角度,第3象限での求める角度]"])/*(◆修正部分3)*/,
gr01:implicit(eq1,x,xm,xM,y,ym,yM)/*(◆修正部分3)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,V2pi),
pt11l:[points([[0,0],[cos(st1),sin(st1)]])],
gr1:parametric(cos(t),sin(t),t,0,st1),
print([gr0,"[単位円]"]),print([gr1,"[解の弧]"]),print([pt11l,"[解の対応点]"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,pt11l[1],line_width=2,gr1/*求めるもの*//**/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,gr01/*与えられたもの*/
/**/) /* "青が与えられたもの、赤とシアンが重なったところが求めるもの(〇〇修正時y,y2の定義域変更に注意)" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"単位円における動径の位置から、sin(t)の正負は、( )となるので、・・・"/*(◆修正部分4)*/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例題1・練習8 203 tの動径が第4象限にあり、sin(t)=-1/3のとき、cos(t),tan(t)の値は"/*(◆修正部分1)*/,
KOUSATU:"単位円における動径の位置から、cos(t)の正負を判断し、相互関係から、・・・"/*(◆修正部分1)*/)$
sg:4,sint:-1/3,spm:1,print([sg,sint,spm,"[象限,sintの値,問題の象限からcosの正負]"])/*(◆修正部分2)*/,
cost:rat(spm*sqrt(1-sint^2)),tant:rat(sint/cost),eq1:y=sint/*(◆修正部分2)*/,
ansl:[cost,tant,["costの値,tantの値"]],print(ansl)/*(◆修正部分2)*/
st:asin(sint), st1:st+V2pi/*(◆修正部分3)*/,
print([st,st1,"[[-%pi/2,%pi/2]での角度,第3象限での求める角度]"])/*(◆修正部分3)*/,
gr01:implicit(eq1,x,xm,xM,y,ym,yM)/*(◆修正部分3)*/,
SUJIMITI:"単位円における動径の位置から、sin(t)の正負は、( )となるので、・・・"/*(◆修正部分4)*/,
◆コマンド番号204
●三角関数の相互関係
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例題2・練習9 204 tの動径が第4象限にあり、tan(t)=-2のとき、sin(t),cos(t)の値は"/*(◆修正部分1)*/,
KOUSATU:"単位円における動径の位置から、cos(t)の正負を判断し、相互関係から、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
V2pi:2*%pi)$
(TEJUN:"",
algebraic:true,print("tant^2+1=1/cost^2 , tant=sint/cost")/*関係式*/,
sg:4,tant:-2,spm:1,print([sg,tant,spm,"[象限,tantの値,問題の象限からcosの正負]"])/*(◆修正部分2)*/,
cost:rat(spm*1/sqrt(1+tant^2)),sint:rat(tant*cost),eq1:y=tant,eq2:x=1/**/,
ansl:[sint,cost,["sintの値,costの値"]],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
r1:3,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
st:atan(tant), st1:V2pi+st/*(◆修正部分3)*/,
print([st,st1,"[[-%pi/2,%pi/2]での角度,第4象限での求める角度]"])/*(◆修正部分3)*/,
gr01:implicit(eq1,x,xm,xM,y,ym,yM),gr02:implicit(eq2,x,xm,xM,y,ym,yM)/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,V2pi),
pt11l:[points([[0,0],[1,tant]]),points([[0,0],[cos(st1),sin(st1)]])],
gr1:parametric(cos(t),sin(t),t,0,st1),
print([gr0,"[単位円]"]),print([gr1,"[解の弧]"]),print([pt11l,"[解の対応点]"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,pt11l[2],line_width=2,gr1/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,pt11l[1],line_width=1,gr0,gr01,gr02/*与えられたもの*/
/**/) /* "青が与えられたもの、赤とシアンが重なったところが求めるもの(〇〇修正時y,y2の定義域変更に注意)" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"単位円における動径の位置から、cos(t)の正負は、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例題2・練習9 204 tの動径が第3象限にあり、tan(t)=3のとき、sin(t),cos(t)の値は"/*(◆修正部分1)*/,
sg:3,tant:3,spm:-1,print([sg,tant,spm,"[象限,tantの値,問題の象限からcosの正負]"])/*(◆修正部分2)*/,
st:atan(tant), st1:%pi+st/*(◆修正部分3)*/,
print([st,st1,"[[-%pi/2,%pi/2]での角度,第3象限での求める角度]"])/*(◆修正部分3)*/,
C. 三角関数を含む等式
◆コマンド番号205
●三角関数の相互関係
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例題3・練習10 205 sin(t)+cos(t)=1/2のとき、sin(t)*cos(t)の値は"/*(◆修正部分1)*/,
KOUSATU:"sin(t)^2+cos(t)^2=1などの関係式から、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
V2pi:2*%pi)$
(TEJUN:"",
algebraic:true,print("tant^2+1=1/cost^2 , tant=sint/cost")/*基本関係式*/,
eq:sint^2+cost^2=1,eq1:sint+cost=1/2,e:sint*cost,print([eq,eq1,e,"[基本関係式eq,仮定条件eq1,値を求める式e]"])/*(◆修正部分2)*/,
eq2:eq1^2,eq21:expand(eq2),eq22:subst(solve(eq,sint^2),eq21),eq23:ratsubst(V,e,eq22)/**/,sel:solve(eq23,V),
prl:[eq2,eq22,eq23,sel,["eq1^2,展開してeqで整理,eの値をVに,Vで解くと"]],print(prl)/**/,
ansl:[rhs(sel[1]),"[eの値]"],print(ansl)
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
sxyl:[cost=x,sint=y],eq:subst(sxyl,eq),eq1:subst(sxyl,eq1),eq22:subst(sxyl,eq22),
print([eq,eq1,eq22,"[基本関係式eq,仮定条件eq1,値を求める式eがeqとeq1の交点を通るとき]"])/**/,
syl:solve(subst(x=1,eq22),y),pt2:points([[1,rhs(syl[1])]]),print([syl,pt2,"[eq22でx=1のときのy(=V),その位置]"]),
gr01:implicit(eq1,x,xm,xM,y,ym,yM),gr02:implicit(eq22,x,xm,xM,y,ym,yM)/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,V2pi),
print([gr0,"[単位円]"]),print([gr01,"eq1"]),print([gr02,"eq22"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,pt2,line_width=2,gr02/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,gr01/*与えられたもの*/
/**/) /* "青が与えられたもの、赤とシアンが重なったところが求めるもの(〇〇修正時y,y2の定義域変更に注意)" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"sin(t)^2+cos(t)^2=1と仮定式から、sin(t)*cos(t)は、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例題3・練習10 205 sin(t)+cos(t)=sqrt(2)のとき、sin(t)*cos(t)の値は"/*(◆修正部分1)*/,
eq:sint^2+cost^2=1,eq1:sint+cost=sqrt(2),e:sint*cost,print([eq,eq1,e,"[基本関係式eq,仮定条件eq1,値を求める式e]"])/*(◆修正部分2)*/,
◆コマンド番号206
●三角関数の相互関係
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・応用例題1・練習11 206 sin(t)-cos(t)=aのとき、sin(t)*cos(t)、sin(t)^3-cos(t)^3の値は"/*(◆修正部分1)*/,
KOUSATU:"sin(t)^2+cos(t)^2=1などの関係式から、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
V2pi:2*%pi)$
(TEJUN:"",
algebraic:true,print("tant^2+1=1/cost^2 , tant=sint/cost")/*基本関係式*/,
eq:sint^2+cost^2=1,eq1:sint-cost=a,e1:sint*cost,e2:sint^3-cost^3,print([eq,eq1,e1,e2,"[基本関係式eq,仮定条件eq1,値を求める式e1,e2]"])/*(◆修正部分2)*/,
eq2:eq1^2,eq21:expand(eq2),eq22:subst(solve(eq,sint^2),eq21),eq23:ratsubst(V,e1,eq22)/**/,
sVl:solve(eq23,V),prl:[eq2,eq22,eq23,sVl,["eq1^2,展開してeqで整理,e1の値をVに,Vで解くと"]],print(prl)/**/,
e21:factor(e2),e211:sint-cost,e212:sint^2+sint*cost+cost^2/*(◆修正部分3)*/,
e2111:ratsubst(rhs(eq1),lhs(eq1),e211),
e2121:ratsubst(rhs(eq),lhs(eq),e212),e2122:ratsubst(rhs(sVl[1]),e1,e2121),e22:e2111*e2122,
pr1l:[e21,e211*e2121,e22,["e2を因数分解して,eqで整理,eq1,e1の値を代入して"]],print(pr1l)/**/,
ansl:[rhs(sVl[1]),e22,"[e1の値,e2の値]"],print(ansl)
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
sxyl:[cost=x,sint=y,a=1/2],eq:subst(sxyl,eq),eq1:subst(sxyl,eq1),e1q:subst(sxyl,e1=rhs(sVl[1])),e2q:subst(sxyl,e2=e22),
print([eq,eq1,e1q,e2q,"[[cost=x,sint=y,a=1/2]として基本関係式eq,仮定条件eq1,式e1,e2のeqとeq1の交点での値]"])/**/,
gr01:implicit(eq1,x,xm,xM,y,ym,yM),gr021:implicit(e1q,x,xm,xM,y,ym,yM),gr022:implicit(e2q,x,xm,xM,y,ym,yM)/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,V2pi),
print([gr0,"[単位円]"]),print([gr01,"eq1"]),print([gr021,"e1q"]),print([gr022,"e2q"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=2,line_width=2,gr021,gr022/*求めるもの*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,gr01/*与えられたもの*/
/**/) /* "青が与えられたもの、赤とシアンが重なったところが求めるもの(〇〇修正時y,y2の定義域変更に注意)" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"sin(t)^2+cos(t)^2=1と仮定式から、sin(t)*cos(t)は、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・応用例題1・練習11 206 sin(t)+cos(t)=aのとき、sin(t)^3+cos(t)^3の値は"/*(◆修正部分1)*/,
eq:sint^2+cost^2=1,eq1:sint+cost=a,e1:sint*cost,e2:sint^3+cost^3,print([eq,eq1,e1,e2,"[基本関係式eq,仮定条件eq1,値を求める式e1,e2]"])/*(◆修正部分2)*/,
e21:factor(e2),e211:sint+cost,e212:sint^2-sint*cost+cost^2/*(◆修正部分3)*/,
◆コマンド番号207
●三角関数の相互関係
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・応用例題2・練習12 207 tan(t)+1/tan(t)=1/(sin(t)*cos(t))の証明は"/*(◆修正部分1)*/,
KOUSATU:"tan(t)=sin(t)/cos(t),sin(t)^2+cos(t)^2=1などの関係式から、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
V2pi:2*%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
leq:tant+1/tant,req:1/(sint*cost),print([leq,req,"[等式左辺leq,右辺req]"])/*(◆修正部分2)*/,
leq1:subst(tant=sint/cost,leq),leq2:xthru(leq1),leq3:subst(cost^2=1-sint^2,leq2),leqC:leq3,print([leq1,leq2,leq3,"[左辺にtant=を代入、通分、cost^2=を代入]"])/*(◆修正部分2)*/,
if leqC=req then ansl:[leq,"=",req,"[左辺,=,右辺]"] else ansl:[leq3,"≠",req,"[左辺,≠,右辺]"],print(ansl)
)$
(KAKUNIN:"図で確認"/**/,
r1:10,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
leq:subst([sint=sin(t),cost=cos(t),tant=tan(t)],leq),req:subst([cost=cos(t),sint=sin(t),tant=tan(t)],req),print([leq,req,"[tant=tan(t),cost=cos(t),sint=sin(t)とした左辺、右辺"]),
gr1:parametric(leq*cos(t),leq*sin(t),t,V2pi/4+0.1,V2pi/2-0.1),gr2:parametric(req*cos(t),req*sin(t),t,V2pi/4+0.1,V2pi/2-0.1)/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,V2pi),
print([gr0,"[単位円]"]),print([gr1,"左辺leqの極形式表示(第2象限)"]),print([gr2,"左辺reqの極形式表示(第2象限)"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=4,line_width=4,gr2/*右辺*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle, point_size=2,line_width=2,gr1/*左辺*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0/*与えられたもの*/
/**/) /* "青が与えられたもの、赤とシアンが重なれば与式が成立(〇〇修正時y,y2の定義域変更に注意)" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"sin(t)^2+cos(t)^2=1と仮定式から、sin(t)*cos(t)は、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・応用例題2・練習12 207 tan(t)^2-sin(t)^2=tan(t)^2*sin(t)^2の証明は"/*(◆修正部分1)*/,
leq:tant^2-sint^2,req:tant^2*sint^2,print([leq,req,"[等式左辺leq,右辺req]"])/*(◆修正部分2)*/,
leq1:subst(tant=sint/cost,leq),leq2:xthru(leq1),leq3:subst(cost^2=1-sint^2,leq2),leq4:expand(leq3),leqC:leq4,print([leq1,leq2,leq3,leq4,"[左辺にtant=を代入、通分、cost^2=を代入、展開]"])/*(◆修正部分2)*/,
req1:subst(tant=sint/cost,req),req2:subst(cost^2=1-sint^2,req1),reqC:req2,print([req1,req2,"[右辺にtant=を代入、cost^2=を代入]"])/*(◆修正部分2)*/,
:
3.三角関数のグラフ
A. 三角関数のグラフ
◆コマンド番号301
●y=sin(t)のグラフ
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・ 301 y=sin(t)のグラフは"/*(◆修正部分1)*/,
KOUSATU:"円周上における弧度tの点のt座標がcos(t)、y座標がsin(t)だから、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
f:sin(t),print([f,"[関数sin(t)]"])/*(◆修正部分2)*/,
p:2*Pi/3,poL:[0,0],ptL:[cos(p),sin(p)],ptpL:[p,0],pt1L:[p,subst(t=p,f)],print([rd,poL,ptL,ptpL,pt1L,"[弧度、原点、円周上の弧度点、t軸上の弧度点、グラフ上の弧度対応点"])
)$
(KAKUNIN:"図で確認"/**/,
r1:2*Pi,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
gr2:explicit(f,t,xm,xM)/**/,
pol:points([poL,ptL]),p1l:points([poL,ptpL]),p2l:points([ptpL,pt1L])/*(◆修正部分3)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,2*Pi),gr1:parametric(cos(t),sin(t),t,0,p),
print([gr0,"[単位円]"]),print([gr1,"関数sin(t)"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*//*(◆修正部分4)*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=1,line_width=2,p2l,gr2/*関数sin(t)*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle, point_size=1,line_width=2,p1l,gr1/*関数sin(t)*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,pol,line_width=1,gr0/*与えられたもの*/
/**/) /* "青が与えられたもの、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"弧度1/6*%pi,1/4*%pi,1/3*%pi,1/2*%pi,・・・の点のt座標,y座標は、( )・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・ 301 y=cos(t)のグラフは"/*(◆修正部分1)*/,
f:cos(t),print([f,"[関数cos(t)]"])/*(◆修正部分2)*/,
pol:points([poL,ptL]),p1l:points([poL,ptpL]),p2l:points([ptpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*//*(◆修正部分4)*/,
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・ 301 y=tan(t)のグラフは"/*(◆修正部分1)*/,
f:tan(t),print([f,"[関数tan(t)]"])/*(◆修正部分2)*/,
tL:[[1,ym],[1,yM]],pt2L:[1,pt1L[2]]/*tan軸*//*(◆修正部分3)*/,
pol:points([poL,ptL,pt2L]),p1l:points([poL,ptpL]),p2l:points([ptpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*//*(◆修正部分4)*/,
/**/color=cyan,points_joined=true,points(tL),points_joined=false/*tan軸*//*(◆修正部分4)*/,
B. いろいろな三角関数のグラフ
◆コマンド番号302
●y=sin(t-Pi/3)三角関数のグラフ
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例4・練習13 302 y=sin(t-Pi/3)のグラフは"/*(◆修正部分1)*/,
KOUSATU:"t-Pの三角関数は、t=Pのとき、tの三角関数のt=0での値をとる。グラフはt方向にP移動するので、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
P:Pi/3,f:sin(t-Pi/3),print([f,"[関数sin(t-Pi/3)]"])/*(◆修正部分2)*/,
p:2*Pi/3,poL:[0,0],ptL:[cos(p),sin(p)],ptPL:[P,0],ptPpL:[P+p,0],pt1L:[P+p,subst(t=P+p,f)],print([p,P,poL,ptL,ptPL,ptPpL,pt1L,"[弧度、位相、原点、円周上の弧度点、t軸上の位相点、t軸上の位相弧度点、グラフ上の位相弧度点"])
)$
(KAKUNIN:"図で確認"/**/,
r1:2*Pi,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
gr2:explicit(f,t,xm,xM)/**/,
pol:points([poL,ptL]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,2*Pi),gr1:parametric(cos(t),sin(t),t,0,p),
print([gr0,"[単位円]"]),print([gr1,"関数sin(t)"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=1,p2l,line_width=1,gr2/*関数sin(t)*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle, point_size=1,p1l,line_width=2,gr1/*弧度*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,pol,line_width=1,gr0/*与えられたもの*/
/**/) /* "青が与えられたもの、シアンが弧度、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"t-Pの三角関数は、t=Pのとき、そのグラフのy座標は、基本の三角関数でのt=( )での値となり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例4・練習13 302 y=cos(t-Pi/3)のグラフは"/*(◆修正部分1)*/,
P:Pi/3,f:cos(t-P),print([f,"[関数cos(t-Pi/3)]"])/*(◆修正部分2)*/,
pol:points([poL,ptL]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例4・練習13 302 y=tan(t-Pi/4)のグラフは"/*(◆修正部分1)*/,
P:Pi/4,f:tan(t-P),print([f,"[関数tan(t-Pi/4)]"])/*(◆修正部分2)*/,
tL:[[1,ym],[1,yM]],pt2L:[1,pt1L[2]]/*tan軸*//*(◆修正部分3)*/,
pol:points([poL,ptL,pt2L]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
/**/color=cyan,points_joined=true,points(tL)/*tan軸*//*(◆修正部分4)*/,
◆コマンド番号303
●y=2*sin(t)三角関数のグラフ
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例5・練習14 303 y=2*sin(t)のグラフは"/*(◆修正部分1)*/,
KOUSATU:"tの三角関数のn倍のグラフは、tの三角関数のグラフがy方向にn倍になるので、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
P:0,f:2*sin(t-P),print([f,"[関数2*sin(t)]"])/*(◆修正部分2)*/,
p:2*Pi/3,poL:[0,0],ptL:[cos(p),sin(p)],ptPL:[P,0],ptPpL:[P+p,0],pt1L:[P+p,subst(t=P+p,f)],print([p,poL,ptL,ptPpL,pt1L,"[弧度、原点、円周上の弧度点、t軸上の弧度点、グラフ上の弧度点"])
)$
(KAKUNIN:"図で確認"/**/,
r1:2*Pi,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
gr2:explicit(f,t,xm,xM)/**/,
pol:points([poL,ptL]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,2*Pi),gr1:parametric(cos(t),sin(t),t,0,p),
print([gr0,"[単位円]"]),print([gr1,"関数sin(t)"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=1,p2l,line_width=1,gr2/*関数sin(t)*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle, point_size=1,p1l,line_width=2,gr1/*弧度*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,pol,line_width=1,gr0/*与えられたもの*/
/**/) /* "青が与えられたもの、シアンが弧度、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"tの三角関数のn倍のグラフは、そのy座標が基本の三角関数の値の( )となり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例5・練習14 303 y=2*cos(t)のグラフは"/*(◆修正部分1)*/,
P:0,f:2*cos(t-P),print([f,"[関数2*cos(t)]"])/*(◆修正部分2)*/,
pol:points([poL,ptL]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例5・練習14 303 y=1/2*tan(t)のグラフは"/*(◆修正部分1)*/,
P:0,f:1/2*tan(t-P),print([f,"[関数1/2*tan(t)]"])/*(◆修正部分2)*/,
tL:[[1,ym],[1,yM]],pt2L:[1,ptL[2]/ptL[1]],pt3L:[1,pt1L[2]]/*tan軸*//*(◆修正部分3)*/,
pol:points([poL,ptL,pt2L,pt3L]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
/**/color=cyan,points_joined=true,points(tL)/*tan軸*//*(◆修正部分4)*/,
◆コマンド番号304
●y=sin(2*t)三角関数のグラフ
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例6・練習15 304 y=sin(2*t)のグラフは"/*(◆修正部分1)*/,
KOUSATU:"tのn倍三角関数のグラフは、t=2*%pi/nのときに、tの三角関数のt=2*%piでの値をy座標とするので、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
n:2,P:0,f:sin(n*(t-P)),print([f,"[関数sin(2*t)]"])/*(◆修正部分2)*/,
po:5*Pi/6,p:(po+P)/n,poL:[0,0],ptL:[cos(po),sin(po)],ptPL:[P,0],ptPpL:[p,0],pt1L:[p,subst(t=p,f)],print([p,po,poL,ptL,ptPpL,pt1L,"[弧度、基本関数での弧度、原点、円周上の弧度点(基本関数)、t軸上の弧度点、グラフ上の弧度点"])
)$
(KAKUNIN:"図で確認"/**/,
r1:2*Pi,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
gr2:explicit(f,t,xm,xM)/**/,
pol:points([poL,ptL]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,2*Pi),gr1:parametric(cos(t),sin(t),t,0,p),
print([gr0,"[単位円]"]),print([gr1,"関数sin(t)"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
/**/points_joined=true, color=red, point_type=filled_circle, point_size=1,p2l,line_width=1,gr2/*関数sin(t)*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle, point_size=1,p1l,line_width=2,gr1/*弧度*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle, point_size=1,pol,line_width=1,gr0/*与えられたもの*/
/**/) /* "青が与えられたもの、シアンが弧度、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"tのn倍三角関数のグラフは、x軸方向が、y軸を基準に1/nとなり、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例6・練習15 304 y=cos(2*t)のグラフは"/*(◆修正部分1)*/,
n:2,P:0,f:cos(n*(t-P)),print([f,"[関数cos(2*t)]"])/*(◆修正部分2)*/,
pol:points([poL,ptL]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例6・練習15 304 y=tan(2*t)のグラフは"/*(◆修正部分1)*/,
n:2,P:0,f:tan(n*(t-P)),print([f,"[関数tan(2*t)]"])/*(◆修正部分2)*/,
tL:[[1,ym],[1,yM]],pt2L:[1,ptL[2]/ptL[1]],pt3L:[1,pt1L[2]]/*tan軸*//*(◆修正部分3)*/,
pol:points([poL,ptL,pt2L,pt3L]),p1l:points([ptPL,ptPpL]),p2l:points([ptPpL,pt1L])/*(◆修正部分3)*/,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//*(◆修正部分4)*/,
/**/color=cyan,points_joined=true,points(tL)/*tan軸*//*(◆修正部分4)*/,
:
4.三角関数の性質
A. 三角関数で成り立つ性質
◆コマンド番号401
●三角関数で成り立つ性質
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例7 401 sin(13*%pi/3)の値は"/*(◆修正部分1)*/,
KOUSATU:"三角関数の値は、弧度を周期で整除した余りでの三角関数の値と等しいので、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
t0:13*Pi/3,fl:[sin(t),t0],t1:mod(t0,2*Pi)/*(◆修正部分2)*/,
f1l:[fl[1],t1],ansl:[fl,f1l,subst(t=f1l[2],f1l[1]),"[与弧度での関数、周期でi整除の余りでの関数、関数値]"],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
poL:[0,0],p0L:[cos(t0),sin(t0)],p1L:[cos(t1),sin(t1)],p12L:[1,tan(t1)],p13L:[1,0],gr0:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t0),
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
pol:points([poL,p0L]),p1l:points([poL,p1L])/*(◆修正部分4)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr0,"弧度t0"]),print([gr1,"弧度t1"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=2,p1l,gr1/*弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=1,gr0/*弧度t0*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"弧度を周期( )で整除した余りは( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例7 401 tan(7*%pi/3)の値は"/*(◆修正部分1)*/,
t0:7*Pi/3,fl:[tan(t),t0],t1:mod(t0,Pi)/*(◆修正部分2)*/,
r1:2,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
pol:points([poL,p0L]),p1l:points([poL,p1L,p12L,p13L])/*(◆修正部分4)*/,
◆コマンド番号402
●-tとtの三角関数
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例8・例題16 402 sin(-%pi/3)の値は"/*(◆修正部分1)*/,
KOUSATU:"-tでの三角関数の値は、tでの三角関数の値と絶対値は等しく、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
t0:-Pi/3,fl:[sin(t),t0],t1:mod(-t0,2*Pi)/*(◆修正部分2)*/,
f1l:[if fl[1]=cos(t) then fl[1] else -fl[1],t1],ansl:[fl,f1l,subst(t=f1l[2],f1l[1]),"[与弧度での関数、周期で整除の正の余りでの関数、関数値]"],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
poL:[0,0],p0L:[cos(t0),sin(t0)],p1L:[cos(t1),-sin(t1)],p12L:[1,-tan(t1)],p13L:[1,0],gr0:parametric((0.5-0.01*t)*cos(-t),(0.5-0.01*t)*sin(-t),t,0,-t0),
gr1:parametric((0.5+0.01*t)*cos(t),-(0.5+0.01*t)*sin(t),t,0,t1),
pol:points([poL,p0L]),p1l:points([poL,p1L])/*(◆修正部分4)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr0,"弧度t0"]),print([gr1,"弧度t1"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=2,p1l,gr1/*弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=1,gr0/*弧度t0*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"弧度を周期( )で整除した余りは( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例8・例題16 402 sin(-%pi/3)の値は"/*(◆修正部分1)*/,
t0:-Pi/3,fl:[sin(t),t0],t1:mod(-t0,2*Pi)/*(◆修正部分2)*/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
pol:points([poL,p0L]),p1l:points([poL,p1L])/*(◆修正部分4)*/,
◆コマンド番号403
●πまでの正の角による三角関数への変換
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・ 403 sin(17*%pi/3)をπまでの正の角による三角関数で表し、その値は"/*(◆修正部分1)*/,
KOUSATU:"角度を%piで整除し商が奇数なら、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
t0:17*Pi/3,fl:[sin(t),t0],t1:mod(t0,Pi),t11:(t0-t1)/Pi/*(◆修正部分2)*/,
f1l:[if mod(t11,2) =0 then fl[1] else(if fl[1]#tan(t) then -fl[1] else fl[1]),t1],ansl:[fl,f1l,t11,t1,subst(t=f1l[2],f1l[1]),"[与弧度での関数、πで整除の余りでの関数、商、余、関数値]"],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
poL:[0,0],p0L:[cos(t0),sin(t0)],p1L:[cos(t1),sin(t1)],p12L:[1,tan(t1)],p13L:[1,0],
gr0:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t0),
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
pol:points([poL,p0L]),p1l:points([poL,p1L])/*(◆修正部分4)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr0,"弧度t0"]),print([gr1,"弧度t1"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=2,p1l,gr1/*弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=1,gr0/*弧度t0*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"弧度を%piで整除した余りは( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・ 403 tan(14*%pi/3)を鋭角三角関数で表し、その値は"/*(◆修正部分1)*/,
t0:14*Pi/3,fl:[tan(t),t0],t1:mod(t0,Pi),t11:(t0-t1)/Pi/*(◆修正部分2)*/,
r1:2,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
pol:points([poL,p0L]),p1l:points([poL,p1L,p12L,p13L])/*(◆修正部分4)*/,
◆コマンド番号404
●π/2までの正の角による三角関数への変換
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・ 404 sin(17*%pi/3)をπ/2までの正の角による三角関数で表し、その値は"/*(◆修正部分1)*/,
KOUSATU:"角度を%pi/2で整除し商が奇数なら、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
t0:17*Pi/3,fl:[sin(t),t0],t1:mod(t0,Pi/2),t11:(t0-t1)*2/Pi/*(◆修正部分2)*/,
if mod(t11,4)=0 then f1l:[fl[1],t1]
elseif mod(t11,4)=2 then (if fl[1]#tan(t) then f1l:[-fl[1],t1] else f1l:[fl[1],t1])
elseif mod(t11,4)=1 then (if fl[1]=sin(t) then f1l:[cos(t),t1] elseif fl[1]=cos(t) then f1l:[-sin(t),t1] else f1l:[-1/tan(t),t1])
elseif mod(t11,4)=3 then (if fl[1]=sin(t) then f1l:[-cos(t),t1] elseif fl[1]=cos(t) then f1l:[sin(t),t1] else f1l:[-1/tan(t),t1]),
ansl:[fl,f1l,t11,t1,subst(t=f1l[2],f1l[1]),"[与弧度での関数、π/2で整除の余りでの関数、商、余、関数値]"],print(ansl)/**/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
poL:[0,0],p0L:[cos(t0),sin(t0)],p1L:[cos(t1),sin(t1)],p12L:[1,tan(t0)],p13L:[1,0],
if mod(t11,2)=0 then (p14L:[1,tan(t1)],p15L:[1,0]) else (p14L:[1/tan(t1),1],p15L:[0,1]),
gr0:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t0),
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
pol:points([poL,p0L]),p1l:points([poL,p1L])/*(◆修正部分4)*/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr0,"弧度t0"]),print([gr1,"弧度t1"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=2,p1l,gr1/*弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=1,gr0/*弧度t0*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"弧度を%pi/2で整除した余りは( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・ 403 tan(14*%pi/3)を鋭角三角関数で表し、その値は"/*(◆修正部分1)*/,
t0:14*Pi/3,fl:[tan(t),t0],t1:mod(t0,Pi/2),t11:(t0-t1)*2/Pi/*(◆修正部分2)*/,
r1:2,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分3)*/,
pol:points([poL,p0L,p12L,p13L]),p1l:points([poL,p1L,p14L,p15L])/*(◆修正部分4)*/,
:
5.三角関数を含む方程式、不等式
A. 三角関数を含む方程式
◆コマンド番号501
●三角関数を含む方程式
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例9・練習17、18 501 0<=t< 2*%piのとき、2*cos(t)-1=0となるtは"/*(◆修正部分1)*/,
KOUSATU:"三角関数について解いてから、角度を求めると、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
X:cost,eq:2*X-1=0,sXl:solve(eq,X)/*(◆修正部分2)*/,
if X=cost then (st:acos(rhs(sXl[1])),stl:[st,2*Pi-st]),
if X=sint then (st:asin(rhs(sXl[1])),if st >=0 then stl:[st,Pi-st] else stl:[Pi-st,2*Pi+st]),
if X=tant then (st:atan(rhs(sXl[1])),if st >=0 then stl:[st,Pi+st] else stl:[Pi+st,2*Pi+st]),
ansl:[sXl,st,stl,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの弧度の解]"],print(ansl)/*(◆修正部分3)*/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
t1:stl[1],t2:stl[2],p1L:[cos(t1),sin(t1)],p2L:[cos(t2),sin(t2)],p3L:[1,0],/*p4L:[1,tan(t1)],p5L:[1,tan(t2)],*/
poL:[0,0],p0L:[rhs(sXl[1]),0],
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
gr2:parametric((0.49+0.01*t)*cos(t),(0.49+0.01*t)*sin(t),t,0,t2),
pol:points([poL]),p1l:points([poL,p0L,p1L,poL]),p2l:points([poL,p0L,p2L,poL])/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr1,"解1弧度t1"]),print([gr2,"解2弧度t2"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=3,p1l,gr1/*解1弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=2,p2l,gr2/*解2弧度t2*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"三角関数について解くと、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例9・練習17、18 501 0<=t< 2*%piのとき、sqrt(2)*cos(t)+1=0となるtは"/*(◆修正部分1)*/,
X:cost,eq:sqrt(2)*X+1=0,sXl:solve(eq,X)/*(◆修正部分2)*/,
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例9・練習17、18 501 2*cos(t)=-1となるtは"/*(◆修正部分1)*/,
X:cost,eq:2*X=-1,sXl:solve(eq,X)/*(◆修正部分2)*/,
stl1:stl+2*n*Pi,ansl:[sXl,st,stl1,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの弧度の解+2*nπ]"],print(ansl)/*(◆修正部分3)*/,
stl:subst(n=1,stl1)/*(◆修正部分3)*/
◆コマンド番号502
●三角関数を含む方程式
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例10・練習19、20 502 0<=t< 2*%piのとき、2*sin(t)+1=0となるtは"/*(◆修正部分1)*/,
KOUSATU:"三角関数について解いてから、角度を求めると、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
X:sint,eq:2*X+1=0,sXl:solve(eq,X)/*(◆修正部分2)*/,
if X=cost then (st:acos(rhs(sXl[1])),stl:[st,2*Pi-st]),
if X=sint then (st:asin(rhs(sXl[1])),if st >=0 then stl:[st,Pi-st] else stl:[Pi-st,2*Pi+st]),
if X=tant then (st:atan(rhs(sXl[1])),if st >=0 then stl:[st,Pi+st] else stl:[Pi+st,2*Pi+st]),
ansl:[sXl,st,stl,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの弧度の解]"],print(ansl)/*(◆修正部分3)*/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
t1:stl[1],t2:stl[2],p1L:[cos(t1),sin(t1)],p2L:[cos(t2),sin(t2)],p3L:[1,0],/*p4L:[1,tan(t1)],p5L:[1,tan(t2)],*/
poL:[0,0],p0L:[0,rhs(sXl[1])],
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
gr2:parametric((0.49+0.01*t)*cos(t),(0.49+0.01*t)*sin(t),t,0,t2),
pol:points([poL]),p1l:points([poL,p0L,p1L,poL]),p2l:points([poL,p0L,p2L,poL])/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr1,"解1弧度t1"]),print([gr2,"解2弧度t2"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=3,p1l,gr1/*解1弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=2,p2l,gr2/*解2弧度t2*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"三角関数について解くと、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例10・練習19、20 502 0<=t< 2*%piのとき、2*sin(t)=sqrt(3)となるtは"/*(◆修正部分1)*/,
X:sint,eq:2*X=sqrt(3),sXl:solve(eq,X)/*(◆修正部分2)*/,
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例10・練習19、20 502 sqrt(2)*sin(t)-1=0となるtは"/*(◆修正部分1)*/,
X:sint,eq:sqrt(2)*X-1=0,sXl:solve(eq,X)/*(◆修正部分2)*/,
stl1:stl+2*n*Pi,ansl:[sXl,st,stl1,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの弧度の解+2*nπ]"],print(ansl)/*(◆修正部分3)*/,
stl:subst(n=1,stl1)/*(◆修正部分3)*/
◆コマンド番号503
●三角関数を含む方程式
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例11・練習21 503 0<=t< 2*%piのとき、2*tan(t)=sqrt(3)となるtは"/*(◆修正部分1)*/,
KOUSATU:"三角関数について解いてから、角度を求めると、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
X:tant,eq:X=sqrt(3),sXl:solve(eq,X)/*(◆修正部分2)*/,
if X=cost then (st:acos(rhs(sXl[1])),stl:[st,2*Pi-st]),
if X=sint then (st:asin(rhs(sXl[1])),if st >=0 then stl:[st,Pi-st] else stl:[Pi-st,2*Pi+st]),
if X=tant then (st:atan(rhs(sXl[1])),if st >=0 then stl:[st,Pi+st] else stl:[Pi+st,2*Pi+st]),
ansl:[sXl,st,stl,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの弧度の解]"],print(ansl)/*(◆修正部分3)*/
)$
(KAKUNIN:"図で確認"/**/,
r1:2,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分4)*/,
t1:stl[1],t2:stl[2],p1L:[cos(t1),sin(t1)],p2L:[cos(t2),sin(t2)],p3L:[1,0],/*p4L:[1,tan(t1)],p5L:[1,tan(t2)],*/
poL:[0,0],p0L:[1,rhs(sXl[1])]/*(◆修正部分5)*/,
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
gr2:parametric((0.49+0.01*t)*cos(t),(0.49+0.01*t)*sin(t),t,0,t2),
pol:points([poL]),p1l:points([poL,p1L,p0L,p3L,poL]),p2l:points([poL,p2L,p0L,p3L,poL])/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr1,"解1弧度t1"]),print([gr2,"解2弧度t2"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=3,p1l,gr1/*解1弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=2,p2l,gr2/*解2弧度t2*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"三角関数について解くと、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例11・練習21 503 0<=t< 2*%piのとき、tan(t)=1/sqrt(3)となるtは"/*(◆修正部分1)*/,
X:tant,eq:X=1/sqrt(3),sXl:solve(eq,X)/*(◆修正部分2)*/,
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例11・練習21 503 tan(t)=1/sqrt(3)となるtは"/*(◆修正部分1)*/,
X:tant,eq:X=1/sqrt(3),sXl:solve(eq,X)/*(◆修正部分2)*/,
stl1:stl+2*n*Pi,ansl:[sXl,st,stl1,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの弧度の解+2*nπ]"],print(ansl)/*(◆修正部分3)*/,
stl:subst(n=1,stl1)/*(◆修正部分3)*/
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/*(◆修正部分4)*/,
poL:[0,0],p0L:[1,rhs(sXl[1])]/*(◆修正部分5)*/,
pol:points([poL]),p1l:points([poL,p1L,p0L,p3L,poL]),p2l:points([poL,p2L,p0L,p3L,poL])/*(◆修正部分5)*/,
◆コマンド番号504
●三角関数を含む方程式
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・応用例題3・練習22 504 0<=t< 2*%piのとき、5*sin(t)-2*cos(t)^2+4=0となるtは"/*(◆修正部分1)*/,
KOUSATU:"1つの三角関数の方程式にして解いてから、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/),
dgr(stl,k):=(t1:stl[1],t2:stl[2],p1L:[cos(t1),sin(t1)],p2L:[cos(t2),sin(t2)],p3L:[1,0],/*p4L:[1,tan(t1)],p5L:[1,tan(t2)],*/
poL:[0,0],p0L:p0LL[k],print([poL,p0L]),
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
gr2:parametric((0.49+0.01*t)*cos(t),(0.49+0.01*t)*sin(t),t,0,t2),
pol:points([poL]),p1l:points([poL,p1L,p0L,poL]),p2l:points([poL,p2L,p0L,poL])/**/,
pol:points([poL])/*,p1l:points([poL,p1L,p0L,p3L,poL]),p2l:points([poL,p2L,p0L,p3L,poL])*//*4tant*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr1,"解1弧度t1"]),print([gr2,"解2弧度t2"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=3,p1l,gr1/*解1弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=2,p2l,gr2/*解2弧度t2*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
STEP1:"単一三角関数方程式へ",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
eq:5*sint-2*cost^2+4=0,eq1:subst(cost^2=1-sint^2,eq),print([eq,eq1,"[与三角関数方程式、単一三角関数方程式]"])/*(◆修正部分2)*/,
STEP2:"Xの方程式にして解く",
meq:sint=x,eq2:subst(meq,eq1),eq3:expand(eq2),sxl:solve(eq3,x),print(["sint=",x,eq2,eq3,sxl,"[x,xの方程式、方程式の展開、解]確認1"])/*(◆修正部分3)*/,
STEP3:"三角関数に戻す",
X:lhs(meq),sxl:subst(x=X,sxl),sXl:[],for k:1 thru length(sxl) do if abs(rhs(sxl[k]))<=1 then sXl:endcons(sxl[k],sXl),print([X,sXl,"[xの三角関数、xの三角関数の値]"]),
stL:[],p0LL:[],for k:1 thru length(sXl) do (
/**/if X=cost then (st:acos(rhs(sXl[k])),if st#0 then stl:[st,2*Pi-st] else stl:[st,st],p0LL:endcons([rhs(sXl[k]),0],p0LL)),
/**/if X=sint then (st:asin(rhs(sXl[k])),if st >=0 then stl:[st,Pi-st] else stl:[Pi-st,2*Pi+st],p0LL:endcons([0,rhs(sXl[k])],p0LL)),
/**/if X=tant then (st:atan(rhs(sXl[k])),if st >=0 then stl:[st,Pi+st] else stl:[Pi+st,2*Pi+st],p0LL:endcons([1,rhs(sXl[k])],p0LL)),
/**/stL:endcons([st,stl],stL)),
ansl:[sXl,stL,"[xの三角関数の値、[[弧度の基本解、[0<=t< 2πでの弧度の解]],...]確認2"],print(ansl)/**/
)$
(KAKUNIN:"図で確認1"/**/,
r1:2,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr1:explicit(lhs(eq2),x,xm,xM),
gr2:explicit(lhs(eq2),x,-1,1),print([gr1,gr2]),
pol:points([[0,0]]),p0Ll:[],for k:1 thru length(sXl) do p0Ll:endcons([rhs(sXl[k]),0],p0Ll),p0l:points(p0Ll),print([pol,p0l])/**/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=4,p0l,gr2/*解1弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=1,gr1/*解2弧度t2*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=1,line_width=1,pol/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAKUNIN:"図で確認2"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
dgr(stL[1][2],1),print([sXl[1],"[の場合の図]"])
)$
if length(stL)=2 then (dgr(stL[2][2],2),print([sXl[2],"[の場合の図]"])
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"1つの三角関数の方程式にして、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・応用例題3・練習22 504 0<=t< 2*%piのとき、2*sin(t)^2+cos(t)-1=0となるtは"/*(◆修正部分1)*/,
eq:2*sint^2+cost-1=0,eq1:subst(sint^2=1-cost^2,eq),print([eq,eq1,"[与三角関数方程式、単一三角関数方程式]"])/*(◆修正部分2)*/,
meq:cost=x,eq2:subst(meq,eq1),eq3:expand(eq2),sxl:solve(eq3,x),print(["cost=",x,eq2,eq3,sxl,"[x,xの方程式、方程式の展開、解]確認1"])/*(◆修正部分3)*/,
B. 三角関数を含む不等式
◆コマンド番号505
●三角関数を含む不等式
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・例題4・練習23 505 0<=t< 2*%piのとき、cos(t)<=1/sqrt(2)となるtは"/*(◆修正部分1)*/,
KOUSATU:"単位円の座標で考えると、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,2*Pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,2*Pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,2*Pi],[t,"=",%pi-stv],[t,"=",2*Pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,2*Pi],[t,"=",stv],[t,"=",2*Pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,2*Pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,2*Pi],[t,"=",%pi+stv],[t,"=",2*Pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<",2*Pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]],
/**/if f=cos and s="<=" then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",2*Pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",2*Pi]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",2*Pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
STEP1:"三角関数不等式の枠へ",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
tiq:cos(t)<=1/sqrt(2),print(tiq,"問題での不等式")/*(◆修正部分2)*/,
tiql:[cos,t,"<=",1/sqrt(2)]/*(◆修正部分2)*/,
tsil:tsiql(tiql),print(tsil,"基本区間,不等式の解"),
ansl:[tsil[1],tsil[2],"基本区間,不等式の解"],print(ansl))$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,2*Pi),
pt1:if tsil[2][1][2]="="or tsil[2][1][2]="<=" then filled_circle else circle,
pt2:if tsil[2][2][2]="="or tsil[2][2][2]="<=" then filled_circle else circle,
poL:[0,0],rd1:tsil[2][1][1],rd2:tsil[2][2][3],p0L:[cos(rd1),0],p01L:[cos(rd1),sin(rd1)],p02L:[cos(rd2),sin(rd2)],p1L:[-1,0]/*(◆修正部分3)*/,
pol:points([p01L,poL,p02L]),p0l:points([p01L,p0L,p02L]),p1l:points([p0L,p1L])/*(◆修正部分3)*/,
gr1:parametric(cos(t),sin(t),t,rd1,rd2)/*(◆修正部分3)*/,
print(gr0,"単位円"),print(gr1,"解の弧"),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=pt1, point_size=1,line_width=4,pol,p1l,gr1/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=pt1, point_size=1,line_width=4,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=pt1, point_size=2,line_width=1,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=filled_circle, point_size=2,line_width=1,points([poL,p1L])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,points([poL])/*与えられたもの*//*(◆修正部分4)*/
/**/) /* "青が与えられたもの、赤とシアンが重なったところが求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"単位円において、(1,0)を弧度tだけ回転した点の座標は、( , )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例題4・練習23 505 0<=t< 2*%piのとき、sin(t)>1/sqrt(2)となるtは"/*(◆修正部分1)*/,
tiq:sin(t)>1/sqrt(2),print(tiq,"問題での不等式")/*(◆修正部分2)*/,
tiql:[sin,t,">",1/sqrt(2)]/*(◆修正部分2)*/,
poL:[0,0],rd1:tsil[2][1][1],rd2:tsil[2][2][3],p0L:[0,sin(rd2)],p01L:[cos(rd1),sin(rd1)],p02L:[cos(rd2),sin(rd2)],p1L:[0,1]/*(◆修正部分3)*/,
p01l:points([p02L,poL,p01L]),p0l:points([p01L,p0L,p02L]),p1l:points([p0L,p1L]),pfl:p0l/*(◆修正部分3)*/,
gr1:parametric(cos(t),sin(t),t,rd1,rd2)/*(◆修正部分3)*/,
/**/points_joined=true, color=red, point_type=pt1, point_size=0,line_width=4,p01l,p1l,gr1/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=pt1, point_size=1,line_width=4,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=pt1, point_size=2,line_width=1,pfl/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=filled_circle, point_size=2,line_width=1,points([p1L])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,points([poL])/*与えられたもの*//*(◆修正部分4)*/
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・例題4・練習23 505 0<=t< 2*%piのとき、sin(t)>-1/2となるtは"/*(◆修正部分1)*/,
tiq:sin(t)>-1/2,print(tiq,"問題での不等式")/*(◆修正部分2)*/,
tiql:[sin,t,">",-1/2]/*(◆修正部分2)*/,
poL:[0,0],rd1:tsil[2][1][1],rd2:tsil[2][2][3],rd3:tsil[3][1][1],rd4:tsil[3][2][3],p0L:[0,sin(rd2)],p01L:[cos(rd2),sin(rd2)],p02L:[cos(rd3),sin(rd3)],p1L:[0,1],pmL:[0.98,0],pML:[1.02,0]/*(◆修正部分3)*/,
p01l:points([pmL,poL,p01L]),p02l:points([pML,poL,p02L]),p0l:points([p01L,p0L,p02L]),p1l:points([p0L,poL,p1L]),pfl:[poL,p1L,pmL],pcl:[pML]/*(◆修正部分3)*/,
gr1:parametric(cos(t),sin(t),t,0,rd2),gr2:parametric(1.02*cos(t),1.02*sin(t),t,rd3,rd4),print(gr1,gr2)/*(◆修正部分3)*/,
/**/points_joined=true, color=red, point_type=pt1, point_size=0,line_width=4,p01l,p02l,p1l,gr1,gr2/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=pt1, point_size=1,line_width=4,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=pt1, point_size=2,line_width=1,p0l,points([p1L,pmL])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=circle, point_size=2,line_width=1,points([pML])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,points([poL])/*与えられたもの*//*(◆修正部分4)*/
:
401.三角関数を含む方程式、不等式
. 補充問題
◆コマンド番号40101
●三角関数を含む方程式
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・補充問題1 40101 0<=t< 2*%piのとき、sin(t-%pi/6)=1/2となるtは"/*(◆修正部分1)*/,
KOUSATU:"弧度そのものについて解いてから、未知の弧度を求めると、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,V2pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi-stv],[t,"=",V2pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,V2pi],[t,"=",stv],[t,"=",V2pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,V2pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,V2pi],[t,"=",%pi+stv],[t,"=",V2pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[3][3]]],[[t,"=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<=",V2pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<=",V2pi]]],
/**/if f=cos and s="<=" then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[1/2*%pi,"<",t],[t,"<",pyl[3][3]]
/*_____________________________________*/,[3/2*%pi,"<",t],[t,"<=",V2pi]]
/*______________________________*/else if v=0 then pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,V2pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<=",V2pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,V2pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<=",V2pi]]]
/*______________________________*/else pyl:[[0,V2pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
X:sint,eq:X=1/2,sXl:solve(eq,X)/*(◆修正部分2)*/,
if X=cost then (st:acos(rhs(sXl[1])),stl:[st,2*Pi-st]),
if X=sint then (st:asin(rhs(sXl[1])),if st >=0 then stl:[st,Pi-st] else stl:[Pi-st,2*Pi+st]),
if X=tant then (st:atan(rhs(sXl[1])),if st >=0 then stl:[st,Pi+st] else stl:[Pi+st,2*Pi+st]),
st1l:stl+Pi/6/*(◆修正部分3)*/,
ansl:[sXl,st,st1l,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの方程式の弧度の解]"],print(ansl)/*(◆修正部分3)*/
)$
(KAKUNIN:"図で確認"/**/,
r1:1,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
t1:stl[1],t2:stl[2],p1L:[cos(t1),sin(t1)],p2L:[cos(t2),sin(t2)],p3L:[1,0],/*p4L:[1,tan(t1)],p5L:[1,tan(t2)],*/
poL:[0,0],p0L:[0,rhs(sXl[1])],
ta1:st1l[1],ta2:st1l[2],pa1L:[cos(ta1),sin(ta1)],pa2L:[cos(ta2),sin(ta2)],pal:points([pa1L,poL,pa2L]),
gr1:parametric((0.5+0.01*t)*cos(t),(0.5+0.01*t)*sin(t),t,0,t1),
gr2:parametric((0.49+0.01*t)*cos(t),(0.49+0.01*t)*sin(t),t,0,t2),
pol:points([poL]),p1l:points([poL,p0L,p1L,poL]),p2l:points([poL,p0L,p2L,poL])/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gro:parametric(cos(t),sin(t),t,0,2*Pi),
print([gro,"[単位円]"]),print([gr1,"解1弧度t1"]),print([gr2,"解2弧度t2"]),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL)/*xy軸*//**/,
/**/points_joined=true, color=red, point_type=filled_circle,point_size=2,line_width=5,pal/*解1弧度t1*//**/,
/**/points_joined=true, color=blue, point_type=filled_circle,point_size=2,line_width=3,p1l,gr1/*解1弧度t1*//**/,
/**/points_joined=true, color=cyan, point_type=filled_circle,point_size=1,line_width=2,p2l,gr2/*解2弧度t2*//**/,
/**/points_joined=true, color=black, point_type=filled_circle,point_size=1,line_width=1,pol,gro/*与えられたもの,単位円*/
/**/) /* "青が与えられたもの、シアンが弧度t0、赤が求めるもの" */
)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"三角関数について解くと、( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・補充問題1 40101 0<=t< 2*%piのとき、sin(t+%pi/3)=1/2となるtは"/*(◆修正部分1)*/,
X:sint,eq:X=1/2,sXl:solve(eq,X)/*(◆修正部分2)*/,
st1l:[stl[2]-Pi/3,stl[1]+2*Pi-Pi/3]/*(◆修正部分3)*/,
ansl:[sXl,st,st1l,"[方程式での三角関数の値、弧度の基本解、0<=t< 2πでの弧度の解]"],print(ansl)/*(◆修正部分3)*/
◆コマンド番号40102
●三角関数を含む不等式
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・補充問題2 40102 0<=t< 2*%piのとき、2*cos(t)>-sqrt(3)となるtは"/*(◆修正部分1)*/,
KOUSATU:"単位円の座標で考えると、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,2*Pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,2*Pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,2*Pi],[t,"=",%pi-stv],[t,"=",2*Pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,2*Pi],[t,"=",stv],[t,"=",2*Pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,2*Pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,2*Pi],[t,"=",%pi+stv],[t,"=",2*Pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<",2*Pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]],
/**/if f=cos and s="<=" then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<",2*Pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]]
/*_____________________________________*/,[[3/2*%pi,"<",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",2*Pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"",
STEP1:"三角関数不等式の枠へ",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
tiq:2*cos(t)>-sqrt(3),print(tiq,"問題での不等式")/*(◆修正部分2)*/,
tiql:[2*cos,t,">",-sqrt(3)],tiql:[cos,t,">",-sqrt(3)/2]/*(◆修正部分2)*/,
tsil:tsiql(tiql),print(tsil,"基本区間,不等式の解"),
ansl:endcons("基本区間,不等式の解",tsil),print(ansl))$
(KAKUNIN:"図で確認"/**/,
r1:2,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:parametric(cos(t),sin(t),t,0,2*Pi),
pt2:if tsil[2][2][2]="="or tsil[2][2][2]="<=" then filled_circle else circle,
poL:[0,0],rd1:tsil[2][2][3],rd2:tsil[3][1][1],p0L:[cos(rd1),0],p01L:[cos(rd1),sin(rd1)],p02L:[cos(rd2),sin(rd2)],pmL:[0.98,0],pML:[1.02,0]/*(◆修正部分3)*/,
p0l:points([p01L,p0L,p02L]),p01l:points([pmL,poL,p01L]),p02l:points([pML,poL,p02L])/*(◆修正部分3)*/,
gr1:parametric(0.98*cos(t),0.98*sin(t),t,0,rd1)/*(◆修正部分3)*/,
gr2:parametric(1.02*cos(t),1.02*sin(t),t,rd2,2*Pi)/*(◆修正部分3)*/,
print(gr0,"単位円"),print(gr1,gr2,pt1,"解の弧"),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=pt2, point_size=0,line_width=4,p01l,p02l,gr1,gr2/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=pt2, point_size=1,line_width=4,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=pt2, point_size=2,line_width=1,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=filled_circle, point_size=2,line_width=1,points([poL,pmL])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=circle, point_size=2,line_width=1,points([pML])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,points([poL])/*与えられたもの*//*(◆修正部分4)*/
/**/) /* "青が与えられたもの、赤とシアンが重なったところが求めるもの(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"単位円において、(1,0)を弧度tだけ回転した点の座標は、( , )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行せよ。
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・補充問題2 40102 0<=t< 2*%piのとき、tan(t)< sqrt(3)となるtは"/*(◆修正部分1)*/,
tiq:tan(t)< sqrt(3),print(tiq,"問題での不等式")/*(◆修正部分2)*/,
tiql:[tan,t,"<",sqrt(3)]/*(◆修正部分2)*/,
poL:[0,0],rd1:tsil[2][2][3],rd2:tsil[3][1][1],rd3:tsil[3][2][3],rd4:tsil[4][1][1],p0L:[1,tan(rd1)],p01L:[cos(rd1),sin(rd1)],p02L:[cos(rd3),sin(rd3)],pYL:[0,1],pyL:[0,-1],pmL:[0.98,0],pML:[1.02,0]/*(◆修正部分3)*/,
p0l:points([p0L,pmL,[1,ym]]),p01l:points([pmL,poL,p01L,p0L]),p02l:points([pYL,poL,p02L]),p03l:points([pyL,poL,pML])/*(◆修正部分3)*/,
gr1:parametric(0.98*cos(t),0.98*sin(t),t,0,rd1),gr2:parametric(cos(t),sin(t),t,rd2,rd3),gr3:parametric(1.02*cos(t),1.02*sin(t),t,rd4,2*Pi)/*(◆修正部分3)*/,
/**/points_joined=true, color=red, point_type=pt2, point_size=0,line_width=4,p01l,p02l,p03l,gr1,gr2,gr3/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=pt2, point_size=0,line_width=4,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=pt2, point_size=2,line_width=1,points([p0L,p01L,p02L])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=filled_circle, point_size=2,line_width=1,points([poL,pmL])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=circle, point_size=2,line_width=1,points([pYL,pyL,pML])/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,points([poL])/*与えられたもの*//*(◆修正部分4)*/
◎上のコマンドを、次により修正して実行し、結果を比較して考察せよ。
MONDAI:"・補充問題2 40102 0<=t< 2*%piのとき、sin(t)>-1/2となるtは"/*(◆修正部分1)*/,
tiq:sin(t)>-1/2,print(tiq,"問題での不等式")/*(◆修正部分2)*/,
tiql:[sin,t,">",-1/2]/*(◆修正部分2)*/,
poL:[0,0],rd1:tsil[2][2][3],rd2:tsil[3][1][1],p0L:[0,sin(rd1)],p01L:[cos(rd1),sin(rd1)],p02L:[cos(rd2),sin(rd2)],pYL:[0,1],pmL:[0.98,0],pML:[1.01,0]/*(◆修正部分3)*/,
p01l:points([pmL,poL,p01L]),p02l:points([pML,poL,p02L]),p0l:points([p01L,p0L,p02L]),p1l:points([p0L,poL,pYL]),pfl:points([poL,pYL,pmL]),pcl:points([pML])/*(◆修正部分3)*/,
gr1:parametric(0.98*cos(t),0.98*sin(t),t,0,rd1),gr2:parametric(1.02*cos(t),1.02*sin(t),t,rd2,2*Pi),print(gr1,gr2)/*(◆修正部分3)*/,
/**/points_joined=true, color=red, point_type=pt2, point_size=0,line_width=4,p01l,p02l,p1l,gr1,gr2/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=pt2, point_size=1,line_width=4,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=pt2, point_size=2,line_width=1,p0l/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=circle, point_size=2,line_width=1,pcl/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=blue, point_type=filled_circle, point_size=1,line_width=1,gr0,pfl/*与えられたもの*//*(◆修正部分4)*/
◆コマンド番号40103
●三角関数を含む関数
●●●●●●●●●●●●●●●●
kill(all) /**/$
(ordergreat(X,Y,Z,x,z,A,B,C,a,b,c) /* "できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順で"*/,
MONDAI:"・補充問題3 40103 関数y=sin(t)^2+2*sin(t)の最大値、最小値は"/*(◆修正部分1)*/,
KOUSATU:"sin(t)=xとおくと、・・・"/**/)$
(KANSUU:"",
dis(p1l,p2l):=block([ans],ans:sqrt((p2l-p1l).(p2l-p1l)))/*2点間の距離*/,
tsql(tql):=block([ansl,f,t,s,v,pyl],f:tql[1],t:tql[2],s:tql[3], v:tql[4],pyl:[[0,2*Pi]],
/**/if f=sin then (stv:asin(v),if stv>=0 then pyl:[[0,2*Pi],[t,"=",stv],[t,"=",%pi-stv]]
/*______________________________*/else pyl:[[0,2*Pi],[t,"=",%pi-stv],[t,"=",2*Pi+stv]]),
/**/if f=cos then (stv:acos(v),pyl:[[0,2*Pi],[t,"=",stv],[t,"=",2*Pi-stv]]),
/**/if f=tan then (stv:atan(v),if stv>=0 then pyl:[[0,2*Pi],[t,"=",stv],[t,"=",%pi+stv]]
/*______________________________*/else pyl:[[0,2*Pi],[t,"=",%pi+stv],[t,"=",2*Pi+stv]]),
/**/if pyl[2][3]=0 then pyl:endcons([t,"=",pyl[1][2]],pyl),print(pyl,"基本区間、方程式とみての解"),
/**/ansl:pyl),
tsiql(tiql):=block([ansl,f,t,s,v,tql,pyl],f:tiql[1],t:tiql[2],s:tiql[3], v:tiql[4],tql:[f,t,"=",v],print(tql,"方程式として"),pyl:tsql(tql),
/**/if f=sin and s=">" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]]),
/**/if f=sin and s="<" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[pyl[3][3],"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ),
/**/if f=sin and s=">=" then (if v>0 then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[3][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]),
/**/if f=sin and s="<=" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[[t,"=",0]],[%pi,"<=",t],[t,"<",2*Pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ),
/**/if f=cos and s=">" then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[pyl[3][3],"<",t],[t,"<",2*Pi]]] ,
/**/if f=cos and s="<" then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",pyl[3][3]]]] ,
/**/if f=cos and s=">=" then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]],[[pyl[3][3],"<=",t],[t,"<",2*Pi]]],
/**/if f=cos and s="<=" then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<=",pyl[3][3]]]] ,
/**/if f=tan and s=">" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<",t],[t,"<",3/2*%pi]]
/*_____________________________________*/,[[pyl[3][3],"<",t],[t,"<",2*Pi]]]),
/**/if f=tan and s="<" then (if v>0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",pyl[2][3]]],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]]
/*_____________________________________*/,[[3/2*%pi,"<",t],[t,"<",2*Pi]]]
/*______________________________*/else if v=0 then pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[4][3]]]]
/*______________________________*/else pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<",pyl[3][3]]]]),
/**/if f=tan and s=">=" then (if v>=0 then pyl:[[0,2*Pi],[[pyl[2][3],"<=",t],[t,"<",1/2*%pi]],[[pyl[3][3],"<=",t],[t,"<",3/2*%pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[0,"<=",t],[t,"<",1/2*%pi]],[[pyl[2][3],"<=",t],[t,"<",3/2*%pi]]
/*____________________________________*/,[[pyl[3][3],"<=",t],[t,"<",2*Pi]]]),
/**/if f=tan and s="<=" then (if v>=0 then pyl:[[0,2*Pi],[[0,"<=",t],[t,"<=",pyl[2][3]]]
/*____________________________________*/,[[1/2*%pi,"<",t],[t,"<=",pyl[3][3]]],[[3/2*%pi,"<",t],[t,"<",2*Pi]]]
/*______________________________*/else pyl:[[0,2*Pi],[[1/2*%pi,"<",t],[t,"<=",pyl[2][3]]],[[3/2*%pi,"<",t],[t,"<=",pyl[3][3]]]]),
ansl:pyl/*,print([s,pyl,"koko"])*/)
)$
(TEISUU: " ",
Pi:%pi)$
(TEJUN:"1",
MONDAI:"・補充問題3 40103 関数y=sin(t)^2+2*sin(t)の最大値、最小値は"/*(◆修正部分1)*/,
STEP1:"sin(t)=xとおいて",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
tf:sin(t)^2+2*sin(t),print(tf,"問題での関数")/*(◆修正部分2)*/,
f:subst(sin(t)=x,tf),rx:[-1,"<=",x,"<=",1],print([f,rx,"xの関数,xの範囲"])/*(◆修正部分2)*/,
a0:subst(x=0,f),a1:subst(x=0,diff(f,x)),a2:subst(x=0,diff(f,x,2))/2,f:a2*(x+a1/2)^2-a2*a1^2/4+a0,print([f,"平方完成"]),
ans4xl:[subst(x=-a1/2,f),x=-a1/2,subst(x=1,f),x=1,"最小値,そのx,最大値,そのx"],print(ans4xl))$
(KAKUNIN:"図で確認1"/**/,
r1:4,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr0:explicit(f,x,xm,xM),gr1:explicit(f,x,-1,1),xmL:points([[-1,ym],[-1,yM]]),xML:points([[1,ym],[1,yM]]),
pxfmL:[-a1/2,0],pfmL:[-a1/2,subst(x=-a1/2,f)],pxfML:[1,0],pfML:[1,subst(x=1,f)]/*(◆修正部分3)*/,
fml:points([pxfmL,pfmL]),fMl:points([pxfML,pfML])/*(◆修正部分3)*/,
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=circle, point_size=0,line_width=4,gr1/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=circle, point_size=0,line_width=4,xmL,xML/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=filled_circle, point_size=2,line_width=1,fml,fMl/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=blue, point_type=circle, point_size=0,line_width=1,gr0/*与えられたもの*//*(◆修正部分4)*/
/**/) /* "青が与えられたもの、赤とシアンが定義域のグラフ(〇〇修正時y,y2の定義域変更に注意)" */)$
(TEJUN:"2",
STEP1:"三角関数に戻して",
algebraic:true,eq01:sint^2+cost^2=1,eq02:tant=sint/cost,print([eq01,eq02,"[基本関係式eq01,eq02]"])/**/,
tqml:[sin,t,"=",pxfmL[1]],tqMl:[sin,t,"=",pxfML[1]],
stml:tsql(tqml),stMl:tsql(tqMl),tm:stml[2][3],tM:stMl[2][3],ansl:[[subst(t=tm,tf),[t,"=",tm+2*n*Pi]],[subst(t=tM,tf),[t,"=",tM+2*n*Pi]],"最小値,最大値(nは整数)"],print(ansl)
)$
(KAKUNIN:"図で確認2"/**/,
r1:4,xm:-r1*1.5, xM:r1*1.5, ym:xm/8.3*6.7, yM:xM/8.3*6.7/**/,
yL:[[0,ym],[0,yM]]/*y軸*/,
gr2:explicit(tf,t,xm,xM),gr3:explicit(sin(t)^2,t,xm,xM),gr4:explicit(2*sin(t),t,xm,xM),
poL:[0,0],ptm1L:[tm-2*Pi,subst(t=tm,tf)],ptm2L:[tm,ptm1L[2]],ptM1L:[tM-2*Pi,subst(t=tM,tf)],ptM2L:[tM,ptM1L[2]],
pml:points([ptm1L,ptm2L]),pMl:points([ptM1L,ptM2L])/*(◆修正部分3)*/,
print(pml,"最小値"),print(pMl,"最大値"),
wxdraw2d(yrange=[ym,yM] /* "()" */,
/**/color=black,explicit(0,x,xm,xM),points_joined=true,points(yL),points_joined=false/*xy軸*/,
/**/points_joined=true, color=red, point_type=circle, point_size=0,line_width=4,gr2/*求めるもの*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=cyan, point_type=circle, point_size=1,line_width=4,gr3/*第1項、第2項*//**//*(◆修正部分4)*/,
/**/points_joined=true, color=blue, point_type=circle, point_size=1,line_width=4,gr4/*第1項、第2項*//**//*(◆修正部分4)*/,
/**/points_joined=false, color=red, point_type=filled_circle, point_size=2,line_width=1,pml,pMl/*求めるもの*//*最大値、最小値*//*(◆修正部分4)*/,
/**/points_joined=false, color=black, point_type=filled_circle, point_size=1,line_width=1,points([poL])/*与えられたもの*//*(◆修正部分4)*/
/**/) /* "赤が与関数、シアンが第1項、青が第2項(〇〇修正時y,y2の定義域変更に注意)" */)$
(KAITOU:ansl/*解答*//**/,
SUJIMITI:"関数は、sin(t)=xとおくと( )となるので、・・・"/**/,
FURIKAERI:"(例:具体的な数値で、推論結果の確認など、実行者の振り返りを書きこむこと)")$
(print(MONDAI),
print(SUJIMITI),
print(KAITOU),
print(FURIKAERI))$
◎上のMaximaコマンドを実行し、結果を考察せよ。