0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonプログラミングで学ぶ高専微分積分学

Posted at

第1章 数列と関数の極限

  • 数列とその和
    等比数列・等差数列、収束・発散の判定。

  • 数列の極限
    無限大・0に収束する数列、発散する数列。

  • 関数とその極限
    x→a, x→∞ における関数の極限、ε-δ論法の基礎。

  • 工学応用:信号サンプリングと収束

    • 離散信号に対する収束(例:デジタルフィルタの安定性)。
    • サンプリング定理との関係。
    • 数列の極限と信号処理アルゴリズムの安定性評価。

第2章 微分法

  • 微分法の基本
    導関数の定義、増加率と瞬間変化率。

  • いろいろな関数の導関数
    指数関数、対数関数、三角関数。

  • 微分法の応用
    接線の方程式、増減表、最大最小問題。

  • 工学応用

    • 運動方程式:速度 v = dx/dt、加速度 a = dv/dt。
    • 電気回路:電流変化率 di/dt とインダクタ v = L di/dt。
    • 機械:応力とひずみの関係(σ=Eε)、時間変化の評価。

第3章 積分法

  • 不定積分
    公式と手法、部分積分・置換積分。

  • 定積分
    面積計算、リーマン積分の意味。

  • 定積分の応用
    面積・体積・平均値。

  • 工学応用

    • 電気回路:電荷 q(t)=∫i(t)dt、コンデンサ電圧 v=1/C ∫i dt。
    • 力学:仕事 W=∫F dx、運動エネルギー計算。
    • 熱工学:熱量 Q=∫mcp dT。
    • 信号処理:エネルギー積分 E=∫|x(t)|²dt。

第4章 いろいろな微分法と積分法

  • 曲線の媒介変数表示と極方程式
    極座標曲線、工学図形(スパイラル、放物線)。

  • 関数の極限と積分法
    不定積分と極限処理。

  • 工学応用

    • 機械工学:カム曲線設計における媒介変数。
    • ロボティクス:軌道計画の曲線表現。
    • 安定性解析:関数極限でモデルが安定/不安定かを評価。

第5章 関数の展開

  • 関数の展開
    テイラー展開、マクローリン展開。
    フーリエ展開による周期関数の表現。

  • 工学応用

    • 信号処理:フーリエ級数を用いた周期信号解析。
    • 回路工学:フィルタ周波数応答の解析。
    • 振動解析:複雑な入力波形をフーリエ級数で展開し、共振応答を計算。

第6章 偏微分法

  • 偏導関数
    多変数関数の導関数、勾配ベクトル。

  • 偏導関数の応用
    ラグランジュ未定乗数法による制約付き最適化。

  • 工学応用

    • 熱伝導方程式 ∂u/∂t = α ∂²u/∂x²。
    • 波動方程式 ∂²u/∂t² = c² ∂²u/∂x²。
    • 電磁場:マクスウェル方程式(∇×E = −∂B/∂t)。
    • 機械学習:損失関数の勾配降下法。

第7章 2重積分

  • 2重積分の基礎
    領域積分、極座標変換。

  • 工学応用

    • 電磁場:エネルギー W=½∬ε|E|² dV。
    • 構造力学:断面二次モーメント I=∬y² dA。
    • 流体力学:流量 Q=∬v·dA。
    • 質量分布:重心 (x̄,ȳ) = (1/M) ∬ xρ(x,y) dA。

第1章 数列と関数の極限 ― Python課題


課題1-1
等差数列 an = 2n+1 の最初の10項を Python で表示せよ。
ヒント: for ループまたは list comprehension。


課題1-2
等比数列 an = (1/2)^n を n=1〜20 まで計算してプロットせよ。
ヒント: matplotlib.pyplot.plot


課題1-3
数列 an = (n+1)/n を n=1〜1000 まで計算し、lim n→∞ an を推定せよ。
ヒント: 最後の値を表示。


課題1-4
数列 an = (−1)^n を n=1〜20 まで表示せよ。
収束か発散かを考察せよ。


課題1-5
数列 an = n/(n+1) を Python で計算し、収束先を数値的に確認せよ。
ヒント: np.arange を使う。


課題1-6
数列 an = sin(n)/n を n=1〜1000 まで計算し、収束を確認せよ。
ヒント: numpy.sin


課題1-7
数列 an = (1+1/n)^n を n=1〜1000 まで計算し、e ≈ 2.718 に収束することを確認せよ。


課題1-8
数列 an = (1−1/n)^n を計算し、極限を確認せよ。
ヒント: → 1/e に収束。


課題1-9
数列 an = n^0.5 / n を計算し、lim n→∞ を確認せよ。
ヒント: 1/√n → 0。


課題1-10
関数 f(x) = (sin x)/x の極限 lim x→0 を数値的に近似せよ。
ヒント: np.linspace(-0.1,0.1,100) で計算。


課題1-11
関数 f(x) = (1−cos x)/x^2 の極限 lim x→0 を数値的に確認せよ。
ヒント: → 1/2。


課題1-12
関数 f(x) = (x^2−1)/(x−1) の lim x→1 を数値的に計算せよ。
ヒント: → 2。


課題1-13
ε-δ論法のイメージ: f(x)=x^2 について、x→2 のとき f(x)→4 を数値的に ε=0.1 の範囲で確認せよ。


課題1-14
数列 an = (n+sin n)/n を計算し、lim n→∞ = 1 を確認せよ。


課題1-15
数列 an = ln(n+1)−ln(n) を計算し、lim n→∞ = 0 を確認せよ。
ヒント: 対数関数。


課題1-16
信号処理応用: FIRフィルタのインパルス応答 h[n]= (1/3) for n=0,1,2 を定義し、インパルス入力を畳み込みして出力を表示せよ。
ヒント: np.convolve


課題1-17
IIRフィルタ y[n] = 0.5 y[n−1] + x[n] をステップ入力でシミュレーションし、収束を確認せよ。
ヒント: forループ。


課題1-18
サンプリング定理: f(t)=sin(2π50t) を fs=200Hz でサンプリングし、プロットせよ。
ヒント: np.linspace


課題1-19
サンプリング定理違反: f(t)=sin(2π150t) を fs=200Hz でサンプリングし、エイリアシングを確認せよ。


課題1-20
数列の極限と安定性: y[n] = 0.9 y[n−1] を初期値 y[0]=1 でシミュレーションし、n→∞ で 0 に収束することを確認せよ。
ヒント: forループまたは再帰計算。


第2章 微分法 ― Python課題


課題2-1
導関数の定義
関数 f(x)=x² の導関数を極限定義
f’(x)=lim(h→0)[f(x+h)−f(x)]/h で近似計算せよ。
ヒント: h=1e−5 を使う。


課題2-2
関数 f(x)=x³−3x²+2x の導関数を sympy で求めよ。
ヒント: diff を使用。


課題2-3
指数関数 f(x)=e^x の導関数を数値微分で計算し、理論値 e^x と比較せよ。


課題2-4
対数関数 f(x)=ln(x) の導関数を数値微分で近似し、理論値 1/x と比較せよ。


課題2-5
三角関数 f(x)=sin(x) の導関数を数値微分し、cos(x) と比較せよ。


課題2-6
関数 f(x)=cos(x) の導関数を sympy で計算せよ。
ヒント: −sin(x) が出ることを確認。


課題2-7
接線の方程式: f(x)=x² において、x=1 の接線を Python で求め、グラフに描け。
ヒント: y=f’(1)(x−1)+f(1)。


課題2-8
関数 f(x)=x³−6x²+9x+1 の増減表を作成し、極大・極小を Python で数値的に求めよ。


課題2-9
最大最小問題: 長さ10の周囲を持つ長方形の面積を最大化せよ。
ヒント: A=xy, 制約 2(x+y)=10。微分で最適解。


課題2-10
速度と加速度: x(t)=t³−3t²+2t の速度 v(t), 加速度 a(t) を Python で計算せよ。


課題2-11
物体落下: x(t)=1/2 g t² を微分して速度 v=g t を確認せよ。
g=9.8 m/s² を使用。


課題2-12
単振動: x(t)=sin(2πft) の速度と加速度を微分で求めよ。
ヒント: v=2πf cos(2πft), a=−(2πf)² sin(2πft)。


課題2-13
インダクタ回路: i(t)=sin(100t) を L=1mH に流したときの v=L di/dt を Python で計算せよ。


課題2-14
コンデンサ回路: v(t)=cos(100t), C=1µF の場合、i=C dv/dt を Python で計算せよ。


課題2-15
応力とひずみ: ε(t)=0.01 t のとき σ=Eε を微分し、dσ/dt を計算せよ。
E=200 GPa とする。


課題2-16
ニュートン冷却則: T(t)=Tenv+(T0−Tenv)e^(−kt) を微分し、冷却速度 dT/dt を Python で確認せよ。


課題2-17
人口モデル: P(t)=P0 e^(rt) を微分して成長速度 dP/dt を確認せよ。
P0=100, r=0.05。


課題2-18
ロジスティック成長: P(t)=K/(1+Ae^(−rt)) を微分して成長率を求めよ。
K=1000, r=0.1, A=9。


課題2-19
フィルタ応答: y(t)=e^(−t)sin(10t) を微分して出力の変化率を数値的に計算せよ。


課題2-20
数値微分アルゴリズム: 前進差分・中心差分・後退差分を Python で実装し、f(x)=sin(x) の導関数精度を比較せよ。


第3章 積分法 ― Python課題


課題3-1
f(x)=x² の不定積分を sympy で計算せよ。
ヒント: integrate(x**2, x) を使う。


課題3-2
f(x)=sin(x) の不定積分を sympy で求めよ。


課題3-3
置換積分: ∫2x cos(x²) dx を sympy で計算せよ。


課題3-4
部分積分: ∫x e^x dx を sympy で計算せよ。


課題3-5
定積分: ∫₀¹ x² dx を sympy で計算せよ。理論値 1/3 と比較せよ。


課題3-6
定積分: ∫₀^π sin(x) dx を sympy で計算せよ。結果が2になることを確認せよ。


課題3-7
数値積分: f(x)=e^(−x²) を区間[0,1]で積分し、scipy の quad を使って数値計算せよ。


課題3-8
リーマン和近似: f(x)=x² を区間[0,1]で区切り数 n=100 でリーマン和を実装し、定積分値と比較せよ。


課題3-9
面積計算: y=x² と y=√x の交点で囲まれた領域の面積を定積分で求めよ。


課題3-10
回転体の体積: 半径 r=1 の円を x軸まわりに回転させた体積(球の体積 4/3πr³)を定積分で計算せよ。


課題3-11
平均値: f(x)=x² を [0,2] で積分して関数の平均値を求めよ。
ヒント: 平均値 = (1/(b−a))∫ₐᵇ f(x) dx。


課題3-12
電気回路: i(t)=sin(t), C=1µF のとき v(t)=(1/C)∫i dt を Python でシミュレーションせよ。


課題3-13
電荷計算: i(t)=0.01 t A を t=0〜10s で流したとき、電荷 q(t)=∫i dt を Python で計算せよ。


課題3-14
力学: F(x)=kx, k=10 N/m のバネを x=0〜0.2m 伸ばしたときの仕事 W=∫F dx を計算せよ。


課題3-15
運動エネルギー: m=1kg, v(t)=t² の場合、運動エネルギー E=∫ m v dv を積分で確認せよ。


課題3-16
熱工学: m=1kg, cp=1000 J/kgK, T=300〜350K のとき Q=∫ mcp dT を計算せよ。


課題3-17
信号処理: x(t)=sin(2πft), f=50Hz のエネルギー積分 E=∫|x(t)|² dt を 0〜1s の範囲で数値積分せよ。


課題3-18
確率: 確率密度関数 f(x)=e^(−x), x≥0 のとき、∫₀^∞ f(x) dx=1 になることを数値積分で確認せよ。


課題3-19
ガウス積分: ∫₋∞^∞ e^(−x²) dx を数値積分し、√π に近いことを確認せよ。


課題3-20
フーリエ係数: f(x)=x, 区間 [−π,π] の a₀, aₙ, bₙ を定積分で計算し、Python で部分和を再現せよ。

第4章 いろいろな微分法と積分法 ― Pythonプログラミング課題

課題4-1
媒介変数表示 x(t)=cos(t), y(t)=sin(t) を Python で定義し、t=0〜2π の曲線をプロットせよ。
ヒント: parametric plot。

課題4-2
極方程式 r(θ)=1+cos(θ) を Python で極座標プロットせよ。
ヒント: matplotlib の polar プロットを利用。

課題4-3
アーキメデスの螺旋 r=aθ を a=0.1 として θ=0〜4π でプロットせよ。

課題4-4
放物線の媒介変数表示 x=2t, y=t² を Python で描画せよ。

課題4-5
媒介変数表示 x(t)=t−sin(t), y(t)=1−cos(t) の曲線を描け。
ヒント: サイクロイド。

課題4-6
媒介変数表示での速度ベクトル (dx/dt, dy/dt) を計算し、曲線上に矢印で表示せよ。

課題4-7
媒介変数表示の曲線長 L=∫√((dx/dt)²+(dy/dt)²) dt を数値積分で求めよ。

課題4-8
媒介変数表示の曲線の曲率 κ=|x'y''−y'x''| / (x'²+y'²)^(3/2) を計算せよ。

課題4-9
極方程式 r=cos(2θ) を 0〜2π でプロットし、花形曲線を描け。

課題4-10
極方程式 r=a(1−cosθ) の面積を定積分で求めよ。
ヒント: 面積=1/2 ∫ r² dθ。

課題4-11
不定積分 ∫ (sinx)/x dx を sympy で計算し、特殊関数 Si(x) が現れることを確認せよ。

課題4-12
極限 lim (x→0) (sinx/x) を Python で数値的に確認せよ。

課題4-13
極限 lim (x→∞) (1+1/x)^x を計算し、e に収束することを確認せよ。

課題4-14
関数 f(x)=1/x の積分 ∫₁^∞ 1/x dx が発散することを Python で数値的に確認せよ。

課題4-15
ガンマ関数 Γ(n)=∫₀^∞ x^(n−1) e^(−x) dx を数値積分で実装し、n=1,2,3 の値を確認せよ。

課題4-16
媒介変数表示でロボットの軌道 x(t)=cos(t), y(t)=sin(2t) を描画し、非円軌道を確認せよ。

課題4-17
安定性解析: f(x)=1/(1+x²) の極限 lim (x→∞) f(x) を Python で確認し、安定収束することを示せ。

課題4-18
安定性解析: f(x)=e^x の極限 lim (x→∞) f(x) を確認し、発散することを確認せよ。

課題4-19
媒介変数表示を用いてカム曲線 x(t)=t, y(t)=1−cos(t) を描画せよ。

課題4-20
極方程式 r=θ の曲線を θ=0〜6π でプロットし、スパイラルの広がりを確認せよ。

第5章 関数の展開 ― Pythonプログラミング課題

課題5-1
関数 f(x)=e^x を 0 点まわりで 5 次までマクローリン展開し、元の関数と近似の差をプロットせよ。
ヒント: sympy.series を利用。

課題5-2
関数 f(x)=sin(x) を 0 点まわりで 7 次まで展開し、近似と実際の sin(x) を比較せよ。

課題5-3
関数 f(x)=ln(1+x) を 0 点まわりで 5 次まで展開し、x=0.1〜1 の範囲で近似誤差を確認せよ。

課題5-4
関数 f(x)=cos(x) のマクローリン展開を 10 次まで行い、近似精度を確認せよ。

課題5-5
テイラー展開の一般式を Python 関数で実装し、任意の f(x), 展開点 a, 展開次数 n を指定して展開できるようにせよ。

課題5-6
周期関数 f(x)=x (−π < x < π) をフーリエ級数展開し、部分和を 1, 3, 10 項でプロットせよ。

課題5-7
方形波 f(x)=sgn(sin(x)) をフーリエ級数展開し、オーバーシュート(ギブス現象)を確認せよ。

課題5-8
三角波をフーリエ級数で展開し、3 項, 10 項, 50 項の近似を比較せよ。

課題5-9
フーリエ級数展開で得られる係数 an, bn を Python 関数で計算し、数値的に確認せよ。

課題5-10
フーリエ展開で得られる周波数スペクトルを棒グラフで表示せよ。

課題5-11
関数 f(x)=|x| (−π<x<π) をフーリエ級数展開し、部分和の収束を確認せよ。

課題5-12
信号処理応用: 周期信号 f(t)=sin(t)+0.5sin(3t) をフーリエ展開し、周波数成分を確認せよ。

課題5-13
フィルタ応用: ローパスフィルタのインパルス応答 h(t)=sinc(t) をフーリエ変換して、周波数特性を確認せよ。

課題5-14
振動解析: 入力 f(t)=矩形波をフーリエ展開し、単振動系の応答を計算せよ。

課題5-15
関数 f(x)=exp(−x²) をテイラー展開とフーリエ変換の両方で近似し、比較せよ。

課題5-16
フーリエ級数展開を用いて周期信号を合成し、元の関数との誤差を計算せよ。

課題5-17
関数 f(x)=1/(1+x²) を −π〜π でフーリエ展開し、部分和を確認せよ。

課題5-18
ランダムな周期関数を定義し、FFT を使ってフーリエ係数を推定せよ。

課題5-19
部分和の収束速度を確認せよ。三角波と矩形波で項数を変えたときの誤差をプロット。

課題5-20
フーリエ級数の理論式と FFT の数値結果を比較し、誤差を解析せよ。

第6章 偏微分法 ― Pythonプログラミング課題

課題6-1
関数 f(x,y)=x²+y² の ∂f/∂x, ∂f/∂y を Python (sympy) で計算せよ。

課題6-2
f(x,y)=sin(xy) の勾配ベクトル ∇f を計算せよ。

課題6-3
f(x,y,z)=x²+2y²+3z² のヘッセ行列を Python で計算せよ。

課題6-4
f(x,y)=x²+y² の等高線と勾配ベクトルを matplotlib で可視化せよ。

課題6-5
f(x,y)=e^(−(x²+y²)) の ∇f を計算し、ベクトル場をプロットせよ。

課題6-6
制約条件 g(x,y)=x+y−1=0 の下で f(x,y)=x²+y² を最小化せよ。
ヒント: ラグランジュ未定乗数法を sympy.solve で実装。

課題6-7
f(x,y)=x²+xy+y² の最小値を ∂f/∂x=0, ∂f/∂y=0 から求めよ。

課題6-8
f(x,y)=sin(x)+cos(y) の鞍点を Python で計算せよ。

課題6-9
熱伝導方程式 ∂u/∂t = α∂²u/∂x² を1次元差分法で数値解け。

課題6-10
波動方程式 ∂²u/∂t²=c²∂²u/∂x² を差分法で解き、時間発展をアニメーションで表示せよ。

課題6-11
マクスウェル方程式の1次元版 ∂E/∂t=−∂B/∂x, ∂B/∂t=−∂E/∂x をシミュレーションせよ。

課題6-12
機械学習: 二乗誤差損失 L(w)=∑(y−wx)² の ∂L/∂w を Python で導出し、数値確認せよ。

課題6-13
勾配降下法で y=x² の最小値を探索せよ。初期値 x0=5, 学習率=0.1。

課題6-14
2変数関数 f(x,y)=x²+y² を勾配降下法で最小化せよ。

課題6-15
f(x,y)=x³−3xy² の偏導関数を求め、臨界点を分類せよ。

課題6-16
f(x,y)=x²y−y³ の等高線図を描き、勾配ベクトルをプロットせよ。

課題6-17
f(x,y)=exp(xy) のヘッセ行列を求め、固有値を計算して凸性を判定せよ。

課題6-18
ラグランジュ乗数法で f(x,y)=xy を制約 x²+y²=1 の下で最大化せよ。

課題6-19
f(x,y)=ln(x)+ln(y) を制約 x+y=10 で最適化せよ。

課題6-20
勾配ベクトル場を Quiver プロットで可視化し、最急降下方向を示せ。


第7章 2重積分 ― Pythonプログラミング課題

課題7-1
f(x,y)=x+y を矩形領域 [0,1]×[0,1] で積分せよ。

課題7-2
f(x,y)=x²+y² を領域 [0,1]×[0,1] で積分し、数値解と解析解を比較せよ。

課題7-3
f(x,y)=sin(x)cos(y) を領域 [0,π]×[0,π/2] で積分せよ。

課題7-4
f(x,y)=1 を半径1の円領域で積分し、面積 π を確認せよ。

課題7-5
極座標変換を用いて f(r,θ)=r を領域 r∈[0,1], θ∈[0,2π] で積分せよ。

課題7-6
関数 f(x,y)=x を領域 0≤y≤x≤1 で積分せよ。

課題7-7
f(x,y)=xy を領域 0≤x≤1, 0≤y≤2 で積分せよ。

課題7-8
f(x,y)=exp(−(x²+y²)) を領域 [−∞,∞]² で積分し、π を確認せよ。

課題7-9
関数 f(x,y)=y² を三角形領域 (0,0),(1,0),(1,1) で積分せよ。

課題7-10
断面二次モーメント I=∬y² dA を矩形断面 b=2,h=1 で計算せよ。

課題7-11
円断面半径 r=1 の断面二次モーメントを 2重積分で求めよ。

課題7-12
電場エネルギー W=½∬ε|E|² dV を E=1V/m, ε=8.85e−12, 立方体体積=1m³ で計算せよ。

課題7-13
流量 Q=∬v·dA を速度 v=2m/s, 面積=0.1m² で計算せよ。

課題7-14
質量分布 ρ(x,y)=1 の場合の重心 (x̄,ȳ) を領域 [0,1]×[0,1] で計算せよ。

課題7-15
ρ(x,y)=x の場合の重心を同領域で計算せよ。

課題7-16
ρ(x,y)=x+y の場合の重心を同領域で計算せよ。

課題7-17
矩形領域 [0,a]×[0,b] の重心を一般式で計算し、a=2,b=3 の場合を確認せよ。

課題7-18
三角形領域 (0,0),(a,0),(0,b) の重心を 2重積分で求めよ。

課題7-19
流速 v(x,y)=x を領域 [0,1]×[0,1] で積分し、流量を計算せよ。

課題7-20
f(x,y)=cos(x²+y²) を領域 [0,1]×[0,1] で積分せよ。

課題7-21
f(x,y)=x e^(−x²−y²) を領域 R² で積分し、偏微分法と比較せよ。

課題7-22
ガウス積分を数値的に計算せよ。 ∫∫exp(−(x²+y²)) dxdy。

課題7-23
矩形領域でモンテカルロ積分を実装し、f(x,y)=x²+y² を計算せよ。

課題7-24
円領域でモンテカルロ積分を実装し、円面積を推定せよ。

課題7-25
重積分を数値積分 (scipy.dblquad) で解き、シンボリック計算と比較せよ。

課題7-26
f(x,y)=x²+y を領域 [0,1]×[0,2] で積分せよ。

課題7-27
関数 f(x,y)=sin(xy) を領域 [0,1]×[0,1] で積分せよ。

課題7-28
f(x,y)=e^(x+y) を領域 [0,1]×[0,1] で積分せよ。

課題7-29
f(x,y)=x y² を領域 0≤x≤1, 0≤y≤1−x で積分せよ。

課題7-30
関数 f(x,y)=1 を円環領域 r∈[1,2], θ∈[0,2π] で積分し、面積を求めよ。

課題7-31
f(x,y)=r² を円領域 r∈[0,1], θ∈[0,2π] で積分せよ。

課題7-32
極座標で ∫∫ e^(−r²) r dr dθ を計算せよ。

課題7-33
矩形領域で格子点を使い、数値積分を近似的に計算せよ。

課題7-34
重積分の順序を変えて f(x,y)=x+y を領域 [0,1]×[0,1] で計算せよ。

課題7-35
直方体領域で ∭ f(x,y,z)=x+y+z を数値積分し、拡張版を確認せよ。

課題7-36
質量 M=∬ρ(x,y)dA を ρ(x,y)=x²+y² のときに計算せよ。

課題7-37
f(x,y)=xy を台形領域 (0,0),(1,0),(1,1),(0,2) で積分せよ。

課題7-38
矩形領域で台形公式による数値積分を実装し、精度を確認せよ。

課題7-39
f(x,y)=exp(x)cos(y) を領域 [0,1]×[0,π/2] で積分せよ。

課題7-40
重心 (x̄,ȳ) を ρ(x,y)=1 の円領域 r≤1 で積分により求めよ。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?