WolframAlpha

WolframAlpha (WA) 是一个计算知识引擎,这是一种非常奇特的方式,可也以说 WolframAlpha 是一个可以回答你问题的平台。 WolframAlpha 以其数学能力而闻名,它可以成为一个非常强大的工具来帮助你进行计算。

访问 WolframAlpha

WolframAlpha 的知识引擎可以通过 wolframalpha.com 在线访问,但如果你可以通过你的大学 / 研究中心 / 公司访问许可证,你可能需要安装 Wolfram Mathematica“跨越大多数技术计算领域的现代技术计算系统 - 包括神经网络,机器学习,图像处理,几何,数据科学,可视化等 “

WolframAlpha 的数学能力

这本小指南将重点介绍 WA 的一些数学能力。请记住,还有更多可以做的事情!这是我们将要涉及的内容:

每当你向 WA 输入内容时,你都会获得查询的链接,这样你就可以非常轻松地分享你提出的问题和答案。例如,在 此链接 之后,当我问他美国总统是谁时,你可以看到 WA 告诉我的内容。通过本指南,带有灰色背景的蓝色字母提供了 WA 查询的链接。所以如果你点击这个 - > pi 的第 345 个小数位是什么? 当我要求 pi 的第 345 个小数位(顺便说一下,它是 5) 时,你会看到 WA 回答我的内容。

另一个需要注意的重要事项是,在向 WA 询问事物时,你不必遵循严格的语法,你可以越多地促进 WA 的生活越好。

另请注意,Mathematica - 由 WA 的创建者开发的语言 - 使用 [] 进行函数调用,而不是 (),并且所有函数名都是大写的,所以 Sqrt[n] 会给你通常的平方根函数,在许多语言中可能用作 sqrt(n)。这是相关的,因为 WA 支持 Mathematica 函数的子集。

最后一个 非常重要的 提示是,如果你有 Mathematica,你可以通过用 == 开始命令来获得极限,积分和求导(仅举几例) 的逐步解决方案。

基本计算

当然,WolframAlpha 可以用作非常先进的计算器。输入 2^100 将为你提供 1267650600228229401496703205376 的众所周知的答案。一些有用的操作需要知道:

  • 通常加法 +,减法 -,乘法 * 和除法 /
  • 幂运算符 ^,用作 x^y,也可以用作Power[x,y]
  • 要找到除法的余数,可以输入 x mod m 或使用 Mod[x,y]
  • 平方根是 Sqrt[x]x 的第 n 个根由 Root[x,n] 给出,所以通过键入来找到 8 的立方根。 Root[8,3]
  • 阶乘运算符可以写成 n!Factorial[n]
  • 对数和指数函数分别写为 Log[x]Exp[x]
  • 三角函数具有通常的名称,但是大写; 例如,Tan[x]Sin[x]ArcCos[x] 分别是正切,正弦和反余弦函数

绘图函数

你可以要求 WA 做几种不同类型的情节,但也许最基本的情节是绘制从实数到实数的简单函数,像 plotting x^2 ,可以通过输入 plot x^2plot Power[x,2] 来完成。 在绘制函数时,我们并不总是想要 WA 建议的范围,所以plot x^2 from -5 to 1 会将范围从默认值更改为 - 5 到 1 之间的范围。

对于更简单的图,用简单的英文写我们想要的工作就好了,但是对于更复杂或复杂的图,我们将更好地使用 Mathematica 语法。所以像 plot x^2 from -5 to 1 的常规情节变成了Plot[x^2, {x, -5, 1}],其中函数 Plot[] 用于表示我们想要一个 plot,第一个参数 x ^ 2 是我们想要绘制的函数,第二个参数 {x,-5,1} 是一个列表(Mathematica 中的列表用 {} 表示) 和变量,左极限和右极限。所以Plot[x^2, {x, -5, 1}] 产生与以前相同的图。

要绘制多个函数,我们可以将函数列表作为第一个参数,而不仅仅是函数。例如,Plot[ {x^2, x^3, x^4}, {x, 1, 5} ] 将绘制三个不同的多项式,从 1 到 5。

为了绘制两个变量的函数,我们可以使用函数 Plot3D ,所以如果我们输入 Plot3D[x^2 + y^2 + x*y, {x, -2, 2}, {y, -2, 0}]x 在 - 2 和 2 之间以及当 y 在 - 2 和 0 之间变化时,我们将绘制函数 x^2 + y^2 + xy

求解方程

可以非常容易地解方程。事实上,只需键入 solve x^2 + x - 1 = 0 for x 为你提供你所期望的。使用 Mathematica 表示法,你可以输入 Solve[x^2 + x - 1 == 0, x]

WA 和 Mathematica 的一个好处是它们能够进行符号计算,这也意味着你的方程可以有参数或其他未知数,WA 将尝试根据这些参数给出答案。例如,我们可以向 WA 请求通用公式求解度为 4 的多项式方程 Solve[x^4 + b*x^3 + c*x^2 + d*x + e == 0, x] 返回令人讨厌的公式。

你想要解的方程不需要是多项式的!例如,Solve[Log[x] + Exp[x] == 1, x] 解给出方程 Log[x] + Exp[x] == 1 的数字 x 的值。

方程组也可以求解。就像你给Plot[] 给出一个函数列表一样,现在我们给 Solve[] 一个方程列表。例如,我们想要解两个方程 Log[x] + y == 1Log[x] + Log[y] == 2,我们通过输入 Solve[ {Log[x] + y == 1, Log[y] + Log[x] == 2}, {x,y} ] 。这里有两个 重要 的事情要注意!首先,WA 给出的结果包括大多数人不会知道的函数 W; WA 通过略微向右写入解的每个组件来帮助人们,因此 WA 实际上在这里说“W(z) 是乘积对数函数(product log function)”,然后我们可以谷歌搜索。其次,请注意 Solve[] 的第二个参数是 {x,y} 不是 x !我们需要告诉 WA 我们拥有的所有变量; 如果我们只写 x,那么 WA 正试图解另一个问题:Solve[ {Log[x] + y == 1, Log[y] + Log[x] == 2}, x ]

解不等式

为了解不等式,你可以用与方程类似的方式来实现它,但是使用函数 Reduce[]。作为一个例子,我们通过输入 Reduce[{x + y < 0, x y > 3}, {x,y}] 来解不等式组 xy> 3x + y <0Reduce[{x + y < 0, x y > 3}, {x,y}]

矩阵代数

矩阵被大量使用,有时我们只需要一些地方来检查行列式,矩阵的特征值或特征向量,甚至可能将其求逆。你可能需要这样做,当你这样做时,WA 支持你。

在 WA 中,矩阵是列表的列表。外部列表是所有行的集合,内部列表具有每行的元素,因此维度 2 的单位矩阵将表示为 { {1, 0}, {0, 1} } (只需输入矩阵 WA 就会自动为你提供大量有关矩阵) 。

要找到矩阵的行列式或迹,你可以分别使用函数 Det[]Trace[] ,例如 Det[{{a, b}, {c, d}}] 给出了一般性的决定因素 2 乘 2 矩阵,Trace[{{a, b}, {c, d}}] 给出其迹。

要查找反函数,可以使用 Inverse[{{a, b}, {c, d}}]

要求特征值(或特征向量) ,你可以输入 Eigenvalues[{{a, b}, {c, d}}] (分别为 Eigenvectors[{{a, b}, {c, d}}]),即使通常只求一个也给了另一个。

当然,所有这些都可以用更大的矩阵和具有实际数字的矩阵来完成,而不仅仅是参数!例如,我们可以计算一些 5 乘 5 矩阵的特征值,比如 Eigenvalues[{{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}}] 给出 0, 0, 0, -3.642, 68.64

可能与大学课程更相关,但 WA 也对矩阵进行了对角化 / 找到了他们的若尔当标准型(Jordan canonical form)。为此,使用 JordanDecomposition[{{1, 2}, {0, 3}}] 其也给出了相似矩阵和对角矩阵和若尔当标准型矩阵。

计算级数和总和

Wolfram Alpha 可以做的另一件事是计算总和和级数; 具有已知值和未知值。例如,我从来不知道计算几何级数的第一项之和的公式是什么,例如 1 + x + x^2 + x^3 + ... + x^n。 WA 可以通过输入 sum x^i with i from 0 to n 来帮助我,这给出了我永远忘记的公式!但话说回来,我们最好使用 Mathematica 的语法,对于 sums / series 来说,它是通过函数 Sum[]。第一个参数是要求求和的表达式,第二个参数是虚拟变量的范围!例如,Sum[x^i, {i, 0, n}] 给出与以前相同的结果。

例如,我们也可以计算 Sum[Factorial[n], {n, 1, 20}]将前 20 个阶乘相加(顺便给出 2561327494111820313) 。

无穷和,称为序列,通过用 infty 替换虚拟变量的上限来计算。所以如果我们输入Sum[1/n, {n, 1, infty}] 我们亲爱的 WA 让我们知道调和级数发散

另一个有趣的例子是 Sum[1/n^2, {n, 1, infty}],实际上给出了 pi^2/6

有限 / 无穷乘积以相同的方式工作,除了我们使用函数 Product[]。例如,有一个有趣的乘积公式给出了 pi/2,该乘积的前 100 项表明它是接近的:Product[(4i^2)/((2i-1)*(2i+1)), {i, 1, 100}] 接近 Pi/2 (此示例中的更多关于极限部分)。

求导

函数求导可能会变得非常讨厌。值得庆幸的是,WA 为我们付出的努力!我们可以用 differentiate cos(sin(x)) wrt x 。等效的 Mathematica 命令是 D[Cos[Sin[x]], x] ,其中 D 代表求导。请注意,第一个参数是你要求导的函数,第二个参数是你要求导的变量。

高阶导数可以通过指定变量和顺序来完成:D[x^5, {x, 5}] 给出函数 x^5 的五阶导数。 几个变量的函数也可以很容易地求导,因为 WA 和 Mathematica 将把所有不是指定变量的东西视为常量。例如,D[x^2 + y^2, x] 显然给出了 2x

要找到混合偏导数,只需将函数作为第一个参数,然后按顺序将所有要分辨的变量放在一起。例如,如果你想找到 f 相对于a 的混合偏导数,那么 b,然后 c,做 D[f[a,b,c], a, b, c] 。请注意,对于最后一个,WA 返回符号表达式,因为 f 只是一些泛型函数。这意味着我们也可以让 WA 告诉我们求导的规则。例如,我们可以要求 WA 乘积求导 f(x)g(x): D[f[x] * g[x], x] 给出乘积规则 (fg) '= f'g + fg'

包含导数的(通常是标量) 函数的典型运算也可以用 WA 计算。在下面的列表中,我假设我们正在处理三个变量的函数 f(x,y,z)。变量的数量可以很容易地改变! - f 的梯度可以用 [gradient f[x,y,z]] 来计算(https://www.wolframalpha.com/input/?i=gradient+f%5Bx,y,z%5D ) 在 WA 和 Mathematica 中的 D[f[x,y,z],{{x,y,z}}] - 向量函数 (f1(x,y,z), f2(x,y,z), f3(x,y,z)) 的发散可以用 divergence {f1[x,y,z], f2[x,y,z], f3[x,y,z]} 和 Mathematica 中的 Div[{f1[x, y, z], f2[x, y, z], f3[x, y, z]}, {x, y, z}] - curl 是类似的,期望我们用 curl 替换 divergence 进行 WA 计算并使用 Mathematica 中的函数 Curl[],而不是 Div - f 的拉普拉斯算子可以在 WA 用 laplacian f[x,y,z] 和 Mathematica 中的 Laplacian[f[x,y,z],{x,y,z}] 来计算。

计算积分

不幸的是,与 WolframAlpha 计算积分非常困难...... 不是!它就像其他任何东西一样工作。你只需在 WA 输入它就可以得到一个答案:integrate exp(-x^2) with x from 0 to infinity 。 Mathematica 方式是 Integrate[ Exp[-x^2], {x, 0, infty}]

当然,积分变量可以是任何变量,边界也可以改变,它们可以包括正负无限。

要查找原函数,只需省略变量的边界即可。例如,要找到 cos(sin(x))tan(x) 的原函数,我们可以输入 Integrate[Cos[Sin[x]]Tan[x], x] 我们得到一个很长的答案。有时 WA 找不到原函数,它会让你知道。

如果我们只需要一个(精确的) 数值,并且我们不需要 WA 给出确切的答案(它将尽可能地给出它们) ,我们可以明确地使用函数 NIntegrate[] 而不是 Integrate: NIntegrate[Cos[1/x + Pi/2]^5, {x,1,infty}]

作为最后的评论,请注意,如果你使用 WA / Mathematica 检查你是否正确地进行了原函数,请记住有时一个函数有多个原函数。如果你试图找到一个函数 h 的原函数并且到达某个函数 f 但是 WA 得到了一个不同的函数 g,它并不一定意味着你弄错了!只是尝试推导你的函数 f,看看是否给它h,它应该!

求极限

要找到表达式或函数的极限,只需按照你的预期输入:limit of 1/x as x goes to -infty 。这里可能想要使用的函数是 Limit[]。它就像我们见过的几乎所有其他函数一样。第一个参数是表达式,第二个参数是变量; 这里唯一需要注意的是我们告诉 WA 变量收敛的方式。前面的例子将写成 Limit[1/x, x -> -infty]

定义变量接近极限值的方向通常也很有用。例如,我们知道 x 变为 0 时的 1/x 的极限随着 x从左边或右边接近 0 而改变。所以我们实际上可以检查 Limit[1/x, x -> 0^+] 不同于Limit[1/x, x -> 0^-] 其中指数符号 0^+0^- 用于定义我们在这里接近 0 的一侧。

此外,在 计算级数和总和 中我提到某个乘积可用于计算 pi/2。我所说的乘积是 Product[(4i^2)/((2i-1)*(2i+1)), {i, 1, infty}] 如果你遵循链接你会看到 WA 实际上不能给你确切的值。相反,它给了我乘积的值,如果我只达到 5 个项,它给了我一个 接近 公式的乘积到nProduct[(4i^2)/((2i-1)*(2i+1)), {i, 1, n}] 。现在我将使用 Limit[] 函数来证明我实际上不是在撒谎!如果我把那个接近的公式放在 Limit 函数中并让n 像这样去无穷大:Limit[(Pi Gamma[1 + n]^2)/(2 Gamma[1/2 + n] Gamma[3/2 + n]), n -> infty],我们得到所需的 pi/2

其他

要查找数字是否为素数,可以使用函数 PrimeQ[],例如键入 PrimeQ[4234523457] 得出结论 4234523457 不是质数,因为 4234523457 = 3×53×97×463×593

类似地,使用函数 Prime[] 找出第 n 个素数。例如,键入 Prime[4234523457] 以查明 4234523457th prime 是 “102951556637”。


Mathspp BlogRojerGS 的编辑带给你。

原文:https://github.com/clone95/Virgilio/blob/master/zh-CN/Tools/WolframAlpha.md

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 统计学基础回顾

    iOSDevLog
  • github 十年历程2008年2009年2010年2011年2012年2013年2014年2015年2016年2017年2018年

    iOSDevLog
  • 验证设备支持和用户权限

    ARKit需要iOS 11.0或更高版本以及带有A9或更高版本处理器的iOS设备。某些ARKit功能需要更高版本的iOS版本或特定设备。ARKit还使用设备摄像...

    iOSDevLog
  • HandlerThread源码分析

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/...

    用户2965908
  • Java POI Word 写文档

    package apache.poi; import java.io.ByteArrayInputStream; import java.io.ByteArr...

    I Tech You_我教你
  • Vijos P1784 数字统计【模拟】

    数字统计 背景 来自 NOIP2010 普及组 第一题 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。 比如在给定范围[2, 22],数...

    Angel_Kitty
  • Devstack搭建OpenStack

    VMware Workstation Pro + Ubuntu18.04(LTS) + OpenStack Queens

    JNJYan
  • Spring Cloud微服务初探

    因为加了不少优秀的知识星球,结交了更多的小伙伴,加了更多的群,每每在自我介绍的时候,都说自己是Android & Java攻城狮。

    程序员小跃
  • 两会聚焦 | 让创新创业创造为文旅融合发展提供更多新动能,这些观点值得看看

    ? 3月10日,习近平总书记在参加十三届全国人大二次会议福建代表团审议时指出,做企业、做事业不是仅仅赚几个钱的问题。实实在在、心无旁骛做实业,这是本分。习近平...

    腾讯文旅
  • AI机器人感知系统可以通过触摸物体来识别物体

    人类通过触摸学习并了解世界。事实上,一些研究表明,动觉学习可以提高那些与视觉、听觉或读写学习紧密结合的学习效果。

    AiTechYun

扫码关注云+社区

领取腾讯云代金券