Определить параметрическую функцию с ограничениями - PullRequest
2 голосов
/ 19 апреля 2019

На самом деле не знал, как объяснить это в заголовке, поэтому я просто объясню на примере: Я хочу определить

y[t_]= {Cos[n*t], Sin[n*t]}

для -Pi / 2n ≤ t ≤ Pi / 2n Есть ли способ сделать это? Мне нужно поставить это условие, потому что мне нужно доказать то, что происходит, только когда t находится в этом интервале.

1 Ответ

2 голосов
/ 19 апреля 2019

Вы можете использовать этот синтаксис:

y[t_] := {Cos[n t], Sin[n t]} /; Abs[t] <= Pi/(2 n)

При этом y[t] остается неоцененным, если условие не выполняется. Это работает, только если известно n, а конкретное значение t включено, в противном случае оно всегда дает только y[t].

Если вы хотите работать с функцией символически или хотите, чтобы n оставался общим, вы можете попытать счастья с

y[t_] := If[Abs[t] <= Pi/(2 n), {Cos[n t], Sin[n t]}]

Это остается символическим (используя If) для общих n и t, и, если они известны, оно упрощается до значения, если условие удовлетворяется, и до Null, если нет. Это может быть проблемой, поскольку Null не отображается на выходе.

Там также Piecewise с одним условием:

y[t_] := Piecewise[{{{Cos[n t], Sin[n t]}, Abs[t] <= Pi/(2 n)}}]

но выдает 0, если условие не выполнено. Вы можете изменить последнее значение на что-то более подходящее, но вы не получите «неоцененного» результата.

Ваш выбор будет зависеть от того, что вы ожидаете в каких ситуациях.

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