Cosx область определения: Свойства функции y = cosx и её график — урок. Алгебра, 10 класс.

2

Решение системы тригонометрических уравнений

   Здравствуйте, Дорогие друзья! Сегодня мы рассмотрим задание из части С. Это система из двух уравнений. Уравнения довольно своеобразны. Здесь и синус, и косинус, да ещё и корни имеются. Необходимо умение решать квадратные уравнения и неравенства, простейшие тригонометрические уравнения. В представленном задании их подробные решения не представлены, это вы уже должны уметь делать. По указанным ссылкам можете посмотреть соответствующую теорию и практические задания.

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

Решением системы всегда является пара(ры) чисел х и у, записывается как (х;у). Обязательно после того  как получили ответ делайте проверку. Для вас представлено три способа, нет, не способа, а три пути рассуждения, которыми можно пойти.

Лично мне наиболее близок третий. Приступим:

Решите систему уравнений:

ПЕРВЫЙ ПУТЬ!

Найдём область определения уравнения. Известно, что подкоренное выражение имеет неотрицательное значение:

Решая  неравенство 6х –  х2 + 8 ≥ 0  получим  2 ≤ х ≤ 4   (1).

Величины 2  и  4 это радианы, 1 радиан как мы знаем ≈ 57,2970

В градусах приближённо можем записать  114,5490  ≤  х  ≤ 229,1880.

Решая  неравенство 2 – y – у2 ≥ 0  получим   – 2 ≤ у ≤ 1   (2).

В градусах можем записать   – 114,5490  ≤  у  ≤ 57,2970.

Решая неравенство sin x ≥ 0 получим, что

Решая неравенство cos y ≥ 0 получим, что

Рассмотрим первое уравнение:

1. Оно равно нулю при х = 2 или при х = 4, но 4 радиана не принадлежит определения выражения (3).

*Угол в 4 радиана (229,1880)  лежит в третьей четверти, в ней значение синуса отрицательно. Поэтому

остаётся только корень  х = 2.   

Рассмотрим  второе уравнении при х = 2. 

При этом значении х выражение 2 – y – у2 должно быть равно нулю, так как

Решим  2 – y – у2 = 0, получим  y = – 2 или  y = 1.

Отметим, что при  y = – 2  корень из   cos y   не имеет решения.

*Угол в  –2 радиана (– 114,5490)  лежит в третьей четверти, а в ней значение косинуса отрицательно.

Поэтому остаётся только  y = 1.  

Таким образом,  решением системы будет пара (2;1).

2. Первое уравнение так же равно нулю при  cos y = 0, то есть при

Но учитывая найденную область определения (2),  получим:

Рассмотрим второе уравнение при этом у.

Выражение  2 – y – у2 при у = – Пи/2 не равно нулю, значит для того, чтобы оно имело решение должно выполнятся условие:

Решаем:

Учитывая найденную область определения (1) получаем, что

Таким образом, решением системы является ещё одна пара:

*Мы нашли область определения. Далее начали рассматривать первое уравнение и учитывая область определения вычислили «по кругу» все множители в системе.

ВТОРОЙ ПУТЬ!

Найдём область определения для выражения:

Известно, что выражение под корнем имеет неотрицательное значение.
Решая  неравенство 6х –  х2 + 8 ≥ 0,  получим  2 ≤ х ≤ 4  (2 и 4 это радианы).

Рассмотрим Случай 1:

Пусть х = 2  или  х = 4.  

Если  х = 4, то sin x < 0. Если х = 2, то sin x > 0.

Учитывая то, что sin x ≠ 0, получается, что в этом случае во втором уравнении  системы  2 – y – у2 = 0.

Решая уравнение получим, что y = – 2 или  y = 1.

Анализируя полученные значения можем сказать, что х = 4  и  y = – 2 не является корнями, так как получим sin x < 0  и  cos y < 0 соответственно, а выражение стоящее под корнем должно быть ≥ 0 (то есть числом неотрицательным).

Видно, что х = 2 и y = 1 входят область определения.

Таким образом, решением является пара (2;1).

Рассмотрим Случай 2:

Пусть теперь 2 < х < 4, тогда 6х –  х2 + 8 > 0. Исходя из этого можем сделать вывод, что в первом уравнении cos y  должен быть равен нулю.

Решаем уравнение, получим:

Во втором уравнении при нахождении области определения выражения:

Получим:

2 – y – у2 ≥ 0

– 2 ≤ у ≤ 1

Из всех решений уравнения cos y = 0 этому условию удовлетворяет только:

При данном значении у, выражение  2 – y – у2 ≠ 0. Следовательно, во втором уравнении  sin x будет равен нулю, получим:

Из всех решений этого уравнения интервалу 2 < х < 4 принадлежит только

Значит решением системы будет ущё пара:

*Область определения сразу для всех выражений в системе находить не стали, рассмотрели выражение из первого уравнения (2 случая) и далее уже  по ходу определяли соответствие найденных решений с установленной областью определения. На мой взгляд не очень удобно, как-то путано получается.

ТРЕТИЙ ПУТЬ!

Он схож с первым, но есть отличия. Также сначала находится область определения для  выражений. Затем отдельно решается первое и второе уравнение, далее находится решение системы.

Найдём область определения. Известно, что подкоренное выражение имеет неотрицательное значение:

Решая  неравенство 6х – х2 + 8 ≥ 0  получим  2 ≤ х ≤ 4  (1).

Величины 2  и  4 это радианы, 1 радиан как мы знаем   ≈ 57,297

0

В градусах приближённо можем записать  114,5490  ≤  х  ≤ 229,1880.

Решая  неравенство 2 – y – у2 ≥ 0  получим   – 2 ≤ у ≤ 1   (2).

В градусах можем записать   – 114,5490  ≤  у  ≤ 57,2970.

Решая неравенство sin x ≥ 0 получим, что

Решая неравенство cos y ≥ 0 получим, что

Известно, что произведение равно нулю тогда, когда один из множителей равен нулю (и другие при этом не теряют смысла).

Рассмотрим первое уравнение:

Значит

Решением  cos y = 0   является:

Решением  6х – х2 + 8 = 0   являются   х = 2  и  х = 4.

Рассмотрим второе уравнение:

Значит

Решением  sin x = 0  является:

Решением уравнения  2 – y – у2 = 0   будут   y = – 2  или  y = 1.

Теперь учитывая область определения проанализируем

полученные значения:

Так как   114,5490  ≤  х  ≤ 229,1880, то данному отрезку принадлежит только одно решение уравнения sin x = 0,  это  x = Пи.

Так как    – 114,5490  ≤  у  ≤ 57,2970, то данному  отрезку принадлежит только одно решение уравнения cos y = 0, это   

Рассмотрим корни  х = 2  и  х = 4.

Из того, что  sin x ≥ 0, следует, что х = 4 не будет корнем, так как

sin 4 ≤ 0.

Рассмотрим корни  y = – 2 и  y = 1.

Из того, что cos x ≥ 0, следует, что у = –2 не будет корнем, так как

cos (– 2) ≤ 0.

Далее просто необходимо перебрать все возможные решения:

То есть подставить их в систему и проверить!

Верно!

Неверно, значит данная пара не является решением!

Неверно, значит данная пара не является решением!

Верно!

Таким образом, решением системы будут две пары чисел:

*Здесь учитывая найденную область определения мы исключили все полученные значения, не принадлежащие ей и далее перебрали все варианты возможных пар. {2n}}{(2n)!}. $$ Есть ли короткое умное доказательство того, что $\cos(x+y) = \cos x \cos y — \sin x \sin y$ для всех действительных $x,y$? Я могу доказать это, используя ряды произведений или показав, что обе части (с фиксированным $y$) являются решениями $f»(x) = -f(x)$, $f(0) = \cos y$, $f'(0) = — \sin у$. Кто-нибудь знает другие (желательно гладкие!) доказательства?

  • реальный анализ
  • тригонометрия

$\endgroup$

7

$\begingroup$

Новый ответ на старый вопрос. Этот, возможно, самый блестящий из всех, принадлежит Эрхарду Шмидту.

Определить $$f(t)=\cos(x+y-t)\cos(t)-\sin(x+y-t)\sin(t).$$ Убедитесь, что $f'(t)=0$, следовательно, $f$ постоянна. Теперь желаемое тождество суммы углов следует из $f(0)=f(y)$ 9{-iy}}{2i}\right)$$

$\endgroup$

4

$\begingroup$

Это уже обсуждалось в вопросе. 2=C$ $ 92=0$ везде, что означает $f\equiv 0$. $\черный треугольник$.

PROP Пусть $f$ — функция со второй производной везде такая, что $f»+f=0$ и $f'(0)=a$, $f(0)=b$. Тогда $$f=a\sin+b\cos $$

P Пусть $g=f-a\sin+b\cos$. Тогда $g»+g=0$ и $g'(0)=0$, $g(0)=0$. Из леммы следует, что $g\equiv 0$, так что $f=a\sin+b\cos$. $\черный треугольник$.


Продифференцировать по одной переменной и использовать единственность решения ОДУ второй степени с начальными условиями.

То есть ваш косинус слева подтверждает $$f»+f=0$$ и $f'(0)=–\sin y$, $f»(0)=\cos y$. Тогда оно должно совпадать с единственным решением $$f'(0) \sin+f(0)\cos$$

$\endgroup$

2

$\begingroup$

Мне всегда было трудно запомнить эту формулу. Но на самом деле это не очень нужно, потому что есть простой способ восстановить его из законов возведения в степень, примененных к комплексному возведению в степень: $$e^{i(x + y)} = e^{ix} \cdot e^{iy}. $$ 9{ix})$ $$\cos(x + y) = \cos(x)\cos(y) — \sin(x)\sin(y).$$

$\endgroup$

$\begingroup$

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

Отрезок $OP$ имеет длину $1$. У нас есть $\sin(\alpha + \beta) = PB = PR + RB = \cos(\alpha) \sin(\beta) + \sin(\alpha) \cos(\beta)$.

Затем, чтобы доказать тождество косинуса, мы можем использовать $\cos(\alpha + \beta) = \sin(\alpha + \beta + \pi/2)$ и использовать тождество синуса. 92$ унитарных векторов таких, что $$ \vec{u}=\big(\cos(x),\sin(x)\big)\quad \mbox{ и } \quad \vec{v}=\big(\cos(-y),\sin (-у)\большой) $$ Здесь $x$ и $-y$ — наименьший угол, образованный осью x и векторами $\vec{u}$ и $\vec{v}$ соответственно. Затем \начать{выравнивать} \cos\big(x+y\big) = & \cos\big(x-(-y)\big)\\ = & \frac{\vec{u}\bullet\vec{v}}{\|\vec{u}\|\cdot \|\vec{v}\|} \\ = & \vec{u}\bullet\vec{v}\\ = & \cos(x)\cdot\cos(-y)+\sin(x)\cdot\sin(-y)\\ = & \cos(x)\cdot\cos(y)-\sin(x)\cdot\sin(y)\\ \end{выравнивание} 9{ий} \\ &=& (\cos(x) + i\sin(x))(\cos(y) + i\sin(y)) \\ &=& (\cos(x)\cos(y) — \sin(x)\sin(y)) + i(\sin(x)\cos(y) + \sin(y)\cos(x) ) \\ \end{array}$$

Приравнивая действительную и мнимую части, получаем

$$\cos(x + y) = \cos(x)\cos(y) — \sin(x)\sin(y)$ $ $$\sin(x + y) = \sin(x)\cos(y) + \sin(y)\cos(x)$$

$\endgroup$

1

$\begingroup$

Предположим, мы знаем, что $\sin(x+y) = \sin x \cos y + \cos x \sin y$, тогда мы можем сделать это, чтобы получить доказательство:

$\cos (x + y) \\ = \sin (x + y + \frac{\pi}{2}) \\ = \sin x \cos (y + \frac{\pi}{2} ) + \cos x \sin (y + \frac{\pi}{2}) \\ = \sin x (-\sin y) + \cos x \cos y \\ = \cos x \cos y — \ sin x \sin y$

Кстати, оба имеют геометрическое доказательство.

$\endgroup$

taichi.lang.ops — документация taichi-api-docstring

taichi.lang.ops.abs( x )

Вычислить абсолютное значение \(|x|\) x поэлементно.

Параметры:

x (Объединение [ примитивные_типы , Матрица ]) — входной скаляр или матрица.

Возвраты:

Абсолютное значение каждого элемента в формате x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([-1.0, 0.0, 1.0])
>>> y = ti.abs(x)
>>> напечатать(у)
>>>
>>> тест()
[1,0, 0,0, 1,0]
 
taichi.lang.ops.acos( x )

Тригонометрический арккосинус, поэлементный.

Обратное cos , так что если y = cos(x) , то x = acos(y) .

Для ввода x не в домене [-1, 1] эта функция возвращает nan , если она вызывается в области taichi, или вызывает исключение, если она вызывается в области python.

Параметров:

x (Союз [ примитивные_типы , Матрица ]) — скаляр или матрица с элементами в [-1, 1].

Возвраты:

Арккосинус каждого элемента в x , в радианах и в замкнутом интервале [0, pi] . Это скаляр, если x является скаляром.

Пример:

 >>> из математического импорта пи
>>> ti.acos(ti.Matrix([-1.0, 0.0, 1.0])) * 180/пи
[180., 90., 0.]
 
taichi.lang.ops.asin( x )

Тригонометрический арксинус, поэлементный.

Инверсия sin , так что если y = sin(x) , то x = asin(y) .

Для ввода x не в домене [-1, 1] эта функция возвращает nan , если она вызывается в области taichi, или вызывает исключение, если она вызывается в области python.

Параметров:

x (Союз [ примитивные_типы , Матрица ]) — скаляр или матрица с элементами в [-1, 1].

Возвраты:

Обратный синус каждого элемента в x , в радианах и в замкнутом интервале [-pi/2, pi/2] .

Пример:

 >>> из математического импорта пи
>>> ti.asin(ti.Matrix([-1.0, 0.0, 1.0])) * 180/пи
[-90., 0., 90.]
 
taichi.lang.ops.atan2( x1 , x2 )

Поэлементный арктангенс x1/x2 .

Параметры:
  • x1 (Союз[ примитивные_типы , Матрица ]) – y-координаты.

  • x2 (Объединение[ примитивные_типы , Матрица ]) – x-координаты.

Возвраты:

Углы в радианах, в диапазоне [-pi, pi] . Это скаляр, если и x1 , и x2 являются скалярами.

Пример:

 >>> из математического импорта пи
>>> @ti. kernel
>>> деф тест():
>>> x = ti.Matrix([-1.0, 1.0, -1.0, 1.0])
>>> y = ti.Matrix([-1.0, -1.0, 1.0, 1.0])
>>> z = ti.atan2(y, x) * 180/пи
>>> напечатать (г)
>>>
>>> тест()
[-135,0, -45,0, 135,0, 45,0]
 
taichi.lang.ops.atomic_add( x , y )

Атомарно вычислить x + y , сохранить результат в x , и вернуть старое значение x .

x должен быть объектом с возможностью записи, константными выражениями или скалярами не допускаются.

Параметры:
  • x (Союз[ примитивные_типы , Матрица ]) — Вход.

  • y (Союз[ примитивные_типы , Матрица ]) — Вход.

Возвраты:

Старое значение x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([0, 0, 0])
>>> y = ti. Vector([1, 2, 3])
>>> z = ti.atomic_add(x, y)
>>> print(x) # [1, 2, 3] новое значение x
>>> print(z) # [0, 0, 0], старое значение x
>>>
>>> ti.atomic_add(1, x) # вызовет TaichiSyntaxError
 
taichi.lang.ops.atomic_and( x , y )

Атомарно вычислить побитовое И x и y поэлементно. Сохраните результат в формате x и верните старое значение x .

x должен быть объектом с возможностью записи, константными выражениями или скалярами не допускаются.

Параметры:
  • x (союз[ примитивные_типы , Матрица ]) – Вход. Когда оба являются матрицами, они должны иметь одинаковую форму.

  • y (Союз[ примитивные_типы , Матрица ]) — Вход. Когда оба являются матрицами, они должны иметь одинаковую форму.

Возвраты:

Старое значение x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([-1, 0, 1])
>>> y = ti.Vector([1, 2, 3])
>>> z = ti.atomic_and(x, y)
>>> print(x) # [1, 0, 1] новое значение x
>>> print(z) # [-1, 0, 1], старое значение x
>>>
>>> ti.atomic_and(1, x) # вызовет TaichiSyntaxError
 
taichi.lang.ops.atomic_max( x , y )

Атомарно вычислить максимум x и y поэлементно. Сохраните результат в формате x и верните старое значение x .

x должен быть объектом с возможностью записи, константными выражениями или скалярами не допускаются.

Параметры:
  • x (союз[ примитивные_типы , Матрица ]) – Вход.

  • y (Союз[ примитивные_типы , Матрица ]) — Вход.

Возвраты:

Старое значение x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> х = 1
>>> у = 2
>>> z = ti.atomic_max(x, y)
>>> print(x) # 2 новое значение x
>>> print(z) # 1, старое значение x
>>>
>>> ti.atomic_max(1, x) # вызовет TaichiSyntaxError
 
taichi.lang.ops.atomic_min( x , y )

Атомарно вычислить минимум x и y поэлементно. Сохраните результат в формате x и верните старое значение x .

x должен быть объектом с возможностью записи, константными выражениями или скалярами не допускаются.

Параметры:
  • x (союз[ примитивные_типы , Матрица ]) – Вход.

  • y (Союз[ примитивные_типы , Матрица ]) — Вход.

Возвраты:

Старое значение x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> х = 2
>>> у = 1
>>> z = ti.atomic_min(x, y)
>>> print(x) # 1 новое значение x
>>> print(z) # 2, старое значение x
>>>
>>> ti.atomic_min(1, x) # вызовет TaichiSyntaxError
 
taichi.lang.ops.atomic_or( x , y )

Атомарно вычислить побитовое ИЛИ x и y поэлементно. Сохраните результат в формате x и верните старое значение

x .

x должен быть объектом с возможностью записи, константными выражениями или скалярами не допускаются.

Параметры:
  • x (союз[ примитивные_типы , Матрица ]) – Вход. Когда оба являются матрицами, они должны иметь одинаковую форму.

  • y (Союз[ примитивные_типы , Матрица ]) — Вход. Когда оба являются матрицами, они должны иметь одинаковую форму.

Возвраты:

Старое значение x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([-1, 0, 1])
>>> y = ti.Vector([1, 2, 3])
>>> z = ti.atomic_or(x, y)
>>> print(x) # [-1, 2, 3] новое значение x
>>> print(z) # [-1, 0, 1], старое значение x
>>>
>>> ti.atomic_or(1, x) # вызовет TaichiSyntaxError
 
taichi.lang.ops.atomic_sub( x , y )

Атомарно вычесть x на y , сохранить результат в x , и вернуть старое значение x .

x должен быть объектом с возможностью записи, константными выражениями или скалярами не допускаются.

Параметры:
  • x (Союз[ примитивные_типы , Матрица ]) — Вход.

  • y (Союз[ примитивные_типы , Матрица ]) — Вход.

Возвраты:

Старое значение x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([0, 0, 0])
>>> y = ti.Vector([1, 2, 3])
>>> z = ti.atomic_sub(x, y)
>>> print(x) # [-1, -2, -3] новое значение x
>>> print(z) # [0, 0, 0], старое значение x
>>>
>>> ti.atomic_sub(1, x) # вызовет TaichiSyntaxError
 
taichi.lang.ops.atomic_xor( x , y )

Атомарно вычислить побитовое XOR x и y поэлементно. Сохраните результат в формате x и верните старое значение x .

x должен быть объектом с возможностью записи, константными выражениями или скалярами не допускаются.

Параметры:
  • x (союз[ примитивные_типы , Матрица ]) – Вход. Когда оба являются матрицами, они должны иметь одинаковую форму.

  • y (Союз[ примитивные_типы , Матрица ]) — Вход. Когда оба являются матрицами, они должны иметь одинаковую форму.

Возвраты:

Старое значение x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([-1, 0, 1])
>>> y = ti.Vector([1, 2, 3])
>>> z = ti.atomic_xor(x, y)
>>> print(x) # [-2, 2, 2] новое значение x
>>> print(z) # [-1, 0, 1], старое значение x
>>>
>>> ti.atomic_xor(1, x) # вызовет TaichiSyntaxError
 
taichi.lang.ops.bit_cast( obj , dtype )

Скопируйте и приведите скаляр к указанному типу данных с его базовым биты сохранились. Должен вызываться в области тайчи.

Эта функция эквивалентна reinterpret_cast в C++.

Параметры:
  • объект ( примитивные_типы ) – Входной скаляр.

  • тип ( примитивные_типы ) — Целевой тип данных должен иметь биты той же точности, что и входные данные (поэтому f32 -> f64 не допускается).

Возвраты:

Копия obj , приведенная к указанному типу данных dtype .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> х = 3,14
>>> y = ti.bit_cast(x, ti.i32)
>>> print(y) # 1078523331
>>>
>>> z = ti.bit_cast(y, ti.f32)
>>> print(z) # 3.14
 
taichi.lang.ops.bit_shr( x1 , x2 )

Элементы в x1 сдвинуты вправо на количество битов в x2 . Оба x1 , x2 должны иметь целочисленный тип.

Параметры:
  • x1 (Объединение[ примитивные_типы , Матрица ]) — Входные данные.

  • x2 (Союз[ примитивные_типы , Матрица ]) — Количество битов, которые нужно удалить справа от x1 .

Возвраты:

Возврат x1 с битами, сдвинутыми вправо на x2 раз. Это скаляр, если и x1 , и x2 являются скалярами.

Пример::
 >>> @ti.kernel
>>> функция main():
>>> x = ti.Matrix([7, 8])
>>> y = ti.Matrix([1, 2])
>>> печать (ti.bit_shr (х, у))
>>>
>>> главная()
[3, 2]
 
taichi.lang.ops.cast( obj , dtype )

Скопируйте и приведите скаляр или матрицу к указанному типу данных. Должен вызываться в области Taichi.

Параметры:
  • объект (Объединение [ примитивные_типы , Матрица ]) — входной скаляр или матрица.

  • dtype ( примитивные_типы ) — примитивный тип, определенный в примитивные_типы .

Возвраты:

Копия obj , приведенная к указанному типу данных dtype .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Matrix([0, 1, 2], ti.i32)
>>> y = ti.cast(x, ti.f32)
>>> напечатать(у)
>>>
>>> тест()
[0,0, 1,0, 2,0]
 
taichi.lang.ops.ceil( x , dtype=Нет )

Вернуть потолок ввода поэлементно.

Потолком скаляра x является наименьшее целое число k , такое что k >= x .

Параметры:
  • x (Объединение [ примитивные_типы , Матрица ]) — входной скаляр или матрица.

  • dtype — ( примитивные_типы ): возвращаемый тип, по умолчанию Нет . Если установлено значение None , перенастроенное значение будет иметь тот же тип, что и x .

Возвраты:

Верхний предел каждого элемента в x , с типом возвращаемого значения dtype .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Matrix([3.14, -1.5])
>>> y = ti.ceil(x)
>>> print(y) # [4.0, -1.0]
 
taichi.lang.ops.cos( x )

Тригонометрический косинус, поэлементный.

Параметры:

x (Объединение [ примитивные_типы , Матрица ]) — Угол в радианах.

Возвраты:

Косинус каждого элемента x .

Пример:

 >>> из математического импорта пи
>>> x = ti.Matrix([-pi, 0, pi/2.])
>>> ti.cos(x)
[-1., 1., 0.]
 
taichi.lang.ops.exp( x )

Вычислить экспоненту всех элементов в x поэлементно.

Параметры:

x (Объединение [ примитивные_типы , Матрица ]) — входной скаляр или матрица.

Возвраты:

Поэлементная экспонента x .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Matrix([-1.0, 0.0, 1.0])
>>> y = ti.exp(x)
>>> напечатать(у)
>>>
>>> тест()
[0,367879, 1.000000, 2.718282]
 
taichi.lang.ops.floor( x , dtype=None )

Вернуть пол ввода поэлементно. Полом скаляра x является наибольшее целое число k , такое что k <= x .

Параметры:
  • x (Объединение [ примитивные_типы , Матрица ]) — входной скаляр или матрица.

  • dtype — ( примитивные_типы ): возвращаемый тип, по умолчанию Нет . Если установлено значение None , перенастроенное значение будет иметь тот же тип, что и x .

Возвраты:

Пол каждого элемента размером x с типом возвращаемого значения dtype .

Пример::
 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Matrix([-1.1, 2.2, 3.])
>>> y = ti.floor(x, ti.f64)
>>> print(y) # [-2.000000000000, 2.000000000000, 3.000000000000]
 
taichi.lang.ops.log( x )

Вычисление натурального логарифма по элементам.

Натуральный логарифм log является обратной экспоненциальной функцией, так что log(exp(x)) = x . Натуральный логарифм — это логарифм по основанию e .

Параметры:

x (Объединение [ примитивные_типы , Матрица ]) — входной скаляр или матрица.

Возвраты:

Натуральный логарифм x по элементам.

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([-1.0, 0.0, 1.0])
>>> y = ti.log(x)
>>> напечатать(у)
>>>
>>> тест()
[-нан, -инф, 0,000000]
 
taichi. lang.ops.max( *args )

Вычислить максимум аргументов поэлементно.

Эта функция не влияет на один аргумент, даже если он похож на массив. Когда в args есть как скалярные, так и матричные аргументы, матрицы должны иметь ту же форму, и скаляры будут транслироваться в ту же форму, что и матрица.

Параметры:

аргументы — (Список [ примитивные_типы , Матрица ]): ввод.

Возвраты:

Максимум входов.

Пример:

 >>> @ti.kernel
>>> определение foo():
>>> x = ti.Vector([0, 1, 2])
>>> y = ti.Vector([3, 4, 5])
>>> z = ti.max(x, y, 4)
>>> print(z) # [4, 4, 5]
 
taichi.lang.ops.min( *args )

Вычислить минимум аргументов поэлементно.

Эта функция не влияет на один аргумент, даже если он похож на массив. Когда в 9 есть как скалярные, так и матричные аргументы0143 args , матрицы должны иметь ту же форму, и скаляры будут транслироваться в ту же форму, что и матрица.

Параметры:

аргументы — (Список [ примитивные_типы , Матрица ]): ввод.

Возвраты:

Минимум входов.

Пример:

 >>> @ti.kernel
>>> определение foo():
>>> x = ti.Vector([0, 1, 2])
>>> y = ti.Vector([3, 4, 5])
>>> z = ti.min(x, y, 1)
>>> print(z) # [0, 1, 1]
 9{экспонента}\), поэлементно. 

Тип результата двух скалярных операндов определяется следующим образом: - Если показатель степени является целым числом, то тип результата принимает тип основания. - В противном случае тип результата следует за

В соответствии с приведенными выше правилами целочисленное значение, возведенное в отрицательное целочисленное значение, не может иметь осуществимый тип. Поэтому будет возбуждено исключение, если режим отладки или оптимизация пройдены. находятся на; в противном случае будет возвращено 1.

В следующих ситуациях результат не определен: - Отрицательное значение, увеличенное до нецелого значения. - нулевое значение, увеличенное до неположительного значения.

Параметры:
  • база (Союз[ примитивные_типы , Матрица ]) — Базы.

  • экспонента (Союз[ примитивные_типы , Матрица ]) — экспоненты.

Возвраты:

основание возведено в степень . Это скаляр, если и основание , и показатель степени являются скалярами.

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Matrix([-2.0, 2.0])
>>> у = -3
>>> z = ti.pow(x, y)
>>> напечатать (г)
>>>
>>> тест()
[-0,125000, 0,125000]
 
taichi.lang.ops.random( dtype=float )

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

Если требуется 964) если Требуется 64-битное целое число.

Параметры:

dtype ( примитивные_типы ) — Тип требуемого случайного значения.

Возвраты:

Случайное значение типа dtype .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.random(с плавающей запятой)
>>> print(x) # 0.0
>>> >>> y = ti.random(ti.f64) >>> print(y) # 0.716101627301 >>> >>> i = ti.random(ti.i32) >>> print(i) # -963722261 >>> >>> j = ti.random(ti.i64) >>> print(j) # 73412986184350777
taichi.lang.ops.raw_div( x1 , x2 )

Вернуть x1 // x2 , если оба x1 , x2 являются целыми числами, иначе вернуть x1/x2 .

Параметры:
  • x1 (Союз[ примитивные_типы , Матрица ]) — Дивиденд.

  • x2 (Объединение[ примитивные_типы , Матрица ]) — Делитель.

Возвраты:

Вернуть x1 // x2 , если оба x1 , x2 являются целыми числами, иначе вернуть x1/x2 .

Пример:

 >>> @ti.kernel
>>> функция main():
>>> х = 5
>>> у = 3
>>> print(raw_div(x, y)) # 1
>>> г = 4,0
>>> print(raw_div(x, z)) # 1.25
 
taichi.lang.ops.raw_mod( x1 , x2 )

Возвращает остаток от x1/x2 поэлементно. Это функция C-style mod .

Параметры:
  • x1 (Союз[ примитивные_типы , Матрица ]) — Делимое.

  • x2 (Союз[ примитивные_типы , Матрица ]) — Делитель.

Возвраты:

Остаток от x1 , разделенный на x2 .

Пример:

 >>> @ti. kernel
>>> функция main():
>>> print(ti.mod(-4, 3)) # 2
>>> print(ti.raw_mod(-4, 3)) # -1
 
taichi.lang.ops.round( x , dtype=None )

Округлить до ближайшего целого числа поэлементно.

Параметры:
  • x (Объединение [ примитивные_типы , Матрица ]) — скаляр или матрица.

  • dtype — ( примитивные_типы ): возвращаемый тип, по умолчанию Нет . Если установлено значение None , перенастроенное значение будет иметь тот же тип, что и x .

Возвраты:

Ближайшее целое число x с типом возвращаемого значения дтип .

Пример:

 >>> @ti.kernel
>>> деф тест():
>>> x = ti.Vector([-1.5, 1.2, 2.7])
>>> печать (ti.раунд (х))
[-2., 1., 3.]
 
taichi. lang.ops.rsqrt( x )

Обратная функция квадратного корня.

Параметры:

x (Объединение [ примитивные_типы , Матрица ]) — скаляр или матрица.

Возвраты:

Обратная величина sqrt(x) .

taichi.lang.ops.select( cond , x1 , x2 )

Возвращает массив, составленный из элементов x1 или x2 , в зависимости от условий в конд .

Параметры:
  • условие (Союз[ примитивные_типы , Матрица ]) – Массив условий.

  • x1 (Объединение[ примитивные_типы , Матрица ]) — Массивы, из которых берутся выходные элементы.

  • x2 (Объединение[ примитивные_типы , Матрица ]) — Массивы, из которых берутся выходные элементы.

Возвраты:

Выход в позиции k является k-м элементом x1 , если k-й элемент в cond равно True , иначе это k-й элемент x2 .

Пример:

 >>> @ti.kernel
>>> функция main():
>>> условие = ti.Matrix([0, 1, 0, 1])
>>> x = ti.Matrix([1, 2, 3, 4])
>>> y = ti.Matrix([-1, -2, -3, -4])
>>> print(ti.select(cond, x, y))
>>>
>>> главная()
[-1, 2, -3, 4]
 
taichi.lang.ops.sin( x )

Тригонометрический синус, поэлементный.

Параметры:

x (Объединение [ примитивные_типы , Матрица ]) — Угол в радианах.

Возвраты:

Синус каждого элемента x .

Пример:

 >>> из математического импорта пи
>>> x = ti.Matrix([-pi/2., 0, pi/2.])
>>> ti.sin(x)
[-1., 0., 1.]
 
taichi. 2 = x . y имеет тот же тип, что и x .

Пример:

 >>> x = ti.Matrix([1., 4., 9.])
>>> y = ti.sqrt(x)
>>> г
[1,0, 2,0, 3,0]
 
taichi.lang.ops.tan( x )

Тригонометрическая функция тангенса, поэлементная.

Эквивалент ti.sin(x)/ti.cos(x) по элементам.

Параметры:

x (Союз[ примитивные_типы , Матрица ]) — Входной скаляр или матрица.

Возвраты:

Значения тангенса x .

Пример:

 >>> из математического импорта пи
>>> @ti.kernel
>>> деф тест():
>>> x = ti.Matrix([-pi, pi/2, pi])
>>> y = ti.tan(x)
>>> напечатать(у)
>>>
>>> тест()
[-0.0, -22877334.0, 0.0]
 
taichi.lang.ops.tanh( х )

Вычислить гиперболический тангенс x поэлементно.

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

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