Программа которая находит квадратный корень

Содержание

Картинка к уроку

Для вычисления квадратного корня числа в языке программирования Python существует несколько команд. Рассмотрим все варианты.

Вычисления квадратного корня числа возведением в степень

В Python есть выражение для возведения числа в степень ( ** ) :

2**3 >>> 8

А мы знаем, что вычисление квадратного корня числа, аналогично возведению в степень 1/2. Значит на языку Python можем воспользоваться выражением для возведения числа в степень для вычисления корня числа:

16**0.5 >>> 4.0

Вычисления квадратного корня числа с помощью модуля math

Второй вариант вычисления квадратного корня — это импорт модуля math и последующее использование функции данного модуля:

import math math.sqrt(16) >>> 4.0

В первой стоке мы импортируем встроенный модуль math, а во второй используем функцию вычисления квадратного корня (math.sqrt), которая содержится в данном модуле.

7.9 Цифровой корень. «Поколение Python»: курс для начинающих. Курс Stepik

Вычисления квадратного корня числа с помощью встроенный в python функции

В Python есть встроенная функция, которая аналогична оператору (**):

pow(x, y)

Здесь x — число которое возводим в степень, а y — непосредственно степень.

pow (16, 0.5) >>> 4.0

Источник: python-teach.ru

Программа которая находит квадратный корень

Извлечение квадратного корня на Python: примеры кода

Извлечение квадратного корня на Python: примеры кода

09 марта 2023
Оценки статьи
Еще никто не оценил статью

Извлечение квадратного корня — это одна из самых базовых операций в математике, которая часто используется в научных и инженерных вычислениях. В этой статье мы рассмотрим, как извлечь квадратный корень на Python, как с помощью стандартной библиотеки math, так и без нее.

Извлечение квадратного корня с помощью оператора **

Квадратный корень из числа X можно определить как число Y , которое при возведении в квадрат дает значение X .

Другими словами, квадратный корень из числа X — это число Y , такое что Y умноженное само на себя равняется X .

В языке Python возведение в степень обозначается оператором ** , например, a ** 2 — это квадрат числа a .

Таким образом, чтобы вычислить квадратный корень из числа X , мы можем записать его в виде выражения Y = X ** 0.5 . Например, если дано число X = 25 , то его квадратный корень можно вычислить следующим образом:

X = 8 Y = X ** 0.5 print(«Квадратный корень из», X, «равен», Y)

Результат:

КВАДРАТНЫЙ КОРЕНЬ числа с помощью PYTHON | #shorts

Читайте также:
Программы которые не требуют установки на компьютер


>>> Квадратный корень из 8 равен 2.8284271247461903

Извлечение квадратного корня с помощью методов объектов float и decimal.Decimal

В Python можно извлечь квадратный корень использовав методы объектов float и decimal.Decimal

x = 8 print(float(x) ** 0.5) # 2.8284271247461903

Или с более точным измерением decimal.Decimal :

from decimal import Decimal x = Decimal(8) print(x.sqrt()) # 2.828427124746190097603377448

Извлечение квадратного корня по методу Ньютона (касательных) в Python

Метод Ньютона (также известный как метод касательных) — это итерационный алгоритм для приближенного вычисления корня функции. Он основывается на использовании касательной к кривой функции в точке итерации для нахождения более точного приближения корня.

Для использования метода Ньютона в Python можно написать следующую функцию:

def newton_sqrt(x, epsilon=1e-6): # Начальное приближение для корня z = 1.0 # Итерация до достижения заданной точности while abs(z*z — x) >= epsilon: # Используем касательную к кривой функции в точке z для нахождения следующего приближения z -= (z*z — x) / (2*z) return z print(newton_sqrt(4)) # 2.000000000001355 print(newton_sqrt(8)) # 2.8284271250498643 print(newton_sqrt(10)) # 3.162277660168379

В этой функции мы используем начальное приближение 1.0 и продолжаем итерацию до тех пор, пока разность между квадратом текущего приближения и исходным числом x не станет меньше заданной точности epsilon . Внутри цикла мы используем касательную к кривой функции в точке z для вычисления следующего приближения. Как только разность достигнет заданной точности, мы возвращаем текущее значение z как приближение к корню.

Метод Ньютона позволяет быстро находить приближенные значения корней функций, но может быть нестабилен в некоторых случаях, например, когда производная функции близка к нулю. Также стоит учитывать, что приближенный результат зависит от начального приближения и заданной точности.

Извлечение квадратного корня с помощью библиотеки math

Python предоставляет стандартную библиотеку math, которая содержит множество математических функций, включая функцию sqrt() , которая позволяет извлекать квадратный корень.

Для использования функции sqrt() из библиотеки math необходимо импортировать ее следующим образом:

import math a = 8 b = math.sqrt(a) print(b) # 2.8284271247461903

В данном примере мы импортировали функцию sqrt() из библиотеки math и применили ее к переменной a, содержащей значение 8 .

Результатом выполнения функции sqrt() будет значение 2.8284271247461903 , которое мы присваиваем переменной b .

Затем мы выводим значение b на экран с помощью функции print() .

Извлечение квадратного корня с помощью библиотеки NumPy

Можно использовать библиотеку NumPy, которая предоставляет функцию sqrt() . Но перед использованием библиотеку NumPy необходимо ее установить: pip install numpy .

import numpy as np x = 8 print(np.sqrt(x)) # 2.8284271247461903

Какой способ использовать, зависит от конкретной задачи.

Заключение

Извлечение квадратного корня — это простая, но важная операция в математике, которая может быть выполнена как с помощью стандартной библиотеки Python, так и без нее. Независимо от выбранного способа, важно понимать, как работает этот процесс и какие алгоритмы лежат в его основе, чтобы быть уверенным в правильности выполнения расчета.

Меню категорий

    Загрузка категорий.

Добро пожаловать в Блог Разработчика Владислава Александровича.

Ведется медленная, но уверенная разработка функционала сайта.

Django Core: 0.3.4 / Next.js 1.0 / UPD: 05.06.2023

Источник: proghunter.ru

Вычисление квадратного корня из числа в Python

Вычисление квадратного корня из числа в Python

Квадратный корень из числа – очень распространенная математическая функция, используемая во всех областях науки – физике, математике, информатике и т.д. Квадратные корни чисел и выражений очень часто встречаются в формулах во всех областях науки, и особенно в том, как мы представляем реальность – моделируя то, что мы можем наблюдать с помощью исчисления.

Читайте также:
Программа логирования действий на компьютере

В этой статье мы рассмотрим различные способы вычисления квадратного корня из числа в Python. Наконец, мы проведем тест производительности с постоянными и случайными числами, а также со списками случайных чисел, чтобы проверить все подходы.

Вычисление квадратного корня в Python с помощью NumPy

NumPy – это библиотека научных вычислений, которая присутствовала во многих приложениях и вариантах использования. Естественно, в нем есть множество оболочек математических функций в качестве вспомогательных методов.

Если она еще не установлена, вы можете установить ее через pip:

$ pip install numpy

В терминах NumPy функция sqrt() вычисляет квадратный корень из числа и возвращает результат:

import numpy as np: x = np.scrt(2) print(x)
1.4142135623730951

Помимо использования одной переменной в качестве аргумента, sqrt() также может анализировать списки и возвращать список квадратных корней:

arr = [2, 3, 5, 7] roots = np.sqrt(arr) print(roots)
[1.41421356 1.73205081 2.23606798 2.64575131]

Функция sqrt(), однако, имеет ограничение – она не может вычислять квадратный корень из отрицательного числа, поскольку операция квадратного корня с действительными числами определена только для положительных чисел.

Попытка вставить -4 в функцию sqrt() приведет к исключению:

print(np.sqrt(-4))

Попытка вычислить квадратный корень из отрицательного числа приведет к появлению предупреждения и значению nan:

RuntimeWarning: invalid value encountered in sqrt nan

Вычисление квадратного корня из комплексного числа с помощью Numpy

К счастью, NumPy не ограничивается работой только с действительными числами – он также может работать с комплексными числами:

import numpy as np complex_number = -1 + 1j complex_array = [-2, 3, complex_number] complex_root = np.sqrt(complex_number) complex_array_roots = np.sqrt(complex_array) print(f»Square root of »:n «) print(f»Square roots of »:n «)

Если в списке есть хотя бы одно комплексное число, все числа будут приведены и обработаны как сложные, поэтому можно добавить даже отрицательные целые числа:

Square root of ‘(-1+1j)’: (0.45508986056222733+1.09868411346781j) Square roots of ‘[-2, 3, (-1+1j)]’: [0. +1.41421356j 1.73205081+0.j 0.45508986+1.09868411j]

Модуль math в Python

Модуль math – это стандартный модуль, упакованный с Python. Он всегда доступен, но должен быть импортирован и предоставляет оболочки для некоторых общих функций, таких как квадратный корень, полномочия и т.д.:

import math math.sqrt()

Функция sqrt() модуля math- это простая функция, которая возвращает квадратный корень из любого положительного числа:

print(math.sqrt(2))
1.4142135623730951

В отличие от функции sqrt() NumPy, она может работать только с одним элементом, поэтому, если вы хотите вычислить квадратный корень из всех элементов в списке, вам придется использовать цикл for или генератор списка:

import math arr = [2, 3, 5, 7] roots = [] for x in arr: roots.append(math.sqrt(x)) # OR roots = [math.sqrt(x) for x in arr]

Читайте также:
Как создать картинку в программе paint

В обоих случаях список корней будет содержать:

[1.4142135623730951, 1.7320508075688772, 2.23606797749979, 2.6457513110645907]

math.pow()

Квадратный корень из числа также может быть вычислен путем возведения числа в степень ½:

Так что на самом деле, нахождение квадратного корня из числа может быть выражено как увеличение числа до степени ½. math.pow() принимает два аргумента – основание и показатель степени, и увеличивает основание до степени экспоненты:

print(math.pow(2, 0.5))

Естественно, это приводит к:

1.4142135623730951

Оператор **

Оператор ** является двоичным оператором, что означает, что он работает с двумя значениями, как и обычное умножение с помощью *. Однако, поскольку это оператор, используемый для возведения в степень, мы повышаем его левый аргумент до степени его правого аргумента.

Этот подход может быть использован в той же форме, что и предыдущий:

print(2 ** 0.5)

И это также приводит к:

1.4142135623730951

Функция pow()

В Python есть еще один встроенный метод pow(), который не требует импорта математического модуля. Этот метод отличается от метода math.pow() внутренне.

math.pow() неявно преобразует элементы в двойные, в то время как pow() использует внутреннюю реализацию объекта, основанную на операторе **. Хотя это различие в реализации может оправдать использование того или иного в определенных контекстах, если вы просто вычисляете квадратный корень из числа, вы на самом деле не увидите разницы:

print(pow(2, 0.5))
1.4142135623730951

Контрольный показатель производительности

Итак, какой из них дает наилучшую производительность, и какой из них вы должны выбрать? Как обычно, нет одного явного победителя, и это зависит от использования методов.

А именно, если вы работаете с постоянными числами, случайными числами или массивом случайных чисел в большем масштабе – эти методы будут работать по-другому.

Давайте проверим их все на постоянных числах, случайных числах и массивах случайных чисел:

import timeit print(«Time to execute 100k operations on constant number: n») print(«math.sqrt(): %ss» % timeit.timeit(«math.sqrt(100)», setup=»import math», number=100000)) print(«math.pow(): %ss» % timeit.timeit(«math.pow(100, 0.5)», setup=»import math», number=100000)) print(«pow(): %ss» % timeit.timeit(«pow(100, 0.5)», number=100000)) print(«np.sqrt(): %ss» % timeit.timeit(«np.sqrt(100)», setup=»import numpy as np», number=100000)) print(«** operator: %ss» % timeit.timeit(«100 ** 0.5», number=100000)) print(«nTime to execute 100k operations on random number: n») print(«math.sqrt() %ss» % timeit.timeit(«math.sqrt(random.random())», setup=»import math; import random;», number=100000)) print(«math.pow(): %ss» % timeit.timeit(«math.pow(random.random(), 0.5)», setup=»import math; import random», number=100000)) print(«pow(): %ss» % timeit.timeit(«pow(random.random(), 0.5)», setup=»import random», number=100000)) print(«np.sqrt(): %ss» % timeit.timeit(«np.sqrt(random.random())», setup=»import numpy as np; import random», number=100000)) print(«** operator: %ss» % timeit.timeit(«random.random() ** 0.5″, setup=»import random», number=100000)) print(«nTime to execute 100k operations on list of random numbers: n») print(«math.sqrt() %ss» % timeit.timeit(«[math.sqrt(x) for x in np.random.rand(100)]», setup=»import math; import numpy as np;», number=100000)) print(«math.pow(): %ss» % timeit.timeit(«[math.pow(x, 0.5) for x in np.random.rand(100)]», setup=»import math; import numpy as np;», number=100000)) print(«pow(): %ss» % timeit.timeit(«[pow(x, 0.5) for x in np.random.rand(100)]», setup=»import numpy as np;», number=100000)) print(«np.sqrt(): %ss» % timeit.timeit(«np.sqrt(np.random.rand(100))», setup=»import numpy as np; import numpy as np;», number=100000)) print(«** operator: %ss» % timeit.timeit(«np.random.rand(100) ** 0.5″, setup=»import numpy as np», number=100000))

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru