Mathematica不知道Cos [2]甚至Sin [12 Degree]!

时间:2012-09-10 02:28:14

标签: wolfram-mathematica

我尝试了一些常见的角度,如pi / 2,pi / 3或pi / 6,但是它可以工作,但当你使用不常见的角度,如2 rad或12度mathematica不会返回任何值!请不要告诉我mathematica使用20条表格或类似的东西用于余弦和正弦!

3 个答案:

答案 0 :(得分:5)

由于这些角度的sin / cos没有精确的表示(例如,Cos[45 Degree] 1 / sqrt(2)),你需要做{{1 }和N[Cos[2]](即N[Sin[12 Degree]])。

  

在[1]中:= Cos [2]
  Out [1]:= Cos [2]

     

在[2]中:= N [Cos [2]]
  出[2]:= -0.416147

答案 1 :(得分:1)

Mathematica试图保持计算的精确度。整数被认为是无限精确的,因此要获得近似的十进制答案,您必须在输入中至少有一个近似数字或使用N函数。

Sin[2.0]
Sin[2.0`50]
N[Sin[2],50]

为了研究pi的合理倍数,有几种选择。 (在9.0版本中)

有些会自动展开,例如:

Sin[Pi/12]

尝试功能扩展 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

答案 2 :(得分:0)

对于初学者或刚感兴趣的人,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。真的很有趣。