Найти - Пользователи
Полная версия: Вычислительные рассчеты
Начало » Python для новичков » Вычислительные рассчеты
1 2 3
sergeek
Ну это квадратный корень же. Мне показалось оно быстрей так будет. Сейчас замерил - разницы нет, оказывается.
def calcf(n):
    const = 2 * pi * pi    
    x = 1.0 / n * np.arange(n+1)
    one = np.sin(pi*x)
    return np.vstack(e*const*one for e in one)
keekdown
sergeek
Ну это квадратный корень же. Мне показалось оно быстрей так будет. Сейчас замерил - разницы нет, оказывается.
Я имел ввиду что
const = 2**0.5*pi != 2*pi*pi
sergeek
блин ну посмотрите внимательнее
2**0.5 * pi == (2*pi*pi) **0.5
обе функции дают один результат
from math import pi
import numpy as np
  
def calcf(n):
    const = 2**0.5 * pi
     
    x = 1.0 / n * np.arange(n+1)
    one = np.sin(pi*x)*const 
    return np.vstack(e*one for e in one)
def calcf(n):
    const = 2 * pi * pi
     
    x = 1.0 / n * np.arange(n+1)
    one = np.sin(pi*x)
    return np.vstack(e*const*one for e in one)
в первом примере
return np.vstack(e*one for e in one)
в вектор one уже добавлены множители корня константы и при перемножении она просто возводится в квадрат и получается исходная константа
во втором
return np.vstack(e*const*one for e in one)
константа добавляется при самом перемножении



keekdown
sergeek
блин ну посмотрите внимательнее
Понял,простите-не заметил.Благодарен :-)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB