# 軸ラベルとタイトルの設定 ax.set_xlabel('Initial Mass (kg)') ax.set_ylabel('Final Mass (kg)') ax.set_zlabel('Terminal Velocity (m/s)') ax.set_title('Terminal Velocity vs. Initial and Final Mass')
plt.show()
この例では、初期質量と最終質量を変化させたときのターミナル速度を3Dグラフで表示しています。
[実行結果]
パラメータや方程式を実際の状況に合わせて変更することが重要です。
ソースコード解説
以下に、コードの主な要素を章立てして説明します。
1. 関数 terminal_velocity の定義:
1 2 3
defterminal_velocity(m0, mf, Isp, A, rho_c, Cd): g = 9.8# 重力加速度 (m/s^2) return np.sqrt((2 * g * Isp * np.log(m0 / mf)) / (A * rho_c * Cd))
ax.set_xlabel('Initial Mass (kg)') ax.set_ylabel('Final Mass (kg)') ax.set_zlabel('Terminal Velocity (m/s)') ax.set_title('Terminal Velocity vs. Initial and Final Mass')
# グラフのラベル設定 ax.set_xlabel('Real axis') ax.set_ylabel('Imaginary axis') ax.set_zlabel('Real part of the equation') ax.set_title('Graph of a complex equation')
plt.show()
この例では、$ (z^3 - 1) $という複素数の3次方程式を使用しています。
これは複素数平面上の方程式です。
3Dプロットは、実部と虚部の関係を示し、方程式の解の振る舞いを可視化します。
[実行結果]
ソースコード解説
このコードは、複素平面上で$ (z^3 - 1) $のグラフを3Dで描画しています。
ここでの$ (z) $は、複素数$ (z = x + yi) $で表され、実部が$ (x) $軸、虚部が$ (y) $軸にマッピングされています。
import numpy as np import matplotlib.pyplot as plt from scipy.integrate import odeint
# ロジスティック方程式(捕食者-被食者モデル) defpredator_prey_system(y, t, alpha, beta, delta, gamma): x, y = y dxdt = alpha * x - beta * x * y dydt = delta * x * y - gamma * y return [dxdt, dydt]