Как написать кубический корень sqrt
Кубический корень (пример программы)
Навигация
Для вычисления кубического корня в Паскале нет стандартной функции (в отличие от квадратного корня ), однако, его можно вычислить, используя функции экспоненты и логарифма . Извлечение кубического корня — это возведение в степень 1/3, а для положительных чисел возведение в любую степень можно осуществить по формуле


Для отрицательных чисел логарифм не определён. Чтобы вычислить кубический корень из отрицательного числа, воспользуемся свойством нечётности кубического корня:

Наконец, кубический корень из 0 — это 0. Логарифм 0 — это «минус бесконечность», и, хотя некоторые реализации Паскаля могут работать со значением «минус бесконечность», лучше избегать этого специального значения.
Таким образом, получаем:
function Root3 (X : Real ) : Real ;
begin
if X = 0.0 then
Root3 := 0.0
else if X > 0.0 then
Root3 := Exp ( Ln (X) / 3 )
else
Root3 := — Exp ( Ln ( — X) / 3 )
end ;
begin
WriteLn (Root3( 2 7.0 ) : 0 : 0 , ‘ ‘ , Root3( — 8.0 ) : 0 : 0 , ‘ ‘ , Root3( 0.0 ) : 0 : 0 ) ;
< 3 -2 0 >
end .
Смотри также
- Sqrt(X) — квадратный корень
- Exp(X) — экспонента
- Ln(X) — натуральный логарифм
- Кубический корень в Wikipedia
- Показательная функция (экспонента) в Wikipedia
- Натуральный логарифм в Wikipedia
Извлечение корней в Python
Под извлечением корня из какого-либо числа чаще всего подразумевают нахождение решение уравнения x в степени n = value, соответственно для квадратного корня, число n — это два, для кубического — 3. Чаще всего под результатом и числом подразумеваются вещественные числа.
В программировании нахождение корней используется очень часто. Разберемся, как и какими методами можно эффективно извлекать корни из числа. Вначале рассмотрим, какие способы есть в Python, и определим самый эффективный. Потом более подробно разберём, как можно найти не только квадратный корень из числа, но и кубический, и потом корень n степени.
Способы извлечения корня
В языке программирования Python 3 существует три способа извлечения корней:
- Использование функции sqrt из стандартной математической библиотеки math.
- Операция возведения в степень **
- Применение функции pow(x, n)
Чтобы воспользоваться первым способом, необходимо вначале импортировать sqrt из модуля math. Это делается с помощью ключевого слова import: from math import sqrt . При помощи этой функции можно извлекать только квадратный корень из числа. Приведем пример:
from math import sqrt x = sqrt(4) print(x) 2.0
Если же нам нужно вычислить в Python корень квадратный из суммы квадратов, то можно воспользоваться функцией hypot из модуля math. Берется сумма квадратов аргументов функции, из нее получается корень. Аргументов у функции два.
from math import hypot x = hypot(4,3) print(x) 5.0
Еще одним, чуть более универсальным методом, будет использование возведения в степень. Известно, что для того, чтобы взять корень n из числа, необходимо возвести его в степень 1/n. Соответственно, извлечение квадратного корня из числа 4 будет выглядеть так:
n = 2 x = 4**(1./n) print(x) 2.0
Обратите внимание, что в Python 2 необходимо ставить точку после единицы, иначе произойдет целочисленное деление, и 1/n == 0, а не нужной нам дроби. В Python 3 можно не ставить точку.
Последний метод использует функцию pow(value, n). Эта функция в качестве аргумента value возьмет число, которое необходимо возвести в степень, а второй аргумент будет отвечать за степень числа. Как и в предыдущем методе, необходимо использовать дробь, для того, чтобы получить корень числа.
x = pow(4, 0.5) print(x) 2.0
Какой метод быстрее?
Для того, чтобы определить какой же метод предпочтительнее использовать, напишем программу. Замерять время выполнения будем с помощью метода monotonic библиотеки time.
from time import monotonic from math import sqrt iterations = 1000000 start = monotonic() for a in range(iterations): x = sqrt(4) print("sqrt time: .3f>".format(monotonic() - start) + " seconds") start = monotonic() for a in range(iterations): x = 4 ** 0.5 print("** time: .3f>".format(monotonic() - start) + " seconds") start = monotonic() for a in range(iterations): x = pow(4, 0.5) print("pow time: .3f>".format(monotonic() - start) + " seconds") sqrt time: 0.266 seconds ** time: 0.109 seconds pow time: 0.453 seconds
Как видно, самое быстрое решение — использовать **. На втором месте метод sqrt, а pow — самый медленный. Правда, метод sqrt наиболее нагляден при вычислении в Python квадратных корней.
Таким образом, если критична скорость, то используем **. Если скорость не критична, а важна читаемость кода, то следует использовать sqrt.
Квадратный корень
Для извлечения квадратного корня самым наглядным способом, правда не самым быстрым, будет использование sqrt из модуля math.
from math import sqrt x = sqrt (value)
Но можно использовать и трюки с возведением в степень 1/2, что тоже будет приводить к нужному результату.
x = value ** (0.5) или x = pow(value, 0.5) .
Кубический корень
Для извлечения кубического корня в Python 3 метод sqrt не подойдет, поэтому воспользуйтесь возведением в степень 1/3:
x = value ** (1./3) или x=pow(value, 1/3) .
Корень n-степени
Корень n-степени из числа в Python извлекается можно получить двумя способами с помощью возведения в степень 1.0/n:
- С помощью оператора **.
- Используя функцию pow.
Как было проверено выше, оператор ** быстрее. Поэтому его использовать более целесообразно. Приведем пример вычисления кубических корней в Python 3 с помощью этих двух методов:
n = 4. x = 16.0 ** (1./n) print(x) x = pow(16.0, 1./n) print(x) 2.0 2.0
Корень отрицательного числа
Рассмотрим, как поведут себя функции, если будем брать корень из отрицательного числа.
from math import sqrt x = sqrt(-4) File "main.py", line 2, in x = sqrt(-4) ValueError: math domain error
Как видим, функция sqrt выдаёт исключение.
Теперь посмотрим, что будет при использовании других методов.
x = -4 ** 0.5 print(x) x = pow(-4, 0.5) print(x) -2.0 (1.2246467991473532e-16+2j)
Как видно из результата, оператор ** не выдает исключения и возвращает некорректный результат. Функция pow работает корректно. В результате получаем комплексное число 2j, что является верным.
Вывод
В Python существуют два универсальных способа для извлечения корня из числа. Это возведение в необходимую степень 1/n. Кроме того, можно воспользоваться функцией из математического модуля языка, если необходимо извлечь квадратный корень числа.
Все эти методы имеют свои преимущества и недостатки. Самый наглядный это sqrt, но подходит только для квадратный корней из числа. Остальные методы не такие элегантные, но легко могут извлечь корень нужной степени из числа. Кроме того оператор ** оказался наиболее быстрым при тестировании.
Необходимо также помнить про целочисленное деление, неправильное использование которого может приводить к ошибке в вычислении.
Правила ввода функций в онлайн калькуляторах OnlineMSchool.
На данной странице описаны правила ввода функций, которых следует придерживаться в онлайн калькуляторах для решения производных и решения интегралов.
Не забывайте проверять правильность написания формул. Неточность и ошибки в написании, приводят к неверному ответу и ситуациям, при которых калькулятор отказывается проводить вычисления.
Оператор
Описание
Простейшие математические операции
) эквивалентно 2*sin(3*
- 0.5 — правильная запись;
- 0,5 — неправильная запись.
Элементарные функции
. Эквивалентно root(
. Эквивалентно root(
-той степени из
. Эквивалентно
по основанию
Тригонометрические функции
. Можно вводить tg(
. Можно вводить ctg(
, определяется как 1/cos(
, определяется как 1/sin(
. Можно вводить arcsin(
. Можно вводить arccos(
. Можно вводить arctg(
. Можно вводить arcctg(
Некоторые константы
Любые нецензурные комментарии будут удалены, а их авторы занесены в черный список!
Присоединяйтесь
© 2011-2024 Довжик Михаил
Копирование материалов запрещено.
Добро пожаловать на OnlineMSchool.
Меня зовут Довжик Михаил Викторович. Я владелец и автор этого сайта, мною написан весь теоретический материал, а также разработаны онлайн упражнения и калькуляторы, которыми Вы можете воспользоваться для изучения математики.
Если Вы хотите связаться со мной, имеете вопросы, предложения или хотите помочь развивать сайт OnlineMSchool пишите мне support@onlinemschool.com
Если квадратный sqrt. как обозначить кубический корень? ))))
Если sqrt, тогда curt. CUbe. Но так никто не обозначает, пишут, как вариант, x^(1/3).
Остальные ответы
X^1/3 — число возвесть в степень 1/3 (примерно 0,33333333333)
cuberoot будет
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.