我尝试了一些常见的角度,如 pi/2、pi/3 或 pi/6,但它可以工作,但是当您使用 2 rad 或 12 度等不常见的角度时,mathematica 不会返回任何值!请不要告诉我,mathematica 使用 20 个条目表或类似的东西来表示余弦和正弦!
3 回答
由于这些角度的 sin/cos 没有精确的表示(比如,说它Cos[45 Degree]
是1/sqrt(2)),你需要做N[Cos[2]]
and N[Sin[12 Degree]]
(ie N[...]
)。
In[1]:= Cos[2]
Out[1]:= Cos[2]输入[2]:= N[Cos[2]]
输出[2]:= -0.416147
Mathematica 试图保持计算的精度。整数被认为是无限精确的,因此要获得近似的十进制答案,您必须在输入中至少有一个近似数字或使用 N 函数。
Sin[2.0]
Sin[2.0`50]
N[Sin[2],50]
为了研究 pi 的有理倍数,有几种选择。(在 9.0 版中)
有些是自动展开的,例如:
Sin[Pi/12]
尝试FunctionExpand、RootReduce和ToRadicals。
Sin[12 Degree] // FunctionExpand
给出:
-(1/8) Sqrt[3] (-1 + Sqrt[5]) + 1/4 Sqrt[1/2 (5 + Sqrt[5])]
使用 Degree 似乎向 Mathematica 表明用户可能处于较低的数学水平并且不想看到复数或代数数对象,所以而不是
Sin[x Degree]
利用
Sin[x Pi/180]
1度的罪:
Sin[Pi/180] // RootReduce
% // ToRadicals
有时结果可能令人失望:
Sin[Pi/77]
不能以比以下更丰富的形式表达:
-(1/2) (-1)^(75/154) (-1 + (-1)^(2/77))
或者
1/2 Sqrt[root of some huge polynomial]
这是由于数学语言的限制,而不是 Mathematica。参见伽罗瓦理论。Mathematica 可以在没有复数或 Root 对象的情况下编写的示例:
Table[{(\[Pi] k)/180, If[FreeQ[#, (-1)^x_], #, Style[Sin[(\[Pi] k)/180], Red]] &@
ToRadicals[Sin[(\[Pi] k)/180]]}, {k, 45}] // TableForm
对于初学者或只是对正在发生的事情感兴趣的人,Mathematica 还提供了一些取证功能。但是,这并没有使您更接近预期的结果。
例如来自 Mathematica 帮助的 FullForm。
FullForm[expr] 打印为 expr 的完整形式,没有特殊语法。
FullForm[Cos[2]]
给出同样让你失望的结果。但是该功能的帮助页面可能会让您走得更远,并且可以成为您在自己的提要上进一步步骤的灵感。它进一步深入到“一切都是一种表达”的概念。这也是 Mathematica 的范式,也是 Mathematica 的基础。已经提到了这个范式的一部分,
Cos[2]
不会被评估。它是独立的东西。这种范式不应该也绝不是要引起失望或阻止人们使用 Mathematica。
Mathematica 也可以显示混合的数字和符号表示:
N[10, 4] Sin[.25 x]
N功能需要在您仔细检查下进行。一种解释是:
The precision n is given in decimal digits; it need not be an integer.
这相当令人困惑,因为整数和十进制数字在 Mathematica 中具有完全相同的表示。
N[Cos[2]]
=-0.416147
是来自 Mathematica 内核的你的动作,具有默认精度。
由于 Wolfram Alpha Mathematica 的市场介绍比这要聪明得多。它提供 = 作为一种新的输入。没有其他所有内容的等号变成了白色的橙色底等号。这意味着您被允许输入现实世界的数学表达式,例如从教科书中获得有意义的传统数学答案。
在 Mathematica 12 中您所要做的就是单击一个全部答案符号,然后您就会得到从 Wolfram Alpha 已知的足够多的简单答案。
再次尝试或尝试 Mathematica。这真的很有趣。