第1章 数と式の計算
1. 数とその計算
-
数学内容:有理数・無理数、指数法則、絶対値の定義、平方根の性質。
-
工学応用:
- 単位変換(例:mA → µA → nA)、オームの法則計算。
- 精度管理(有効数字や誤差範囲の扱い)。
- 物理定数のスケーリング(電子の電荷 e ≈ 1.6×10⁻¹⁹C など)。
2. 整式の計算
-
数学内容:展開、因数分解、多項式の加減乗除。
-
工学応用:
- 制御工学の伝達関数(分子・分母の展開)。
- 信号処理における z 変換の分母多項式。
- 電磁波解析の特性方程式。
3. 整式の除法
-
数学内容:余りの定理、因数定理、整式の割り算。
-
工学応用:
- システムの極と零点の解析。
- 回路のインピーダンス関数の安定性解析。
4. 方程式
-
数学内容:一次方程式・二次方程式、解の公式、判別式。
-
工学応用:
- 振動回路(LC回路)の固有周波数解。
- 力学での運動方程式解(放物運動、摩擦を含む場合)。
- 制御工学での特性方程式(システム安定性判定)。
第2章 集合と論理
5. 集合と論理
-
数学内容:集合の表現、Venn図、集合演算、論理記号。
-
工学応用:
- デジタル回路設計(AND, OR, NOT のゲート回路)。
- 真理値表と論理演算 → CPU・FPGA設計基礎。
- 信号系統分類(フィルタバンクや通信路選択)。
6. 等式と不等式の証明
-
数学内容:同値変形、背理法、数学的帰納法。
-
工学応用:
- 構造物の強度設計における「安全率」の数式化。
- アルゴリズム設計での正当性証明。
- 不等式で表す許容誤差・許容電流。
第3章 いろいろな関数
7. 2次関数とそのグラフ
-
数学内容:放物線、頂点の位置、最大最小。
-
工学応用:
- 放物運動の解析(投射角度と飛距離)。
- アンテナの放射パターン。
- レンズの焦点特性。
8. 2次関数と2次方程式・2次不等式
-
数学内容:解の判別式とグラフの関係。
-
工学応用:
- RLC回路の共振周波数解。
- 振動系の安定性解析(臨界減衰条件)。
9. 関数とグラフ
-
数学内容:逆関数、合成関数、グラフの平行移動。
-
工学応用:
- センサの非線形補正。
- 音声信号処理(入力信号と出力波形の関数関係)。
- 入出力関数のモデリング。
第4章 指数関数と対数関数
10. 指数関数
-
数学内容:a^x の定義、性質、増加関数。
-
工学応用:
- RC回路の放電曲線 v(t)=V₀e^(−t/RC)。
- 放射線の減衰。
- 人口増加モデル。
11. 対数関数
-
数学内容:log の性質、底の変換公式。
-
工学応用:
- デシベル表記 (20log₁₀(Vout/Vin))。
- 音響工学・無線通信の信号強度表現。
- 化学分野:pH = −log₁₀[H⁺]。
第5章 三角関数
12. 三角関数
-
数学内容:単位円による定義、周期性。
-
工学応用:
- 交流電流の解析(位相差、cosφ)。
- フーリエ解析の基礎。
13. 三角関数のグラフと方程式・不等式
-
数学内容:周期性・振幅・位相。
-
工学応用:
- 機械振動解析。
- 電力の力率補償。
14. 三角関数の加法定理
-
数学内容:sin(a±b), cos(a±b)。
-
工学応用:
- 信号変調・復調。
- 干渉・ビート現象。
15. 三角比と三角形への応用
-
数学内容:正弦定理・余弦定理。
-
工学応用:
- 測量・GPS測位。
- ロボットアームの運動解析。
第6章 平面図形
16. 点と直線
-
数学内容:傾き、切片、直線の方程式。
-
工学応用:
- 画像処理での直線検出(Hough変換)。
- 構造設計での軸配置。
17. 平面上の曲線
-
数学内容:円、放物線、楕円、双曲線。
-
工学応用:
- アンテナ(放物面反射)。
- レンズの形状設計。
18. 平面上の領域
-
数学内容:領域の面積。
-
工学応用:
- 構造物断面の面積 → 応力分布解析。
- 重心・慣性モーメント計算。
第7章 個数の処理
19. 場合の数
-
数学内容:順列・組合せ、二項定理。
-
工学応用:
- 暗号学(鍵の組合せ数)。
- 通信工学(符号化のパターン数)。
- 情報理論(通信路容量の計算)。
第1章 数と式の計算
1. 数とその計算
- 工学応用課題
- Pythonで直流回路の電力計算をせよ。I=2A, V=12V のとき P=IV を求めよ。
- SI単位系で長さ [m] → [mm] → [µm] の変換をPython関数で作成せよ。
- 電子の電荷 e=1.6×10⁻¹⁹C とアボガドロ数 NA=6.02×10²³ を使って、1 mol の電子の総電荷をPythonで計算せよ。
2. 整式の計算
- 工学応用課題
- 制御工学:伝達関数 H(s)=(s+2)(s+3) を展開し、極と零点をSymPyで求めよ。
- 通信工学:多項式 (x²+1)(x²+4) を展開し、フィルタの特性多項式として根を計算せよ。
- 機械工学:ばね‐質量系の特性方程式 m s² + c s + k を因数分解して固有振動数を求めよ(m=1, c=2, k=3)。
3. 整式の除法
- 工学応用課題
- 回路工学:インピーダンス関数 Z(s)=(s²+3s+2)/(s+1) を割り算して多項式の形に直せ。
- 制御系:分母多項式 (s²+5s+6) を (s+2) で割り、安定性に関わる余りを求めよ。
- 通信理論:z変換多項式 (z²−0.5z+0.25) を (z−0.5) で割り、システムの極を確認せよ。
4. 方程式
- 工学応用課題
- 力学:放物運動 y=−4.9t²+20t の解から飛距離をPythonで求めよ。
- 電気回路:LC回路の固有周波数 ω=1/√(LC)。L=1mH, C=1µF のとき ω を計算せよ。
- 制御工学:特性方程式 s²+2s+2=0 の解を求め、安定かどうか判定せよ。
- 振動工学:質点の運動方程式 m x''+c x'+k x=0 の判別式をPythonで計算し、振動モードを判定せよ。
第2章 集合と論理
5. 集合と論理
- 工学応用課題
- デジタル回路:Pythonで NAND, NOR, XOR の真理値表を作成せよ。
- FPGA設計:集合 {0,1}³ を生成し、3入力ANDの出力を列に追加せよ。
- 通信工学:集合 A={AM,FM}, B={PSK,QAM} の直積 A×B を作成し、変調方式の組合せを列挙せよ。
- システム設計:集合 {A,B,C} の部分集合をすべて生成し、冗長系の構成パターンを列挙せよ。
6. 等式と不等式の証明
- 工学応用課題
- 材料力学:応力 σ=F/A の不等式をPythonで計算し、F=1000N, A=10mm² のとき σ≤許容応力(200MPa)を確認せよ。
- 電気回路:オームの法則 V=IR の検証をPythonで自動化し、I=0.1A, R=47Ω のときVが5V±1%に収まるか判定せよ。
- 制御工学:不等式 |H(jω)|≤1 を確認するPython関数を作り、H(s)=1/(s+1) で ω=0〜10 の範囲でプロットせよ。
第3章 いろいろな関数 ― Pythonプログラミング課題
7. 2次関数とそのグラフ(放物線)
- f(x)=x²−4x+3 を Python でプロットせよ。頂点の座標を求めよ。
- f(x)=−2x²+8x−5 の最大値を SymPy で計算せよ。
- 投射運動 y=−4.9t²+10t の軌跡をプロットし、最大高度を求めよ。
- 投射運動で初速20 m/s、角度30°の場合の飛距離をPythonで計算せよ。
- アンテナ放射パターンを 2次関数近似して、f(θ)=cos²θ を 0≤θ≤π でプロットせよ。
8. 2次関数と2次方程式・不等式
- 方程式 x²−5x+6=0 を解の公式を使ってPythonで解け。
- 判別式 D=b²−4ac をPython関数に実装し、x²+2x+1=0 の解の重解を確認せよ。
- 不等式 x²−4≤0 を解き、グラフ上に範囲をハイライトせよ。
- RLC回路の共振角周波数 ω=1/√(LC) を計算せよ。L=1mH, C=1µF。
- 減衰振動の判別式 D=c²−4mk をPythonで計算し、過減衰/臨界/不足減衰を判定せよ(m=1, k=4, c=4)。
9. 関数とグラフ(逆関数・合成関数)
- f(x)=2x+3 の逆関数をPythonで求めよ。
- f(x)=x², g(x)=√x の関数をプロットし、逆関数関係を確認せよ。
- f(x)=sin(x), g(x)=x² の合成関数 g(f(x)) を Python で定義し、x=0〜2πでプロットせよ。
- 音声信号モデル s(t)=sin(2π100t) をサンプリングし、出力 y(t)=s(t)² をプロットせよ。
- センサ出力が非線形 f(V)=V²+0.1V のとき、逆関数を近似して入力Vを推定するPython関数を作れ。
応用演習(統合課題)
- 放物線 y=ax²+bx+c の係数 a,b,c を入力して、頂点・軸・判別式を自動出力するPythonプログラムを作成せよ。
- 投射運動のシミュレーションを行い、角度を変化させた場合の飛距離をPythonでプロットせよ。
- f(x)=x² と g(x)=1/x を同一グラフに描き、交点を数値的に求めよ。
- 制御工学:伝達関数 H(s)=1/(s²+2s+2) を定義し、極と零点をPythonで計算せよ。
- 音声処理:f(t)=cos(2πf₁t)+cos(2πf₂t)(f₁=100Hz, f₂=200Hz)の信号を生成し、Matplotlibで波形を描け。
第4章 指数関数と対数関数 ― Pythonプログラミング課題
10. 指数関数
- f(x)=2^x を Python で定義し、x=−3〜3 でグラフを描け。
- f(x)=e^x の微分が e^x になることを SymPy で確認せよ。
- f(x)=e^(−x) のグラフをプロットし、x→∞ で 0 に収束することを確認せよ。
- RC回路の放電 v(t)=5·e^(−t/0.1) を t=0〜1 でプロットせよ。
- 放射性物質の減衰 N(t)=N₀·e^(−λt) を λ=0.1, N₀=100 としてシミュレーションせよ。
- 人口モデル P(t)=P₀·e^(rt) を r=0.02, P₀=1000 として 100 年後の人口を計算せよ。
- 連続複利計算 A(t)=P·e^(rt) を Python で計算し、P=100, r=0.05, t=10 の場合を出力せよ。
- f(x)=exp(−x²) を NumPy でプロットし、ガウス分布の形を確認せよ。
- e^(jx) の実部と虚部をプロットし、オイラーの公式 e^(jx)=cos(x)+jsin(x) を確認せよ。
- 微分方程式 dy/dt=−y の解 y(t)=e^(−t) を Python で数値的に確認せよ。
11. 対数関数
- f(x)=log(x) を x=0.1〜10 の範囲でプロットせよ。
- log₁₀(x) と ln(x) を同一グラフに描き、違いを比較せよ。
- 底の変換公式 logₐ(x)=ln(x)/ln(a) を Python 関数で実装し、a=2, x=8 の場合を計算せよ。
- デシベル変換 20·log₁₀(Vout/Vin) を関数化し、Vin=1V, Vout=0.5V の場合を求めよ。
- 通信における SNR=10·log₁₀(Psignal/Pnoise) を計算せよ(Psignal=100, Pnoise=1)。
- 音の強さ I=10^(L/10) を用い、L=60dB のときの I を計算せよ。
- 化学における pH=−log₁₀[H⁺] を計算せよ。[H⁺]=1e−7 mol/L の場合を求めよ。
- 対数グラフを使って y=x² と y=2^x を同一図に描き、成長速度を比較せよ。
- 対数微分法を使い、f(x)=x^x の導関数を SymPy で求めよ。
- 対数スケールで RC回路のボード線図を描き、ゲイン特性を確認せよ。
第5章 三角関数 ― Python演習
12. 三角関数(基礎と周期性)
課題1 sin(x), cos(x) を x=0〜2π で NumPy を使ってプロットせよ。
-
ヒント:
-
np.linspace(0, 2*np.pi, 200)で刻みを生成。 -
np.sin(x)とnp.cos(x)を計算。 -
plt.plotで重ね書きし、凡例をつける。
-
課題2 tan(x) のグラフを描き、漸近線の位置を確認せよ。
-
ヒント:
-
np.tan(x)を用いる。 -
x=π/2, 3π/2,…に発散 →plt.axvlineで縦線を引く。
-
課題3 sin²(x)+cos²(x)=1 が成り立つことを Python で数値的に確認せよ。
-
ヒント:
-
sin(x)**2 + cos(x)**2を計算し、1との差をnp.allcloseで確認。
-
課題4 sin(x) の周期性 f(x)=f(x+2π) を数値計算で確認せよ。
-
ヒント:
-
sin(x)とsin(x+2*np.pi)を比較。 - 差分を出してグラフ化。
-
課題5 交流電流 i(t)=I₀·sin(ωt+φ) を I₀=10, ω=2π60, φ=π/6 としてプロットせよ。
-
ヒント:
-
t = np.linspace(0, 0.05, 1000)(50ms程度)。 -
i = 10*np.sin(2*np.pi*60*t + np.pi/6)を計算。
-
13. 三角関数のグラフと方程式・不等式
課題6 sin(x)=0.5 の解を SymPy で求め、数直線にプロットせよ。
-
ヒント:
-
sp.solve(sp.Eq(sp.sin(x), 0.5), x)を使う。 - 0〜2π の解をプロット。
-
課題7 cos(x)=0 の解を 0〜2π の範囲で求めよ。
-
ヒント:
-
x=π/2, 3π/2が解。 -
solveでも可能。
-
課題8 y=2·sin(3x) のグラフを描き、振幅・周期を確認せよ。
-
ヒント:
- 振幅=2, 周期=2π/3。
- プロットして確認。
課題9 不等式 sin(x) > 0 を解き、区間を表示せよ。
-
ヒント:
- SymPy の
solvesetで不等式を扱う。 - 解は (0,π) mod 2π。
- SymPy の
課題10 振動系 y(t)=sin(2πft) を f=5Hz, 10Hz で描き、周波数による違いを比較せよ。
-
ヒント:
- t=0〜1s を
linspaceで。 -
sin(2*np.pi*5*t)とsin(2*np.pi*10*t)を重ねて描く。
- t=0〜1s を
14. 三角関数の加法定理
課題11 sin(a+b) と sin(a)cos(b)+cos(a)sin(b) が等しいことを Python で確認せよ。
-
ヒント:
- SymPy で
simplify(sin(a+b) - (sin(a)*cos(b)+cos(a)*sin(b)))→ 0 になる。
- SymPy で
課題12 cos(a−b) と cos(a)cos(b)+sin(a)sin(b) の等式を数値的に検証せよ。
-
ヒント:
- NumPy でランダムな a, b を生成。
- 両辺の差を計算。
課題13 sin(a)+sin(b)=2sin((a+b)/2)cos((a−b)/2) の恒等式を確認せよ。
-
ヒント:
- SymPy の
simplifyを使う。
- SymPy の
課題14 信号変調例:cos(2π10t)·cos(2π2t) をプロットし、和周波・差周波を観察せよ。
-
ヒント:
-
cosA cosB = 0.5[cos(A+B)+cos(A−B)]の公式。 - FFTでスペクトル確認しても良い。
-
課題15 ビート現象:sin(2π50t)+sin(2π52t) を 0〜1s の範囲でプロットせよ。
-
ヒント:
-
sin(2π50t)+sin(2π52t)を時間領域で描く。 - ゆっくり変動する包絡波が見える。
-
15. 三角比と三角形への応用
課題16 三角形の3辺 a=3, b=4, c=5 に対し、余弦定理で角Cを求めよ。
-
ヒント:
- 余弦定理 cosC=(a²+b²−c²)/(2ab)。
-
np.arccosで角度を計算。
課題17 正弦定理を用いて、a=5, A=30°, B=60° のときの辺 b を計算せよ。
-
ヒント:
- a/sinA = b/sinB。
- sinB=√3/2, sinA=0.5。
課題18 GPS測位モデル:三角測量をシミュレーションし、2点の距離と角度から位置を算出せよ。
-
ヒント:
- 2点 (x1, y1), (x2, y2) と角度から三角測量。
- 直線の交点を NumPy で計算。
課題19 ロボットアーム(2リンク)の順運動学を Python で計算し、先端座標を出力せよ。
-
ヒント:
- x = l1 cosθ1 + l2 cos(θ1+θ2)。
- y = l1 sinθ1 + l2 sin(θ1+θ2)。
課題20 振動解析:y(t)=sin(2π60t+φ) と y(t)=sin(2π60t) の位相差 φ=π/3 を確認し、cosφ による力率を計算せよ。
-
ヒント:
- 2波形を重ねて描画。
- 力率 cosφ=cos(π/3)=0.5。
第6章 平面図形 ― Python課題
16. 点と直線
- 2点 (0,0), (2,4) を通る直線の方程式を Python で求め、グラフに描け。
- 傾き m=2, 切片 b=1 の直線を描け。
- 点 (3,2) から直線 y=2x+1 への距離を計算せよ。
- 直線 y=−0.5x+2 と y=2x−1 の交点を計算せよ。
- 複数の直線 (ランダム生成) を描き、交点を NumPy で求めよ。
17. 平面上の曲線
- 半径 r=3 の円の方程式 x²+y²=r² を Python で描け。
- 放物線 y=x² を描き、頂点を確認せよ。
- 楕円 x²/9+y²/4=1 を Python で描け。
- 双曲線 x²−y²=1 を Python で描け。
- 放物線アンテナの開口径 d=2m, 焦点距離 f=0.5m の形状をシミュレーションせよ。
18. 平面上の領域
- 三角形 (0,0), (4,0), (2,3) の面積を計算せよ。
- 円の面積を数値積分で求めよ (半径 r=2)。
- 関数 y=x² と y=4 の間の面積を積分で求めよ。
- 領域をメッシュ化し、重心座標を計算せよ。
- 長方形断面 (幅=2m, 高さ=3m) の慣性モーメントを計算せよ。
工学応用課題
- Hough変換の基本:直線 y=2x+1 のパラメータ (ρ, θ) を求めよ。
- 放物線反射アンテナ:入射光線を焦点で反射させる様子をプロットせよ。
- レンズ近似:楕円の曲率半径を計算せよ。
- 構造物断面:I型鋼の断面形状を定義し、断面二次モーメントを計算せよ。
- 画像処理応用:ランダム点群に対して最小二乗法直線フィッティングを行え。
第7章 個数の処理 ― Pythonプログラミング課題
19. 場合の数(順列・組合せ・二項定理)
- 順列 P(5,3) を Python で計算せよ。
- 組合せ C(5,3) を Python で計算せよ。
- n=6, r=0〜6 の二項係数を求め、リストとして表示せよ。
- 二項定理 (a+b)⁵ を展開し、係数を表示せよ。
- n=10, p=0.3 の二項分布の確率を全て求めよ。
応用例(暗号学・通信工学)
- 4桁の数字暗証番号の総数を求めよ。
- 英大文字26文字から長さ8のパスワードを作る場合の組合せ数を計算せよ。
- 鍵長128ビットの暗号鍵の組合せ数を 2ⁿ を用いて計算せよ。
- エラー検出符号:3ビットの組合せで可能な符号数を求めよ。
- 通信チャネルが2状態(0,1)を持つ場合、長さ10ビットの全組合せ数を求めよ。
Pythonで実装する演習
- itertools を使って、{1,2,3,4} の順列をすべて列挙せよ。
- itertools を使って、{A,B,C,D} の組合せを2つ選ぶ場合を列挙せよ。
- n=20, k=10 の組合せ数を math.comb で計算せよ。
- パスワード総当たり時間:毎秒10⁶回試行できる場合、8文字の小文字パスワード (26文字) を突破するのにかかる時間を計算せよ。
- 通信符号長 n=7, 情報ビット数 k=4 の場合、可能な符号語の総数を求めよ。
工学応用(情報理論)
- 情報エントロピー H=−Σp log₂p を Python で計算せよ (p={0.5,0.25,0.25})。
- 通信路容量 C=log₂(1+S/N) を S/N=10 で計算せよ。
- 2進信号を長さ5で送信する場合の全コード数を求めよ。
- 多重アクセス通信で、4人が2チャンネルを共有するときの割り当て組合せ数を求めよ。
- 二項分布の近似として正規分布を Python でシミュレーションせよ (n=100, p=0.5)。