#!/usr/bin/env python3 """ 1) créer 2 vecteurs et calculer le produit scalaire entre les 2 vecteurs comparer avec dot 2) calculer l'angle entre 2 vecteurs 3) afficher les vecteurs Pour l'affichage → utilisation de matplotlib exemple plt.plot([0, 1, 2], [4, 8, 16], "r+") plt.show() """ import numpy as np def truc1(): a = np.random.random(2) b = np.random.random(2) print(a, b, a.shape) print(f"{(a*b).sum()=} \n{np.dot(a, b)=}") # truc1() import matplotlib.pyplot as plt def truc2(): a = np.array([0, 1]) #np.random.random(2) b = np.array([1, 1]) #np.random.random(2) alpha = np.math.degrees(np.math.acos(np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)))) print(f"{a=} {b=} {alpha=}") n = 500 x = a.dot(b) / (np.linalg.norm(a) * np.linalg.norm(b)) new_a = np.math.pi / 2 - sum(np.math.factorial(2*n) / (2**n * np.math.factorial(n))**2 * (x**(2*n+1)) / (2*n+1) for _ in range(n)) print(np.math.degrees(new_a)) # print(np.linalg.norm(a) == (a**2).sum() ** .5) plt.plot(a/np.linalg.norm(a), b/np.linalg.norm(b), "r+") plt.show() truc2()