以下の問題をpythonで解き,LUNAへ提出せよ.LUNAへはipynbとpdf形式の2種類を提出すること.
from sympy import *
# init_session()
x,y = symbols('x y')
y1=-2*x+4
y2=1/(1+exp(-(-2*x+4)))
%matplotlib inline
plot(y1,y2,(x,-4,4),ylim=(-1,2))
<sympy.plotting.plot.Plot at 0x7fb801cd27f0>
(テキストp.131の4-118式の確認)
シグモイド関数 \begin{equation*} \sigma(x) = \frac{1}{1+e^{-x}} \end{equation*} の増減,極値,凹凸を調べ,曲線$y=\sigma(x)$の概形を描け. シグモイド関数の微分が \begin{equation*} \sigma(x)(1-\sigma(x)) \end{equation*} に一致することを確かめよ.両者を同時にプロットすることでも確かめられる. ただし,曲線は重なるので,どちらかをy軸方向に0.01程度ずらして表示すること.
from sympy import *
# init_session()
x,y = symbols('x y')
y = 1/(1+exp(-x))
y
dy = diff(y, x)
dy
%matplotlib inline
plot(y,y*(1-y)+0.01,dy,(x,-10,10))
<sympy.plotting.plot.Plot at 0x7fb7f1f09a60>
from sympy import *
#init_session()
#init_printing(use_unicode=True)
init_printing()
list_a = [1,2,3]
list_b = [4,5,6]
A=Matrix([list_a, list_b])
A
B = A.T
(A*B).T # (AB).T
B.T * A.T
次の行列$A$の固有値とそれに対する固有ベクトルを求めよ. \begin{equation*} A = \left( \begin{matrix} -2 & -3 & 3\\ 1 & 2 & -3\\ 1 & 1 & -2 \end{matrix} \right) \end{equation*} それぞれの固有値($\lambda_i$),固有空間($x_i$)に対して, $$ A x_i = \lambda_i x_i $$ が成立することを確かめよ.
from sympy import *
A=Matrix([[-2,-3,3],[1,2,-3],[1,1,-2]])
A.eigenvects()
x1,x2,x3=A.eigenvects()
x1[2][0]
print(A*x1[2][0])
print(x1[0]*x1[2][0])
Matrix([[2], [-2], [-2]]) Matrix([[2], [-2], [-2]])
print(A*x2[2][0])
print(x2[0]*x2[2][0])
Matrix([[0], [-1], [-1]]) Matrix([[0], [-1], [-1]])
print(A*x3[2][0])
print(x3[0]*x3[2][0])
Matrix([[-1], [1], [0]]) Matrix([[-1], [1], [0]])
(2019大学入試センター試験 数学II・B 第2問(1),(2))
$p, q$ を実数とし, 関数$f(x)=x^3 + p x^2 +qx$ は$x=-1$で極値2を取るとする. また,座標平面上の曲線$y=f(x)$を$C$,放物線$y=-kx^2$ を$D$, 放物線$D$上の点$(a, -ka^2)$をAとする. ただし, $k \gt 0, a\gt0$である.
(1) 関数$f(x)$が$x=-1$で極値をとるので, $f'(-1) = \fbox{ ア }$である. これと$f(-1)=2$より, $p=\fbox{ イ }\,, q={ \fbox{ ウエ }}$である. よって$f(x)$は$x= \fbox{ オ }$で極小値$ \fbox{ カキ }$をとる.
from sympy import *
#init_session()
a,k,p,q,x,y=symbols('a k p q x y')
fx = x**3+p*x**2+q*x
fx
df = diff(fx, x)
df
x0=-1
y0=2
e1=fx.subs({x:x0})-y0
e2=df.subs({x:x0})
{e1,e2}
subs_pq=solve({e1,e2},{p,q})
subs_pq
sol1 = solve(df.subs(subs_pq),x)
sol1
fx.subs(subs_pq).subs({x:sol1[1]})
fx0 = fx.subs(subs_pq)
fx0
%matplotlib inline
plot(fx0,-x**2,(x,-2,2))
<sympy.plotting.plot.Plot at 0x7fb8018984f0>
(2) 点Aにおける放物線$D$の接線を$l$とする. $D$と$l$および$x$軸で囲まれた図形の面積$S$を $a$と$k$を用いて表そう.
$l$の方程式は \begin{equation*} y = \fbox{ クケ }\,kax + \,ka^{ \fbox{ コ }} ... (1) \end{equation*} と表せる. $l$と$x$軸の交点の$x$座標は $\frac{\fbox{ サ }}{\fbox{ シ }}$であり, $D$と$x$軸および 直線$x=a$で囲まれた図形の面積は $\frac{k}{\fbox{ ス }}a^{\fbox{ セ }}$である. よって,$S=\frac{k}{\fbox{ ソタ }} a^{\fbox{ セ }}$である.
fx2=-k*x**2
fx2
aa= diff(fx2,x).subs({x:a})
aa
ll = expand(aa*(x-a)+fx2.subs({x:a}))
ll
x0 = solve(ll,x)
x0
Sd = -integrate(fx2,(x,0,a))
Sd
Sll=-integrate(ll,(x,a/2,a))
Sll
SS=Sd - Sll
SS
大問3.において,関数$f(x)$が$x=-0.9$で極値2をとるとして問3(a)を解きなさい. 問3(b)は変わらないので,解く必要ありません. 極小値は$−3.66567655334305$ぐらいである. さらに,これらの値を用いて,(x,-2,2)で曲線$C, D$を同時にプロットしなさい.
追加:$k$は適当に,例えば,k=1と定めてください.
from sympy import *
#init_session()
a,k,p,q,x,y=symbols('a k p q x y')
fx = x**3+p*x**2+q*x
fx
df = diff(fx, x)
df
x0=-0.9
y0=2
e1=fx.subs({x:x0})-y0
e2=df.subs({x:x0})
{e1,e2}
subs_pq=solve({e1,e2},{p,q})
subs_pq
sol1 = solve(df.subs(subs_pq),x)
sol1
fx.subs(subs_pq).subs({x:sol1[1]})
fx1 = fx.subs(subs_pq)
fx1
%matplotlib inline
plot(fx1,-x**2,(x,-2,2))
<sympy.plotting.plot.Plot at 0x7fb7f21c3820>