其他分享
首页 > 其他分享> > Wolfram Mathematica学习笔记1

Wolfram Mathematica学习笔记1

作者:互联网

前言

最近重拾高数的时候给博主整自闭了,什么极限啊、积分啊博主忘的是干干净净。
属实是应了那句 『课上学到的东西在下课的一瞬间就全部还给了老师』
在这里插入图片描述

吐槽过后就要开始想办法补救。
就在博主薅着所剩无几的头发,苦苦思索的时候,我突然想起来我亲爱的哥哥(人生导师)之前跟我提到过的一个软件——Wolfram Mathematica 11
不过当时我才高中毕业,那时候他还在准备考研(现在已经上岸了,老哥NB)。他当时跟我说了一堆东西,年轻气盛的我属实是啥也没记住,只留下了一些模糊的印象以及电脑上一堆奇奇怪怪的软件。而在这些软件之中,Wolfram Mathematica 11给我的印象是最深刻的。

还记得那是一个寒冷的冬日,哈尔滨的冬天总是那么的单刀直入,让人恨不得和暖气片绑在一起共度余生。当时的博主还是一个青涩的大一新生,那天正坐在一间教室里孤独地做着高数作业。
由于博主一直以来都不是很擅长数学这类抽象的学科,很快的我就卡在了一道题上动弹不得(好像是积分,又好像是求极限)。
博主属于那种死脑筋爱钻牛角尖的人,认真起来连自己都不放过,于是乎博主迅速的把题发给了万能的哥哥,请求他的帮助。他看到消息之后大概只用了1~2分钟,返回给我一个截图。
截图找不到了,但内容就是那道题的答案,使用的软件就是Wolfram Mathematica 11

从那之后博主就一直惦记着这个神奇的软件,心里留存着『无论如何也得把这绝世软件学一学』的想法。
今天正式开坑『Wolfram Mathematica 11的学习笔记』,不定时更新。

由于博主并没有抱着十分专业的心态来入坑,所以文章内容基本上就是博主在使用 Wolfram Mathematica 11 的过程中学习到的一些函数的介绍。如果想要了解更加深入的使用知识以及软件的使用技巧的话,菜狗博主建议另寻大佬。


前置介绍


Expand(公式展开)

一.函数形式

Expand[expr]:将公式expr中所有的乘积与正整数幂进行展开
Expand[expr,patt]:只将公式expr中包含patt形式的部分进行展开

二.演示

①将公式 h 2 ( v x + v y ) 2 h^2(vx+vy)^2 h2(vx+vy)2进行展开。

在这里插入图片描述


②将公式 h 2 ( v x + v y ∗ ( 3 x + 4 y ) 2 ) − 8 h^2 (vx + vy*(3 x + 4 y)^2)^{-8} h2(vx+vy∗(3x+4y)2)−8进行展开。

在这里插入图片描述


③将公式 h 2 ( x + ( y + x ) 2 ) 7 4 h^2 (x + (y + x)^2)^{\frac{7}{4}} h2(x+(y+x)2)47​进行展开。

在这里插入图片描述


根据②③我们会发现:

所以博主觉得,对于将公式expr中所有的乘积与正整数幂进行展开的正确解读应该是

  1. 如果公式expr中存在正实数次幂,则会将该实数的整数部分分离出来,然后将整数幂项进行展开,
    例如 ( x + ( y + x ) 2 ) 7 4 (x + (y + x)^2)^{\frac{7}{4}} (x+(y+x)2)47​分离成 ( x + ( y + x ) 2 ) ∗ ( x + ( y + x ) 2 ) 3 4 (x + (y + x)^2)*(x + (y + x)^2)^{\frac{3}{4}} (x+(y+x)2)∗(x+(y+x)2)43​);
  2. 如果公式expr中存在负数次幂,则只将-1次幂展开,剩下的部分保留不做处理;
  3. 如果展开停止在括号外部,则括号内部的公式不会展开,
    例如③中 ( x + ( y + x ) 2 ) 3 4 (x + (y + x)^2)^{\frac{3}{4}} (x+(y+x)2)43​的展开停止在了外层, ( y + x ) 2 (y+x)^2 (y+x)2无法展开;

④将公式 6 ( x + 1 ) + ( y + 1 ) 2 + ( ( y + 1 ) 2 + ( x + 1 ) 2 ) 2 6 (x + 1) + (y + 1)^2 + ((y + 1)^2 + (x + 1)^2)^2 6(x+1)+(y+1)2+((y+1)2+(x+1)2)2中所有包含 ( y + 1 ) (y+1) (y+1)的部分进行展开。

在这里插入图片描述


⑤将公式 6 ( x + 1 ) + ( y + 1 ) 2 + ( ( y + 1 ) 2 + ( x + 1 ) 2 ) 2 6 (x + 1) + (y + 1)^2 + ((y + 1)^2 + (x + 1)^2)^2 6(x+1)+(y+1)2+((y+1)2+(x+1)2)2中所有包含 ( y + 1 ) 2 (y+1)^2 (y+1)2的部分进行展开。

在这里插入图片描述


这里④与⑤产生了差别,我们分析一下:

根据这些,博主推断只将公式expr中包含patt形式的部分进行展开的意思为:将公式中所有的patt用一个新变量表示,只对 完全包含patt 的部分进行展开。

那什么是完全包含
在函数 f ( x ) = [ ( y + 1 ) + ( x + 1 ) 2 ] 2 f(x)=[(y+1)+(x+1)^2]^2 f(x)=[(y+1)+(x+1)2]2中, f ( x ) f(x) f(x)完全包含 ( y + 1 ) (y+1) (y+1),所以 f ( x ) f(x) f(x)会被全部展开,但 ( x + 1 ) 2 (x+1)^2 (x+1)2并不会被展开:
在这里插入图片描述

而在函数 f ( x ) = [ ( y + 1 ) 2 + ( x + 1 ) 2 ] 2 f(x)=[(y+1)^2+(x+1)^2]^2 f(x)=[(y+1)2+(x+1)2]2中, ( y + 1 ) 2 (y+1)^2 (y+1)2完全包含 ( y + 1 ) (y+1) (y+1),但 f ( x ) f(x) f(x)只是包含了 ( y + 1 ) (y+1) (y+1),并不完全包含(可以理解成不在同一层)。所以 ( y + 1 ) 2 (y+1)^2 (y+1)2会被完全展开,而 f ( x ) f(x) f(x)不会:
在这里插入图片描述


N(实数化)

一.函数形式

N[x]:将x转化为实数
N[x,n]:将x转化为实数,并尝试性地保留n位精度

二.演示

①将1转化为实数。

在这里插入图片描述


②将0转化为实数。

在这里插入图片描述


③将 2 31 2^{31} 231转化为实数。

在这里插入图片描述


④将0123转化为实数。

在这里插入图片描述


⑤将1/3转化为实数。

在这里插入图片描述


通过上述试验以及博主自己做的一些测试来说,目前博主得到的结论是:


⑥将 2 32 2^{32} 232化为实数,并尝试性地保留10位精度。

在这里插入图片描述


⑦将 0.1 0.1 0.1化为实数,并尝试性地保留5位精度。

在这里插入图片描述


⑧将 123456789.987654321 123456789.987654321 123456789.987654321实数化,并尝试性地保留10位精度。

在这里插入图片描述


关于 N [ x , n ] N[x,n] N[x,n],一开始我以为是保留n个有效数字,但被 N [ 0.1 , 5 ] N[0.1,5] N[0.1,5]打脸了。
测了半天,博主觉得 N [ x , n ] N[x,n] N[x,n]应该是:

对于N[12345.123456,10]N[12345.123456]=12345.1,而12345.1不足10位,所以N[12345.123456,10]=N[12345.123456]=12345.1
在这里插入图片描述


可能是博主自己比较喜欢钻牛角的缘故,像这样的篇幅,正常的博主至少也可以介绍5个函数,而菜狗博主只能写2个。没办法,测试的时候总会出现新的花样,再加上博主在遇到这种神奇的东西的时候总是想试图搞清其内部的逻辑,导致内容会非常的( ) ( )。
博主只是一个萌新,如果内容有哪些不对的地方还请巨巨们指教。

今天就先到这,我们改日再见。
(实际上还想再写两个,但是博主是懒狗(●’◡’●))


"十行代码"
"九个警告"
"八个错误"
"竟然敢说七日精通"
"六天学会"
"五湖四海也不见如此"
"三心二意之项目经理"
"简直一等下流"

在这里插入图片描述

标签:包含,实数,公式,Mathematica,笔记,expr,博主,展开,Wolfram
来源: https://blog.csdn.net/qq_45750296/article/details/121438623