Mathematica怎么让下面的mathematica输出结果为数字显示为正常的三角函数形式?

标题夸大草死(检索: Mathematica 入门, Mathematica 教程, MMA, 函数图像, 符号运算, 画图工具超, 我还真的写了 FeynCalc 的入门手册别再问我这个那个怎么实现了, 我也只是一个一个随用随查的老 fw 啊 (悲). 这么多函数设定怎么可能记得住? 当然是现场查询现场套用呗. 怎么查呢? Wolfram 语言与系统 参考资料中心, 请. 什么? 打不开? 没错, 其实这个网站也跟所谓的脸书油管一样, 事个美团的骗局捏. 为什么这种屑作伸手就来, 文章却半天憋不出一个屁? (绝望).一篇速成粪作仅历时一天就便乘了我的 (前) 最高赞文章, 这个社会病了.题外: 你知道创造 Mathematica 的人有多酷吗? Warning假如你能用 Mathematica 画出两颗甚至一颗林檎的话, 那么本文很可能对你没有任何帮助. 这就是从零开始的最基本的教程, 就相当于教会你说人话. 如果处于那种连本文内容都不懂的程度, 那即使别人告诉你算法你也看不懂. 而看完本文以后你就具备了询问他人[1]关于想实现什么时该怎么做的能力了. 所以我推荐看完本文以后找个 Mathematica 的学习交流群, 边玩边问罢. 总之就是本文可以防止你问出过于小学生的问题. 小学生でも分かるシリーズ~第一弾! 开玩笑的, 应该永远不会有第二弹了. 简而言之, 这篇文章的目的是让一个昨天才听说有一个叫 Mathematica 的软件且连 C++ 或者皮炎通红都不知道是啥的人也能最低限度地开始将 Mathematica 作为一个科学计算器来实现最最简单的代数运算与作图等一系列基础功能. 本文将是行文极其幼稚简单的一篇文章, 意思就是说我恨不得从拉丁字母究竟有哪几个与什么是键盘开始教你.我为什么要写这篇文章?因为我始终相信学习 Mathematica 要从娃娃抓起.因为不用手工计算的好时代早已来临力! 试想大一新生在学习高数的时候如果有一个 Mathematica 能把那些抽象的图像全部具体展现出来、能把那些无聊的积分一口气算出来对对答案. 或者自己发现自己可能错在哪但验证这个想法要经过冗长的计算的情况都可以用 Mathematica 一口气验证出来, 那学习效率多高? Mathematica 拯救世界的具体例子: 这两个式子相等吗求大神指点?试想在大一新生学习线性代数的时候, 能有一个 Mathematica 帮你进行矩阵运算, 帮你找到特征向量与特征值等让你想干嘛就干嘛, 多爽啊? 或者就是闲着想整点儿酷玩意儿, 那只要你够肝, 搁里边儿开个拉面馆应该都是没问题的. 但是, 对于没跨过门槛的大一后辈来说, 上网一搜如何使用 Mathematica 就是 361361 集视频、931 光年那么厚的字典式说明书或是被某个大佬自带 893W 行代码的文章疯狂雷普. 893W 啊 893! 事不事太劝退了? 就经常有些学弟跑来我寝室跟我讨论学习方法, 其实我也知道他们只是想来蹭我从家里带来的高级红茶罢, 但每次还是忍不住问他们『打数理基础什么的, 还有在做吗? 』『やりますね. 』『那 Mathematica 什么的, 玩过没有啊? 』『事新游戏哦? 』『我看你, 完全事不懂噢. 』『懂? 懂什嘛ー? 』『来嘛 (战术拉扯), 我打开你康康, 让你看个够啊 (指软件). 』『哇前辈, 你这里好多五颜六色的函数图像哦! 』『霍, 你想懂··· (屑颜) 』我也就只事想让后辈早点接触 Mathematica 来脱离苦海啊! 但我推荐后他很可能当天就被这个怪浪怪浪的社会劝退了, 然而从昏睡入死灭, 并不感到就死的悲哀. 然后在将来某一天不得不学的时候才学, 学完之后就后悔不已『呔! 我究竟错过了甚麽?』(大悲). 但事学弟又不只是一个人, 他事一个一个好多人, 我又不想挨个雷普 (直球), 那怎么办? 我正有写一点东西的必要了. 综上所述, 这篇文章的目的仅仅是让没跨过门槛的人跨个门槛尝两个甜头, 解三行方程, 画四张三维图, 再生成一组怪浪怪浪的动画片段! 然后成瘾, 然后依赖, 然后不得不自己去学后面的部分, 所以不要停下来啊! (指学习Mathematica)说实话, 为什么要写这篇文章?因为最近论文写得有点烦, 就想找个借口写点随性的东西消遣消遣逃避一下的 (大悲). 黑 色 高 级 目 録: 0. 强行入门 一些基本规则1. 代数部分 1.0. 这里边儿有几项啊? 1.1. 多项式的最大公因式与最小公倍式1.2. 取出分母与系数1.3. 合并指定同类项1.4. 展开三角函数1.5. 幂级数展开 (泰勒展开)1.6. 级数的展开系数1.7. 傅里叶级数展开与分段函数的表示手段1.8. 拉普拉斯变换1.9. 拉普拉斯逆变换1.10. 解方程1.11. 解超越方程1.12. 解方程组1.13. 解不等式1.14. 方程整数解1.15. 求数列通项公式1.16. 定积分/不定积分1.17. 含参定积分设定参数取值范围1.18. 数值积分1.19. 分段函数积分1.20. 求解微分方程1.21. 求解有边界条件的微分方程补: 2020/4/28 - 5:40 突然想起来没写矩阵运算 (绝望)1.22. 矩阵运算1.23. 矩阵的乘法1.24. 特征值与特征向量1.25. 提取矩阵元与矩阵降维2. 图形与动画部分 2.1. 画一元函数图2.2. 指定坐标轴刻度2.3. 曲线颜色, 虚线, 宽高比, 多个函数图像在同一坐标系下显示2.4. 参数曲线作图2.5. 极坐标绘图2.6. 同坐标系下显示定义域不同的函数, 设定坐标轴宽高比2.7. 坐标轴带箭头2.8. 图像尺寸, 缩放2.9. 图例注记, 标注2.10. 刻度字号, 刻度标注, 生成表格2.11. 图中图, 图中放图2.12. 去边框, 光滑化 (增加绘图点数), 坐标轴名称2.13. 空间参数曲线, 三维参数绘图2.14. 方程作图, 方程曲线, 方程空间曲线2.15. 二维简谐波动画2.16. 绘制运动轨迹, 质点运动2.17. 模拟质点运动, 模拟平抛运动, 帧数设定3. 进阶玩应 3.1. 输入希腊字母等符号3.2. 上下标与分数线3.3. 自定义函数3.4. 批量规则替换本文的正确使用方法是把我给你的代码 copy 到你的 Mathematica 上. 接着就随便你 xjb 乱搞, 自然就会搞懂了的. 什么函数都不用背, 随时用随时打开这篇文章查一查就好了. 哦对了, 我下面的代码中每个逗号后面都有个空格, 只是我个人的习惯罢了, 可以不加. 噢, 刚想起来, 还有那种条件表达式, 比如说 If[ ] 之类的, 就是判断是否满足某条件, 满足就执行某操作, 不满足则执行另一个操作的那种函数. 这类函数在 Mathematica 里也是有的, 而且还有很多, 比如说 If[ ] 就是其中一个, 不过我不打算介绍, 自己查查吧反正就是记得善用 F1. 0. 强行入门: 打开 Mathematica 你会看到一个界面, 讲地比较抽象的话就是下面这样的:\[\left[ \begin{matrix}
\_ & \_ & \left. \_\ \
\right
& {} & {} & {} & {} & {}
\\
\overset{登}{\mathop{-}}\, & \overset{\rm{duǎ}}{\mathop{-}}\, & \left. \overset{郎}{\mathop{-}}\, \right
& \text{WOLFRAM} & {} & {} & {} & {}
\\
{} & {} & \left. \ \ \ \
\right
& \ \ \ \ \ \ \ \text{MATHEMATICA}\ \text{114} & {} & {} & {} & \ \ \ \ \ \ \
\\
{} & {} & \left. \ \ \ \
\right
& {} & {} & {} & {} & {}
\\ \end{matrix} \right]\] 然后请点击 登duǎ郎 处.这个时候你就进入了另一个界面, 我们接下来的一切都在这里发生. 赶快试试, 输入: 114+514 然按下键盘上比较小的那个回车键. 是不是出现了 628? 恭喜你, Mathematica 在你手上已经便乘高级甚至中级计算器力. 我也就是经常拿它算个加减乘除, 不觉得这样算很直观吗? 一些基本规则:键盘上那个小回车是『给爷速速出结果』的意思. 键盘上那个大回车是『换到下一行』的意思. 如果小回车键被亲戚搞坏了可以用 Shift+大回车键 代替. 如果大回车也被亲戚搞坏了呢? 这样的亲戚还是宰了罢 (恼). 如果写了很多行, 有些结果不需要显示出来可以在那一行最后加一个『 ; 』. 虽然结果没显示出来但其实这一行仍然还是进行了计算.x=7 的意思是设定 x 这个变量的值为 7. 我们平时方程里用的那个等于号写作『==』 和上面那个赋值的『=』不是一回事. 你用任何一个变量之前都不需要先定义变量, 如果你不知道啥叫定义变量, 那就不用知道. 并不是任何一个字符串都可以当作变量来用的. 一个合法的变量名必须满足一下几个要求:(1). 不以数字开头 (可以包含数字). (2). 不能使用特殊字符 (@, #, $, %, ^, &, *, !, ~, ` 等等). (3). 不能使用下划线 "_". (4). 可以使用希腊字母, 甚至汉字. 你要实在看不懂人话就用下面这条命令: Head[Unevaluated[变量名]] 如果返回的结果是 Symbol, 那就说明你这个变量名合法, 可以用. 不过 Mathematica 里的变量都默认是复变量. 这意味着即便你写成 x + I y, 它也不会觉得你这个 x, y 是实数. 如果你对上面这个式子取复共轭则会得到 x*-I y*. 有个很不错的函数叫 ComplexExpand, 它会在默认所有的变量都是实数后做展开. 这意味着输入 ComplexExpand[Conjugate[x + I y]] 将得到 x - I y 而非 x*-I y*. 输入 Conjugate[E^(I x)] 得到的是 E^(I x*). 输入 ComplexExpand[Conjugate[E^(I x)]] 得到的是 Cos[x] - I Sin[x]. 也可以仅指定其中一些参数为实数, 你自己看说明吧. 最后介绍一个相关的化简函数 Refine, 它可以对一些参数取假设后进一步化简式子. 比如说输入 ComplexExpand[Conjugate[Log[x]]] 后, 不知道为啥出来的仍是 log(x^2)/2-I arg(x). 但如果你用了 Refine, 如下所示: Refine[ComplexExpand[Conjugate[Log[x]]], Assumptions -> x > 0]输出则能化简为 log(x). 我们分别用 +, -, *, /, ^ 来表示加, 减, 乘, 除, 设定幂次. 在数乘运算里乘号可以被省略, 比如说 7 与 x 相乘直接就可以写 7x. 变量之间相乘也可以省略乘号但要加一个空格, 比如 a 与 b 相乘写作 a b. 为何要加空格? 因为没有空格的 ab 是一个不同于 a 或 b 的一个新的变量. 例: \[{{\left( \frac{a}{bc} \right)}^{-2d}}=f\] 写作 (a/(b c))^(-2d)==f 或 (a/(b*c))^(-2d)==f. 值得注意的是, 这种理清运算关系的括号一律用小括号, 因为其它的括号有其它的使命. Mathematica 里面内置了 810 个常数. 其实就是想说一下, 一般内置常数都是开头大写的, 大写字母在 Mathematica 里意义非凡. 比如说我们的老朋友 \[\pi \] 在里面就要写作 Pi; 而自然对数的底数 \[\rm e\] 则写作 E; 虚数单位 \[\rm i\] 则写作 I. 例: \[{{\rm e}^{\rm i\pi }}\] 我们写作 E^(I Pi)
#注意空格与大写的问题. Mathematica 里面内置了 1919 个函数. 你平时用得到的函数都有, 只要拿出来用就是了. 所有函数开头字母都是大写的, 大写字母在 Mathematica 里意义非凡. 函数分为『函数名』与『 [ ] 』两个部分, 前面是函数的名字, 后面括号里是用来写明函数的作用对象与其他的一些参量设置, 比如说我们想计算 \[2{{\sin }^{2}}\left( \frac{\pi }{3} \right)\] 我们就要写作 2(Sin[Pi/3])^2. 指的注意的是, 函数后面的括号一定是中括号. 让我们来辨析一下三个括号: ( ), [ ], { }.( ) 用于一个多项式中, 就是用来表示平时数学计算中的那些括号. [ ] 就是 f[x] 中的 [ ], 注意我们这里标明函数作用对象的括号都是中括号. { } 就是分割一个区域的括号, 比如说同一类的条件或约束就要用这个括号打包起来. Clear 函数, 代码前加一个 Clear[ ] 然后把你要用到的变量都放进 [ ] 里以清空变量值. 不太想告诉你要这么做的原因, 反正如果不这么做然后出错了, 你就要想起来把这个补上去. [ ] 里的变量用逗号隔开, 如: Clear[a,b,c,d]. 值得一提的是, 带上下标的变量无法清空值. Simplify 函数, Simplify[ ] 可以将 [ ] 里的多项式一键化到最简形式. 有时候你觉得算出来应该是 0 却出来一大串, 那就 Simplify 一下就是 0 了. 可以简单的理解为自动合并同类项再取出公因式. 怎么知道具体有哪些函数呢? 自己 Bing 一下的. 抵制乐色 baidu 从我做起, 虽然 Bing 阉割的也蛮严重的吧, 但至少垃圾少. Bing 也就比百度强 \[{{1919810893931889464364364114}^{514}}\] 倍吧. 如果能上外网的话当然还是推荐 Gxxgle 啦. 怎么搜索函数呢? 其实你只要上网搜如何用 Mathematica 做什么就是了. 比如你搜『如何使用 Mathematica 画函数图』 肯定有一个关键词 Plot 会疯狂出现, 这个函数名 Plot , 就是我们的函数绘图函数的函数名. \[\text{F1}\] 啊 \[\text{F1}\] , 你是一个一个一个啊啊啊啊啊啊啊! 当你获得了函数名, 却又不知道怎么用这个函数的时候, 请用鼠标选定函数名后按下那个罪深い的 \[\text{F1}\] . 这时, 无论是定义还是范例, 关于这个函数的一切都将在你面前暴露无遗. 你以为我什么都懂吗? 我这条命都是 \[\text{F1}\] 给的. 备注写在『(*
*)』里面, 所谓备注你可以理解为就是 Mathematica 看不到的代码. 我们一般用备注来写标题或一些解释说明, 总之这个就只是写给人看的, 跟 Mathematica 的计算没有任何关系.我们还可以用快捷键 Alt+/ 来把选定的句子变成备注. 选定表达式右键可以将表达式转换成 TraditionalForm 就是将容易输入的计算机表达式转换成容易看懂的平时手写体. 其实到这里, 你就可以开始用了, 后面不过是我开始介绍一些常用函数罢了. 其实后面也超级重要的啦, 就是带着你跨过各个细分方向的门槛. 对了, 补充一个很有用的命令:『 /. 』简单来说就是在表达式 f(x) 后面加上 /.x–>a 就可以得到 f(a). 也就是说是一个表达式变量代值或者变量替换的命令. 具体例子: Sin[x] + E^x + x^4 /. x –> 7输出: 2401 + E^7 + Sin[7]如果要多重替换就是 /.{x–>a, y–>b}. 另外还有一个替换命令为『 //. 』, 啥区别呢? 你自己用 \[\text{F1}\] 去查. 碰到任何问题, 都可以重开了事, 但其实还有一个操作可以代替重启程序. 那就是先 计算→退出内核→Local 再 计算→启用内核→Local. 小心, 这有崩溃风险, 所以请先保存. 1. 代数部分: 1.0. 这里边儿有几项啊? Length[c1+c2+c3+c4+c1]输出: 41.1. 多项式的最大公因式与最小公倍式:目标多项式: \[{{\left( 1+x \right)}^{4}}\] 与 \[{{\left( 1+x \right)}^{6}}\] 多项式的最大公因式:PolynomialGCD[(1 + x)^4, (1 + x)^6, x^2 + 2 x + 1]输出: (1 + x)^2多项式的最小公倍式:PolynomialLCM[(1 + x)^4, (1 + x)^6, x^2 + 2 x + 1]输出: (1 + x)^61.2. 取出分母与系数: Denominator[(1 + x)/x] 输出: x Coefficient[3x^2+a b x+x y z b+2c b^2, b]输出: a x+x y z别小瞧, 我经常一算就出个几万项结果, 就是靠这个函数来分类化简的. 1.3. 合并指定同类项: Collect[(1 + a + x)^4, x]输出: (6a^2+12a+6)x^2+(4a^3+12a^2+12a+4)x+a^4+4a^3+6a^2+(4a+4)x^3+4a+x^4+1Collect[(1 + a + x)^4, x, Simplify]输出: (1 + a)^4 + 4 (1 + a)^3 x + 6 (1 + a)^2 x^2 + 4 (1 + a) x^3 + x^41.4. 展开三角函数:TrigExpand[Sin[2 x]]输出: 2 Cos[x] Sin[x]1.5. 幂级数展开 (泰勒展开):将对象 \[\frac{1}{2}\left( {{\text{e}}^{x}}-{{\text{e}}^{-x}} \right)\] 在 \[x=0\] 处展开到 \[{{x}^{7}}\] 这个阶段.Series[1/2*(E^x - E^-x), {x, 0, 7}]输出:
\[x+\frac{{{x}^{3}}}{6}+\frac{{{x}^{5}}}{120}+\frac{{{x}^{7}}}{5040}+\text{O}{{\left[ x \right]}^{8}}\] 1.6. 级数的展开系数:SeriesCoefficient[Cos[x], {x, 0, n}]输出: \[\left\{ \begin{align}
& \frac{{{i}^{n}}\left( 1+{{\left( -1 \right)}^{n}} \right)}{2n!}\ \ \ \ \ \ n>0 \\
& 0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \text{True} \\
\end{align} \right.\] 1.7. 傅里叶级数展开与分段函数的表示手段:将目标函数 \[f\left( x \right)=\left\{ \begin{align}
& x\ \ \ \ \ \ \ \ \ x\in \left[ 0,1 \right] \\
& 2-x\ \ \ \ x\notin \left[ 0,1 \right]\cap \mathbb{R} \\
\end{align} \right.\] 分别进行傅里叶正弦级数展开与余弦级数展开.f = If[0 <= x <= 1, x, 2 - x];FourierSinSeries[f, x, 3]FourierCosSeries[f, x, 3]输出: \frac{\left( 4-2\pi +4\sin \left[ 1 \right] \right)\sin \left[ x \right]}{\pi }+\frac{\left( -2+\pi +\sin \left[ 2 \right] \right)\sin \left[ 2x \right]}{\pi }+\frac{2\left( 6-3\pi +2\sin \left[ 3 \right] \right)\sin \left[ 3x \right]}{9\pi } \frac{1}{2}\left( 4-\frac{2}{\pi }-\pi
\right)+\frac{4\cos \left[ 1 \right]\cos \left[ x \right]}{\pi }+\frac{4\cos \left[ 3 \right]\cos \left[ 3x \right]}{9\pi }-\frac{2\cos \left[ 2x \right]\sin {{\left[ 1 \right]}^{2}}}{\pi } 1.8. 拉普拉斯变换:LaplaceTransform[t^2 + 6 t - 3, t, s]输出: \frac{2}{{{s}^{3}}}+\frac{6}{{{s}^{2}}}-\frac{3}{s} 1.9. 拉普拉斯逆变换:InverseLaplaceTransform[(3 p + 9)/(p^2 + 2 p + 10), p, t]输出:
\frac{1}{2}{{\text{e}}^{\left( -1-3\text{i} \right)t}}\left( \left( 3+2\text{i} \right)+\left( 3-2\text{i} \right){{\text{e}}^{6\text{i}t}} \right) 1.10. 解方程:Solve[2 x^2 - x - 1 == 0]输出: {{x -> -(1/2)}, {x -> 1}}1.11. 解超越方程: 目标方程
{{4}^{x}}+{{2}^{x+1}}=3 FindRoot[4^x + 2^(x + 1) - 3, {x, 0}]输出: {x -> 0.}1.12. 解方程组:Solve[{x + y == 1, 3 x - 2 y == 1}]输出: {{x -> 3/5, y -> 2/5}}Solve[a x + y == 7 && b x - y == 1, {x, y}]输出: {{x -> 8/(a + b), y -> -((a - 7 b)/(a + b))}}1.13. 解不等式:Reduce[x^2 - 3 x + 2 > 0]输出: x < 1
x > 21.14. 方程整数解: Reduce[(a - 1) (b - 2) == 0, {a, b}, Integers]输出: a == 1
b == 21.15. 求数列通项公式: 就是通过递归公式求通项, 下面的 Simplify 加不加都可以, 是化简结果用的.Clear[a, n]Simplify[RSolve[{a[n] == a[n - 1] + 3 a[n - 2], a[0] == 1, a[1] == 1}, a[n], n]]输出: \left\{ \left\{ a\left[ n \right]\to \frac{1}{26}\left( -{{\left( \frac{1}{2}\left( 1-\sqrt{13} \right) \right)}^{n}}\left( -13+\sqrt{13} \right)+{{\left( \frac{1}{2}\left( 1+\sqrt{13} \right) \right)}^{n}}\left( 13+\sqrt{13} \right) \right) \right\} \right\} 1.16. 定积分/不定积分: Integrate[3 Cos [5 x]/E^(2 x), {x, -1, 1}]输出:
-\frac{15\cos \left( 3+{{\text{e}}^{4}} \right)}{4{{\text{e}}^{2}}} 至于不定积分, 只需要把『{x, 下限, 上限}』换成『x』就可以了.1.17. 含参定积分设定参数取值范围:Clear[x, a, b]Assuming[{a > 0, b > 0}, Integrate[Log[x], {x, a, b}]]输出: ConditionalExpression[a - b - a Log[a] + b Log[b], a < b]1.18. 数值积分:NIntegrate[Sqrt[(Sin[x])^3 + 1], {x, 0, 1}]输出: 1.08268 1.19. 分段函数积分:f = If[x >= 0, 1/(1 + x), 1/(1 + E^x)];Integrate[f, {x, -1, 1}]输出: Log[1 + E]1.20. 求解微分方程:Clear[x, y]DSolve[y'[x] - 3 x y[x] == 2 x, y[x], x]输出: \left\{ \left\{ y\left[ x \right]\to -\frac{2}{3}+{{\text{e}}^{\frac{3{{x}^{2}}}{2}}}C\left[ 1 \right] \right\} \right\} 1.21. 求解有边界条件的微分方程:DSolve[{y''[x] + 2 y'[x] + 2 y[x] == -E - x, y[0] == 0, y'[0] == 0}, y[x], x]输出: \left\{ \left\{ y\left[ x \right]\to -\frac{1}{2}{{\text{e}}^{-x}}\left( -{{\text{e}}^{x}}+{{\text{e}}^{1+x}}+{{\text{e}}^{x}}x+\cos \left[ x \right]-\text{e}\cos \left[ x \right]-\text{e}\sin \left[ x \right] \right) \right\} \right\} 1.22. 矩阵的表达:在 Mathematica 里, 矩阵与向量其实就是表格.表格就是大括号 { } 与其里面用逗号分隔开的元素构成的.当然这样的表格只有一行, 两行的表格表达为 {{ },{ }} 并以此类推.用我们最熟悉的泡利矩阵举个例子吧:Clear[t1, t2, t3]t1 = {{0, 1}, {1, 0}}; t2 = {{0, -I}, {I, 0}}; t3 = {{1, 0}, {0, -1}};上面就是三个泡利矩阵的写法.想要直观一点的看到矩阵就用函数 MatrixForm[ ]Clear[t1, t2, t3]t1 = {{0, 1}, {1, 0}}; t2 = {{0, -I}, {I, 0}}; t3 = {{1, 0}, {0, -1}};MatrixForm[t2]输出: \[\left( \begin{matrix}
0 & -\text{i}
\\
\text{i} & 0
\\ \end{matrix} \right)\] 表格一定要手打吗? 不一定. 其实 Mathematica 很少涉及循环结构, 但却有很多按规律生成表格的函数. 有哪些函数呢? 我不告诉你, 需要的话自己去 Bing 一下的. 1.23. 矩阵的乘法:矩阵的乘法我们不能省略乘号, 要写一个『 . 』在两个矩阵之间. Clear[t1, t2, t3]t1 = {{0, 1}, {1, 0}}; t2 = {{0, -I}, {I, 0}}; t3 = {{1, 0}, {0, -1}};MatrixForm[t2.t2]MatrixForm[t1.t2]输出: \[\begin{align}
& \left( \begin{matrix}
1 & 0
\\
0 & 1
\\ \end{matrix} \right) \\
& \left( \begin{matrix}
\text{i} & 0
\\
0 & -\text{i}
\\ \end{matrix} \right) \\
\end{align}\] 那你可能要问了, 行向量和列向量如何区分呢? 答案是不区分, 其实也没那么不可思议, 你用向量左乘方矩阵它自然会把它当作行向量来算.因为列向量左乘方阵根本就 make no sense . 所以不会造成歧义也就不必区分.除了最基础的矩阵乘法还有克罗内克积直积直和之类一大堆怪浪怪浪的乘法. 需要的话自己上网冲浪去查一下罢.1.24. 特征值与特征向量:就是三个函数: Eigenvalues[ ], Eigenvectors[ ], Eigensystem[ ],分别是求本征值, 本征矢, 同时求本征值与其对应的本征矢.Clear[t1, t2, t3]t1 = {{0, 1}, {1, 0}}; t2 = {{0, -I}, {I, 0}}; t3 = {{1, 0}, {0, -1}};Eigenvalues[t2]Eigenvectors[t2]Eigensystem[t2]输出: {-1, 1}{{I, 1}, {-I, 1}}{{-1, 1}, {{I, 1}, {-I, 1}}}草死, 怎么写成本征了, 还是觉得本征好听些, 其实本征就是特征, 量子力学害人不浅 (确信). 1.25. 提取矩阵元与矩阵降维: 在表格后面加 [[t]] 可以提取第 t 行的元素. {{{c1, c2}, c3}, {c4, {c5, c6}}, {c7, c8, c9}}[[2]]输出: {c4, {c5, c6}}{{{c1, c2}, c3}, {c4, {c5, c6}}, {c7, c8, c9}}[[2]][[2]]输出: {c5,c6}{{{c1, c2}, c3}, {c4, {c5, c6}}, {c7, c8, c9}}[[2]][[2]][[1]]输出: c5使用 Flatten 函数可以消除数组的内层括号. Flatten[{{{c1, c2}, c3}, {c4, {c5, c6}}, {c7, c8, c9}}]输出: {c1,c2,c3,c4,c5,c6,c7,c8,c9}Flatten[{{{c1, c2}, c3}, {c4, {c5, c6}}, {c7, c8, c9}}, 1]输出: {{c1,c2},c3,c4,{c5,c6},c7,c8,c9}Flatten[{{{c1, c2}, c3}, {c4, {c5, c6}}, {c7, c8, c9}}, 2]输出: {c1,c2,c3,c4,c5,c6,c7,c8,c9}最后多提一点就是, 不是说你把矩阵写在变量的地方就能得到矩阵的函数, 也不要想着把矩阵当作幂级数展开的因子或者什么的. Mathematica 没那么智能, 但这些操作仍然是可以完成的, 比如说对于矩阵 A 你想表达 \[{{\rm e}^{A}}\] , 你就得用函数 MatrixExp[A] 而不能写作 E^A 或者 Exp[A]. 此外就是还有 MatrixPower, MatrixLog, MatrixFunction 之类的函数. 点到为止, 你自己感受一下吧. 2. 图形与动画部分:2.1. 画一元函数图:Clear[x]Plot[x^0.25, {x, 0, 10}]2.2. 指定坐标轴刻度:Plot[Sin[x], {x, 0, 10}, Ticks -> {{0, Pi, 2 Pi, 3 Pi}, {-1, 1}}]2.3. 曲线颜色, 虚线, 宽高比, 多个函数图像在同一坐标系下显示: Clear[x]pic1 = Plot[{x, Sin[x]}, {x, -Pi/2, Pi/2}, PlotStyle -> {{Red, Dashed}, Green}];pic2 = Plot[ArcSin[x], {x, -1, 1}, PlotStyle -> {Blue}];Show[pic1, pic2, {PlotRange -> All, AspectRatio -> 1}]2.4. 参数曲线作图: 目标参数曲线为 \left\{ \begin{align}
& x=2{{\cos }^{3}}t \\
& y=2{{\sin }^{3}}t \\
\end{align} \right.\ \ ,\ \ t\in \left[ 0,2\pi
\right] Clear[t]ParametricPlot[{2 (Cos[t])^3, 2 (Sin[t])^3}, {t, 0, 2 Pi}]2.5. 极坐标绘图:Clear[θ]PolarPlot[2Cos[3θ], {θ, 0, 2Pi}]2.6. 同坐标系下显示定义域不同的函数, 设定坐标轴宽高比:Clear[x]pic1=Plot[x^2, {x, -1.2, 1.2}];pic2=PolarPlot[1, {θ, 0, 2Pi}];Show[pic1, pic2, {PlotRange -> All, AspectRatio -> 1}]2.7. 坐标轴带箭头:Clear[x]Plot[x, {x, -0, 5}, AxesStyle -> Arrowheads[0.07]]2.8. 图像尺寸, 缩放:Clear[x]Plot[x, {x, -0, 5}, ImageSize -> 300]2.9. 图例注记, 标注:Clear[x]Plot[{Sin[x], Cos[x]}, {x, -2 Pi, 2 Pi}, {PlotLegends -> {sin, cos}}]2.10. 刻度字号, 刻度标注, 生成表格: Clear[x, i]ticks = Table[Pi*i, {i, -2, 2, 1/4}];pic = Plot[Sin[x], {x, -2 Pi, 2 Pi}, Ticks -> {ticks}, TicksStyle -> 20];Magnify[pic, 0.4]2.11. 图中图, 图中放图:Clear[t]para = PolarPlot[2 Cos[3 t], {t, 0, 2 Pi}, {Axes -> False, PlotStyle -> Green, ImageSize -> 85}];Graphics[{Purple, Disk[], Inset[para, {0.2, 0}]}]2.12. 去边框, 光滑化 (增加绘图点数), 坐标轴名称:Clear[x, y, z]Plot3D[0.25 Sin[8 Sqrt[x^2 + y^2]], {x, -1, 1}, {y, -1, 1}, {Boxed -> False, PlotPoints -> 50, AxesLabel -> {x, y, z}}]2.13. 空间参数曲线, 三维参数绘图: 目标参数曲线为 \left\{ \begin{align}
& x=\sin t \\
& y=\cos t \\
& z=\frac{t}{5} \\
\end{align} \right.\ \ ,\ \ t\in \left[ -9,7 \right] Clear[t]ParametricPlot3D[{Sin[t], Cos[t], t/5}, {t, -9, 7}]2.14. 方程作图, 方程曲线, 方程空间曲线:Clear[x, y, z]ContourPlot3D[x^2 + y^2 == z, {x, -2, 2}, {y, -2, 2}, {z, 0, 2}, PlotPoints -> 40]2.15. 二维简谐波动画: Clear[x, y]Animate[Plot3D[5 Sin[2 Pi t - Pi (x + 2 y)], {x, -1, 1}, {y, -1, 1}, PlotPoints -> 30], {t, 0, Infinity}]这个其实是会动的.2.16. 绘制运动轨迹, 质点运动:Clear[x, t]Animate[ParametricPlot[{Cos[x] - Cos[80 x] Sin[x], 2 Sin[x] - Sin[80 x]}, {x, 0, t}, PlotPoints -> 200, PlotRange -> {{-1.5, 1.5}, {-3, 3}}], {t, 0, 7}]2.17. 模拟质点运动, 模拟平抛运动, 帧数设定: Clear[x, y, t]x[t_] = 7 t;y[t_] = 7 - 5 t^2;Animate[Graphics[{Disk[{x[t], y[t]}, 0.1]}, PlotRange -> {{0, 10}, {0, 9}}], {t, 0, 2}, RefreshRate -> 60]麻烦你自己脑补一个黑点平抛运动吧3. 进阶玩应 这部分内容按理来说应该由你自己去摸索嗷. 3.1. 输入希腊字母等符号 按下 Esc 进入模式, 在这个模式下可以输入许多特殊符号的名称, 再按下 Esc 得到符号. 比如说我希望输入希腊字母 \mu 那就先按下 Esc 输入 mu 再按下 Esc. 不输完也行, 希腊字母通常是首选项, 所以依次按下 Esc, m, Esc 就会出现 \mu. 也可以在输入符号名称时从它给出的列表中选择想要的对象, 这样就不用按第二下 Esc 了. 3.2. 上下标与分数线 分数线: Ctrl + / 下标: Ctrl + -上标: Ctrl + 6值得注意的是, 上标默认是在进行幂运算. 如果想输入与下标对等的不代表数学运算的上标就要用函数 Superscript[ ]. 3.3. 自定义函数 如果想要定义函数 {\rm KBTIT}\left( {x,y,z} \right) = {a^4}x + 2b + \sin \frac{z}{{y + 3}}, 则需要的代码如下: KBTIT[x_, y_, z_] := a^4 x + 2 b + Sin[z/(y + 3)]; 这里的 KBTIT 是函数名, 可以随意设定为任何你喜欢的变量名. 这里的 [x_, y_, z_] 是函数变量, 想设定几元都可以, 一定要有下划线 _ 原因懒得讲. 这里的 := 是定义, 你会发现没有『 : 』也行, 但还请写上[2]. 后面的 a^4 x + 2 b + Sin[z/(y + 3)] 则是函数主体内容, 这里的变量则不需要下划线了. 作用效果: KBTIT[1, 2, m]输出: a^4+2 b+sin(m/5)最后就是, 其实下标也可以作为函数变量使用, 这很酷, 我经常这么搞: \[\text{KBTI}{{\text{T}}_{\text{x}\_,\text{ y}\_,\text{ z}\_}}:={{\text{x}}^{2}}+\text{Sin}[\text{y}]+{{\text{e}}^{\text{z}}};\] \[\text{KBTI}{{\text{T}}_\text {a,b,c}}\] 输出: a^2+sin(b)+E^c需要注意的是下标变量之间要加逗号. 噢, 你不要真就拿衣服地以为这里的函数指的就是数学函数··· 有任何经常要重复写的代码段落都可以干脆直接定义个函数, 这才是真正的用法. 3.4. 批量规则替换 对于式子 F[1] + F[2] + F[3], 如果你希望将 F[a] 替换为 x^a 的话该怎么写? 你是不是想写成 F[1] + F[2] + F[3]/.{F[1]->x^1, F[2]->x^2, F[3]->x^3} ? 神经, 累都累死··· 其实你可以这样写: F[1] + F[2] + F[3] /. {F[a_] -> x^a}输出: x^3+x^2+x总之搁变量后面加个下划线就是一个抽象的自变量指标了. Now we're done here. 草死, 以为很简单的东西, 结果一写就浪费了我三个小时. 就是写了一堆超级简单但是没人给你领一下自己又要悟半天的东西. 这篇文章查阅下来, 你就具备基本的上网问其他人怎么用 Mathematica 的能力了 (笑. 最最基本的我估计都涵盖到了吧, 漏掉的你自己上网查, 反正应该能搞懂是个什么操作逻辑了. 至于说有一些细节问题,『如果这样会怎样』『如果那样会怎样』. 就 试 啊! 别 问 我! 不 要 问 我! 不 要 问 我 啊 ! 反正别问我, 上网冲浪举一反三, 请 (半恼). 除此之外 Mathematica 还能干嘛?这取决于你的想象力. 最后就是希望大家不要止步于此, Mathematica 真正的力量在这篇文章里基本没体现. 还是网上搜一下其它进阶的文章了解一下, 把觉得不错的操作都学一下吧. 参考^或上网查. ^这个『 : 』的作用是将函数设定为不被调用则不运行.

我要回帖

更多关于 mathematica输出结果为数字 的文章

 

随机推荐