1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

京大の女子枠様に寄り添う入試2025

Posted at

私たちは、少子化に起因する社会的課題に対し、先端技術を活用した実装可能なソリューションを提供するテクノロジーパートナーです。
お客様が抱える多様な課題を IT・デジタル領域から解決する専門組織として、要件を的確に把握し、最適なアーキテクチャ設計と技術統合を実現します。
また、AI を中心とした DX 推進により、出産・育児領域における新たな価値創出と、持続性のあるイノベーションを提供してまいります。

image.png

4 (250点)
【問題(顧客のお困り)】
(1) p, q を実数とする。
実数全体で定義された関数 y = e^x のグラフが直線 y = px + q と共有点を持たないための
p と q が満たすべき条件を求めよ。

(2) 実数全体で定義された微分可能な関数 f(x) が条件

f'(x) = x(2x^2 + 1)^(2/3), f(0) = 1

を満たすとする。関数 f(x) を求めよ。

【方針(要件定義)】

(1) 共有点を持たない条件(直線 y = px + q と y = e^x)

共有点なし ⇔ 方程式 e^x = px + q が実数解を持たない条件を調べる

関数 h(x) = e^x − (px + q) を定義し、h(x) の最小値の符号を見る

e^x は凸関数なので、接線を 1 本も引けない直線の条件=判別条件

h'(x) = e^x − p が 0 になる点(= 極値)で値を調べる

極値 x = ln p(p > 0 が必要)を用いて、h(ln p) > 0 が共有点なしの条件

p ≤ 0 のときは別途、常に e^x > px + q となる条件を調べる必要がある

(2) 微分方程式 f'(x) = x(2x^2 + 1)^(2/3) の積分

与えられた f'(x) をそのまま積分して f(x) を求める

置換積分 u = 2x^2 + 1 を用いて簡略化

du = 4x dx なので、(1/4)∫u^(2/3) du の形に変換

u^(2/3) の積分を実行し、元の変数 x に戻す

最後に初期条件 f(0) = 1 を使って積分定数 C を決定

最終的な f(x) を明示的に記述する
【ソリューション】
(1) 共有点なしとなる条件(y = e^x と y = px + q)

共有点なしとは、方程式 e^x = px + q が実数解を持たないことを意味する。
差の関数 h(x) = e^x − (px + q) を定義して調べる。

h(x) は凸関数であり、最小値だけを持つ。この最小値が正であれば、h(x) = 0 の解は存在しない。

p の符号で場合分けすると次の通り。

p > 0
 h'(x) = e^x − p = 0 より、最小値は x = ln p にある。
 最小値 h(ln p) = p − p ln p − q が正なら共有点なし。
 よって条件は
 q < p − p ln p

p = 0
 直線は y = q。
 e^x の値域は (0, ∞) なので、q ≤ 0 の場合は交点が存在しない。
 条件は
 q ≤ 0

p < 0
 h(x) は単調増加で、負の無限大から正の無限大へ変化するため、必ず1つの解が存在する。
 共有点なしは不可能。

まとめると、共有点なしの条件は次の通り。

・p > 0 かつ q < p − p ln p
・p = 0 かつ q ≤ 0
・p < 0 の場合は不可

(2) 微分方程式 f'(x) = x(2x^2 + 1)^(2/3), f(0) = 1 の解

積分で f(x) を求める。

u = 2x^2 + 1 と置くと、du = 4x dx より x dx = du/4。
これを使って積分すると、

f(x) = (3/20)(2x^2 + 1)^(5/3) + C

初期条件 f(0) = 1 を代入すると C = 17/20。
したがって最終的な解は

f(x) = (3/20)(2x^2 + 1)^(5/3) + 17/20

Python(検証+Matplotlib可視化)コード

# ======================================================
# Libraries
# ======================================================
import numpy as np
import matplotlib.pyplot as plt
from sympy import symbols, exp, Eq, solve, diff, integrate

# ======================================================
# (1) e^x と直線 px+q の共有点なし条件の検証
# ======================================================

# Symbols
x, p, q = symbols('x p q', real=True)

# Functions
h = exp(x) - (p*x + q)
h_prime = diff(h, x)

# 極値条件(p > 0 の場合)
x_min = solve(Eq(h_prime, 0), x)   # x = ln(p)

# h(ln p)
h_min = h.subs(x, x_min[0])

# 条件式
# 共有点なし ⇔ h_min > 0
# h_min = p - p*ln(p) - q
# よって q < p - p ln p

print("Condition (p > 0): q < p - p ln p")
print("Condition (p = 0): q ≤ 0")
print("Condition (p < 0): no solution (must intersect)")


# ======================================================
# (1) Matplotlib Plot (e^x vs px+q)
# ======================================================

p_val = 1.2    # example parameter
q_val = -0.1

xx = np.linspace(-2, 3, 400)
yy_exp = np.exp(xx)
yy_line = p_val*xx + q_val

plt.figure(figsize=(6,4))
plt.plot(xx, yy_exp, label="y = e^x")
plt.plot(xx, yy_line, label=f"y = {p_val}x + {q_val}")
plt.title("Exponential vs Line")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.legend()
plt.show()


# ======================================================
# (2) 微分方程式の検証と f(x) の導出
# ======================================================

# f'(x) = x(2x^2 + 1)^(2/3)
fprime = x*(2*x**2 + 1)**(2/3)

# 積分
f_general = integrate(fprime, x)

print("Indefinite Integral f(x) =", f_general)

# 初期条件 f(0) = 1
C = symbols('C')
f_with_C = f_general + C
C_value = solve(Eq(f_with_C.subs(x, 0), 1), C)[0]

# 完成した f(x)
f_final = f_with_C.subs(C, C_value)

print("Final f(x) =", f_final)

# 数値関数へ
def f_num(t):
    return (3/20)*(2*t*t + 1)**(5/3) + 17/20


# ======================================================
# (2) Matplotlib plot of f(x)
# ======================================================

xx2 = np.linspace(-2, 2, 300)
yy2 = f_num(xx2)

plt.figure(figsize=(6,4))
plt.plot(xx2, yy2, label="f(x)")
plt.title("Solution of Differential Equation")
plt.xlabel("x")
plt.ylabel("f(x)")
plt.grid(True)
plt.legend()
plt.show()

動作内容

(1)

  • SymPy が
    h(x)=e^x−(px+q)
    の極小点 h(ln p) を象徴計算し、
    q < p − p ln p
    を出力
  • 直線と e^x を Matplotlib でプロットし、交点の有無を視覚的に確認

(2)

  • SymPy により
    ∫ x(2x^2+1)^(2/3) dx を象徴計算
  • 初期条件 f(0)=1 を満たす定数 C を計算
  • 完成形
    f(x) = (3/20)(2x^2+1)^(5/3) + 17/20
  • Matplotlib で f(x) の曲線を描画
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?