Перейти к содержимому

Как написать кубический корень sqrt

  • автор:

Как написать кубический корень sqrt

Кубический корень (пример программы)
Навигация

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

axexlna.png
x13exp13lnx.png

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

sqrt3mxmsqrt3x.png

Наконец, кубический корень из 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://czena.narkolog-na-dom-voronezh-11.ru/