2020年3月29日日曜日

学習環境

解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第19章(多変数の関数)、1(グラフと等位線)の練習問題16の解答を求めてみる。


  1. c 0 x - 1 2 + y + 3 2 = c

    よって等位線は 中心、半径がそれぞれ

    1 , - 3 , c

    の円 である。

コード

#!/usr/bin/env python3
from sympy import symbols, plot, solve
from sympy.plotting import plot3d

print('16.')

x, y, c = symbols('x, y, c', real=True)
eq = (x - 1) ** 2 + (y + 3) ** 2
ys = solve(eq - c, y)
cs = range(5)
p = plot3d(eq, show=False)

p.save('sample16.png')

colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']

for i, c0 in enumerate(cs):
    p = plot(*[f.subs({c: c0})
               for f in ys],
             (x, -10, 10),
             ylim=(-10, 10),
             legend=True,
             show=False)
    for o, color in zip(p, colors):
        o.line_color = color
    p.save(f'sample16_{i}.png')
p.show()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample16.py
16.
%

0 コメント:

コメントを投稿