[GO] Examen mathématique précoce de l'Université Tohoku 2020 (sciences) J'ai essayé de résoudre les grandes questions 1 à 3 avec Python

Ravi de vous rencontrer, c'est MatLaser! Ceci est le premier article de Qiita à commémorer, merci! J'utilise habituellement Python pour la recherche, mais récemment, je me suis intéressé à diverses technologies et j'étudie petit à petit. J'ai toujours voulu faire ce post une fois, et GW a le temps, donc je l'ai écrit comme une bonne opportunité. En raison du manque de technologie et de connaissances, je pense qu'il y a un codage inefficace et des malentendus, mais comme il est écrit pour les débutants, j'espère que vous pouvez le voir avec des yeux chaleureux.

Veuillez vous référer au pdf des questions et réponses ici. Dans cet article également, nous allons essentiellement coder en fonction de la façon de résoudre la réponse.

Problème Réponse 1,4,5,6 Réponse 2,3

Première question

(1) Vous utilisez simplement le théorème du cosinus.

(2) En définissant correctement les coordonnées des trois points A, B et C, l'existence de la variable $ s $ peut être définie uniquement sur les coordonnées $ y $ du point P, ce qui facilite un peu le calcul.

Voici l'image de la réponse. スクリーンショット (120).png

Codons.

1.py



#Conditions initiales
ab = 1
ac = 1
bc = 0.5

import numpy as np

# (1)
#Théorème du cosinus
cos_theta = (ab**2 + ac**2 - bc**2) / (2 * ab * ac)
sin_theta = np.sqrt(1 - cos_theta**2)
print(cos_theta, sin_theta) # 0.875 0.484 = 7/8 (√15)/8

# (2)
# func = AP^2 + BP^2 + CP^2
def func(s):
    return 25/32 + 15/64 * ((3 * (s - 2/3)**2) + 2/3)

lis = [] #Une liste qui stocke la valeur de la variable s et de la fonction à ce moment-là sous forme de taple

# 0<s<1 à 0.Changer par 01 et rechercher tout
for s in np.arange(0,1,0.01):
    value = func(s)
    lis.append((s, value))

print(lis)
# min_Trier par valeur et afficher le premier élément
lis_sort = sorted(lis, key=lambda values: values[1])
print(lis_sort[0]) # (s, min_value) = (0.67, 0.9375)

Deuxième question

(1) Vous pouvez trouver docilement l'intersection des droites L et M et la remplacer par le cercle C.

(2) Le sujet est satisfait lorsque la distance entre le centre du cercle C et la droite L est inférieure au rayon (a) du cercle C.

(3) Similaire à (2), vous pouvez trouver le nombre de magasins partagés en comparant la distance entre le point et la ligne droite et le rayon du cercle C, puis il suffit de regarder honnêtement. Cela ne change que l'inégalité dans (2), donc je vais l'omettre.

Voici l'image de la réponse. スクリーンショット (121).png

Codons.

2.py



import sympy
x = sympy.Symbol('x')
y = sympy.Symbol('y')
a = sympy.Symbol('a')

# (1)
expr1 = -4 * x + 3 * y + a
expr2 = 3 * x + 4 * y - 7 * a
d = sympy.solve([expr1, expr2], [x,y])
# print(d) #L'intersection des droites L et M(a, a)je comprends

#Dans le cercle C (a,Remplaçant a)
sympy.var('x, y, a')
x = d[x] #Remplacez x par la coordonnée x de l'intersection obtenue ci-dessus
y = d[y] #Substituez la coordonnée y de l'intersection obtenue ci-dessus pour y
sol = sympy.solve (1 * x**2 - 2 * a * x + y**2 - 4 * y + 4, a)
sympy.init_printing()
print(sol) #Obtenez une liste de réponses (seulement 1 cette fois)

# (2)
#La solution de l'inégalité peut être le type de l'intervalle avec Intervalle et l'ensemble de somme doit être pris, mais cette fois, il se termine par trouver la valeur limite à partir de l'équation.
dis = abs(6 - 3 * a)/5
# dis^2 = abs(a)Pour mettre les deux côtés au carré et résoudre
expr3 = 16 * a**2 + 36 * a - 36
d2 = sympy.solve([expr3])
print(d2) # [{a: -3}, {a: 3/4}]Valeur limite où le nombre de magasins partagés change

# (3)
#réduction

Troisième question

(1) En regardant l'énoncé du problème, je pense que les trois solutions suivantes me viennent à l'esprit. ・ Méthode de réduction mathématique ・ Dérivation de l'inégalité par transformation de formule ・ Fonctionnalisation: $ f (n) = 3 ^ n- (2 ^ n + n ^ 2 + 8) $, et $ n ≧ 3 $ indique que $ f (n)> 0 $ La réponse utilise la méthode de régression mathématique, mais du point de vue de la résolution par programmation, je pense que la fonctionnalisation est la plus simple.

(2) Puisque (1) montre que $ n ≧ 3 $ et $ f (n)> 0 $, au moins $ n <3 $ est requis pour $ f (n) ≦ 0 $. Doit être. De plus, puisque $ n $ est un entier positif cette fois, nous pouvons voir que $ n = 1,2 $ est une solution candidate. Une fois que vous savez cela, tout ce que vous avez à faire est de remplacer et de voir si le sujet tient.

(3) Puisque $ a, b, n $ valent tous 0 ou plus, l'équation $ 2 ^ n + n ^ 2 + 8 = 3 ^ n + an + b $ est valable pour $ n = 1 $ ou $ 2 $ Seulement.

Voici l'image de la réponse. image.png

Codons.

3.py



# (1)
import math

# f(n)
def func(n):
    return 3**n - (2**n + n**2 + 8)

# f'(n)
def func_p1(n):
    return 3**n * math.log(3) - (2**n * math.log(2) + 2 * n)

# f''(n)
def func_p2(n):
    return 3**n * math.log(3)**2 - 2**n * math.log(2)**2

# print(func_p2(3)) # 28.74 ← 0 ou plus
#Et n>3 à func_p2(n) >0 (∵ 3**n >> 2**n)

#Par conséquent n>3 à func_p1(n)Augmente de façon monotone...(1)
#Imprimer également(func_p1(3)) # 18.11 ← 0 ou plus...(2)

# (1),(2)Plus n>3 à func(n)Également en augmentation monotone...(3)
#Impression supplémentaire(func(3)) #2 ← 0 ou plus...(4)

#Donc,(3),(4)Plus n>=3 à func(n) > 0 
# Q.E.D

# (2)
print(func(1), func(2)) # -8 -7 Par conséquent f(n) <0, donc n qui satisfait le sujet est 1,2

# (3)

lis = [] #Liste des solutions
for a in range(9): # n,a,b >=De 0, a,b vaut 0~8 suffit
    for b in range(9):
        # n=Quand 1
        jouken1 = a + b # joken1 = 8

        # n=2 heures
        jouken2 = 2 * a + b # joken2 = 7

        if jouken1 == 8:
            lis.append((a,b,1))
        elif jouken2 == 7:
            lis.append((a,b,2))
        else:
            continue

print(lis)
#[(0, 7, 2), (0, 8, 1), (1, 5, 2), (1, 7, 1), (2, 3, 2), (2, 6, 1), (3, 1, 2), (3, 5, 1), (4, 4, 1), (5, 3, 1), (6, 2, 1), (7, 1, 1), (8, 0, 1)]

Cette fois, je voudrais terminer ici. Je pourrais faire le reste des problèmes si je suis trop libre pour mourir ww J'ai utilisé Python pour la première fois pour résoudre des équations simultanées, ce qui est merveilleux. Vous pouvez vraiment tout faire, Python est incroyable! Si je trouve quelque chose que je veux essayer à nouveau ou quelque chose qui semble intéressant, je le ferai sans le vouloir.

Merci pour votre visite.

Recommended Posts

Examen mathématique précoce de l'Université Tohoku 2020 (sciences) J'ai essayé de résoudre les grandes questions 1 à 3 avec Python
J'ai essayé de résoudre la première question de l'examen d'entrée en mathématiques 2019 de l'Université de Tokyo avec python sympy
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de résoudre la théorie des nombres entiers d'AOJ avec Python
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Je voulais résoudre ABC160 avec Python
J'ai essayé de résoudre TSP avec QAOA
Je voulais résoudre ABC172 avec Python
[Bases de la science des données] J'ai essayé d'enregistrer de csv à mysql avec python
Comment écrire hors ligne en temps réel J'ai essayé de résoudre E11 avec python
Comment écrire en temps réel hors ligne J'ai essayé de résoudre E12 avec python
Je voulais résoudre NOMURA Contest 2020 avec Python
J'ai essayé d'obtenir des données CloudWatch avec Python
Je veux résoudre APG4b avec Python (chapitre 2)
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 5/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 7/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 4/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Part3 / 22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 6/22]
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé de démarrer avec le script python de blender_Part 01
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de démarrer avec le script python de blender_Partie 02
J'ai essayé d'implémenter le perceptron artificiel avec python
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
J'ai essayé de simuler la propagation de l'infection avec Python
Je voulais résoudre le concours de programmation Panasonic 2020 avec Python
J'ai essayé de créer diverses "données factices" avec Python faker
J'ai essayé différentes méthodes pour envoyer du courrier japonais avec Python
Mayungo's Python Learning Episode 3: J'ai essayé d'imprimer des nombres
J'ai essayé gRPC avec Python
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
[3ème] J'ai essayé de créer un certain outil de type Authenticator avec python
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai essayé de créer une liste de nombres premiers avec python
[Pandas] J'ai essayé d'analyser les données de ventes avec Python [Pour les débutants]
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de savoir si ReDoS est possible avec Python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
Je voulais résoudre le problème ABC164 A ~ D avec Python
Examen de base de la certification d'ingénieur Python3 - J'ai essayé de résoudre l'examen simulé
J'ai essayé de résumer les remarques de tout le monde sur le slack avec wordcloud (Python)
J'ai essayé de créer une application todo en utilisant une bouteille avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de détecter facilement les points de repère du visage avec python et dlib
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de collecter automatiquement des images de Kanna Hashimoto avec Python! !!
J'ai essayé de créer une fonction de similitude d'image avec Python + OpenCV
J'ai essayé de toucher Python (installation)
J'ai essayé webScraping avec python.
J'ai essayé d'exécuter prolog avec python 3.8.2.