使用限制定义参数函数

问题描述 投票:2回答:1

我真的不知道如何在标题中解释这一点,所以我只想用一个例子来解释:我想要定义

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

for -Pi /2n≤t≤Pi/ 2n有没有办法做到这一点?我需要提出这个条件,因为我需要证明只有当t在那段时间内才会发生的事情。

wolfram-mathematica
1个回答
2
投票

您可以使用以下语法:

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]}]

这对于通用的Ifn来说是象征性的(使用t),如果它们是已知的,如果满足条件则将其简化为值,如果不满足则将其简化为Null。这可能是一个问题,因为Null不会在输出中显示。

还有一个条件的Piecewise

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

但如果条件不满意,它会给0。您可以将后一个值更改为更合适的值,但不会达到“未评估”的结果。

您的选择取决于您在什么情况下的期望。

© www.soinside.com 2019 - 2024. All rights reserved.