[High School Mathematik + Python] Logistikproblem

Einführung

Ich habe die Studienbeilage als Rückblick auf die Mathematik der High School ausprobiert und sie war beeindruckend wunderbar. Insbesondere die Klasse von Professor Yoshiaki Sakai und die Klasse von Professor Masao Seki in Englisch befinden sich auf einem Niveau, das mein Leben verändert hätte, wenn ich sie in der High School besucht hätte. (Eigentlich habe ich nur diese beiden Kurse belegt.) Es wird jedoch gesagt, dass die Zeit nicht zurückgespult werden kann (ich glaube, ich kann es persönlich tun ...), deshalb möchte ich Mathematik an der High School studieren, indem ich sie in ein Programm einbinde.

In Bezug auf Studienergänzungen hat das nichts mit Lernen zu tun, und ich würde gerne einen Chemieunterricht für Schönheitslehrer sehen, aber als ich in der High School war, interessierte ich mich nur für Physik und habe überhaupt keine Chemie studiert. .. .. Wenn Sie die körperliche Kraft haben, neue Themen zu studieren, die nichts mit Arbeit zu tun haben, werde ich einen Blick darauf werfen.

Gymnasium 1-2 Jahre Mathematik auf höchstem Niveau IAIIB Vorlesung 03

\displaystyle \log_{\sqrt{a}}\left(3-x\right)-\frac{1}{\log_{2}a}>\log_{a}\left(x+2\right)+1

\Leftrightarrow\log_{a}\left(3-x\right)^{2}-\log_{a}2>\log_{a}\left(x+2\right)+\log_{a}a

\displaystyle \Leftrightarrow\log_{a}\frac{\left(3-x\right)^{2}}{2}>\log_{a}a\left(x+2\right)

$ \ displaystyle \ text {①} 0 <a <1, wenn a \ left (x + 2 \ right) <\ frac {\ left (3-x \ right) ^ {2}} {2} $

$ \ displaystyle \ text {②} 1 Wenn <a \ frac {\ left (3-x \ right) ^ {2}} {2} <a \ left (x + 2 \ right) $

$ \ text {Außerdem wird es in der Bedingung als positive Ganzzahl beschrieben, die nicht} a \ neq 1 \ text {aus der Problemstellung ist. } $

Bitte lernen Sie die Transformation der obigen Formel im Studienzusatzkurs kennen.

Zeichnen mit Matplotlib

f\left(x\right)=\left(x-3\right)^{2}

g\left(x\right)=2\left(x+2\right)

Illustrieren Sie das Diagramm von $ \ text {. } $

$ \ left (\ text {Die Formelumwandlung ist nicht Gegenstand dieses Artikels, daher habe ich sie etwas weggelassen} \ right) $

Vorbereitung

Die Ausführungsumgebung ist wie folgt.

Erstellen einer virtuellen Umgebung für Python

Erstellen Sie zunächst eine Programmerstellungsumgebung.

python -m venv math
.\math\Scripts\activate

Ich benutze keine Anakonda, IPthon oder Jupyter, es sei denn, es ist notwendig. Ich weiß, dass es sehr praktisch ist, aber aus irgendeinem Grund ist diese Methode am besten geeignet.

Überprüfen Sie die Installationsumgebung von pip

pip list
Ausführungsergebnis

Package Version ---------- ------- pip 19.0.3 setuptools 40.8.0 You are using pip version 19.0.3, however version 19.3.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.

Aktualisieren Sie pip und installieren Sie matplotlib

python -m pip install --upgrade pip
pip install matplotlib
pip install sympy

Überprüfen Sie die Installationsumgebung von pip ②

pip list
Ausführungsergebnis

Package Version ---------- ------- cycler 0.10.0 kiwisolver 1.1.0 matplotlib 3.1.1 mpmath 1.1.0 numpy 1.17.3 pip 19.3.1 pyparsing 2.4.4 python-dateutil 2.8.1 setuptools 40.8.0 six 1.13.0 sympy 1.4

Im Moment können Sie programmieren.

Ausdruckszeichnung ①

Als allererstes f\left(x\right)=\left(x-3\right)^{2} Lassen Sie uns ein Programm schreiben, das illustriert.

sample01.py


from sympy import Symbol
from sympy.plotting import plot
import numpy as np
import matplotlib.pyplot as plt

#Definieren Sie die Variable x
x = Symbol('x')

#Definieren Sie die Formel
f_x = (x-3)**2

#Da die Achse der Formel 3 ist,-Zeichnen Sie einen Bereich von 2-8
x_val = np.linspace(-2, 8, 100)

# f_Speichern Sie x-Werte in einer Liste
y_val = []
for x_data in x_val :
	y_val.append(f_x.subs({x:x_data})) 
# y_Konvertieren Sie val in das Numpy-Format
y_val = np.array(y_val)

#Bestätigung von Variableninformationen
print("x_Art des val: ")
print(type(x_val))
print("y_Art des val: ")
print(type(y_val))
print("x_Anzahl der Elemente in val: ")
print(len(x_val))
print("y_Anzahl der Elemente in val: ")
print(len(y_val))

#Erstellen eines Diagrammerstellungsbereichs
fig = plt.figure()

#Zeichnen eines Diagramms
plt.plot(x_val, y_val, label="f_x")

#Angeben und Speichern des Diagrammdateinamens
outputFileName = "sample01.png "
plt.savefig(outputFileName)
plt.close()

Ausführungsergebnis

Typ von x_val: <class 'numpy.ndarray'> Typ von y_val: <class 'numpy.ndarray'> Anzahl der Elemente in x_val 100 Anzahl der Elemente in y_val 100

sample01.png

Ausrede

Ich weiß, dass es sich um einen erzwungenen Code handelt, aber zu diesem Zeitpunkt (Stand 10. November 2019) ist dies alles, was ich tun kann. Wenn jemand weiß, wie man schön schreibt, geben Sie mir bitte einen Rat.

plot(f_x, (x,-2,8))

Es ist leicht zu veranschaulichen, aber die Funktion plt.savefig funktioniert nicht, oder? Wenn Sie also wissen, dass es sich um schmutzigen Code handelt, wenn Sie ein Programm innerhalb des Ihnen bekannten Wissens schreiben, handelt es sich um den oben genannten Inhalt. .. ..

Ausdruckszeichnung ②

Siehe unten

Schließlich

Ich möchte die Python-Grammatik und die Matplotlib-Formatierung auf einer anderen Seite zusammenfassen.

Recommended Posts

[High School Mathematik + Python] Logistikproblem
[Python] ABC159D (High School Mathematics nCr) [Bei Coder]
Zusammenfassung der AtCoder C-Probleme, die in der Mathematik der High School gelöst werden können
Versuchen Sie, ein festgelegtes Problem der High-School-Mathematik mit Python zu lösen
#Python DeepLearning Basics (Mathematik 1/4)
Ambisonics-Simulation (externes Problem) Python
Python # Snap7 Libray Importproblem
Lassen Sie uns ein automatisches Faktorisierungsgerät / Junior High School Mathematics Vol.1 erstellen