继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Wolfram Mathematica学习笔记

东风冷雪
关注TA
已关注
手记 62
粉丝 73
获赞 369

放假了,近来无事,就复习了一下mathematica相关知识点。已经玩了很多东西,不过大概还是很熟悉。

Mathematica(我简称mma),可以通过交互方式,实现函数作图,求极限,解方程等,也可以用它编写像c那样的结构化程序。Mma在系统定义了许多强大的函数,我们称之为内建函数,分二类,一是数学意义上的函数,如绝对值函数 Abs[x],正弦函数Sin[x]等;二是命令意义上的函数,如作图函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等。

1.0 Mma严格区分大小写,一般内建函数首字母必须大写,有时一个函数名由几个单词构成,则每一个单词的首字母也必须大写,如求局部极小值F inMinimum[f[x],{x,x0}]等。

image.png

2.0 在mma中,函数名和变量名之间分隔符用[],不是一般数学上的();
3.0 在交互界面,使用?可以查询运算符,函数和命令定义。
image.png

在mma中,基本的数据类型有4种,整数,有理数,实数和复数。
如果计算机内存足够大,mma可以表示任意长度的精确实数,可以简化分数,可以科学计数法,可以复数。

image.png

Mma可以进行数据转换,%表示上一个输出结果。N[x,n]将x转换成近似实数,精度n,默认6位,Rationalize[x],给出近似实数。

image.png

Mma定义了一些常见的数学常数。
数学常数.png

image.png

数的输出形式
在数的输出中可以使用转换函数进行不同数据类型和精度的转换。另外对一些特殊要求的格式还可以使用如下的格式函数:
NumberForm[expr,n] 以n位精度的实数形式输出实数expr
ScientificForm[expr] 以科学记数法输出实数expr
EngineergForm[expr] 以工程记数法输出实数expr

image.png

变量
在mma中,函数和命令都是以大写字母开始的标识符,为了不和它们混淆,我们自定义的变量应该以小写字母开始,后跟数字和字母的组合,长度不限。
在mma中,用等号给变量赋值(或:=)变量,同一个变量可以表示数组,数字,表达式,甚至一个图形,=是立即赋值, :=是延迟赋值。要清楚在用等号。
image.png

清除上一次的变量值,使用Clear[var]函数。可以使用变量替换来计算表达式的值,即 expr/.x->xval。

image.png

函数定义
立即定义函数的语法如下,F[x_]=expr 函数名F,变量x,expr是表达式,在执行时候会把expr中的x替换成f的自变量x,自变量具有局部性,只对所在函数起作用。

image.png

Mma可以计算极限,导数,偏导数,积分等。

image.png

Mma可以级数展开,可以求解一元二次方程,二元一次方程,微分方程等号各种方程。

image.png

其实mma求强大的功能在于画图。

下面有些代码是网上copy的,我玩的也不是很牛。

输入 Plot[{Sin[x],Cos[x],Tan[x]},{x,-Pi,Pi}]

三角函数曲线.png

输入 ParametricPlot[{Sin[t],Sin[2 t]},{t,0,2 Pi}]

image.png

输入 Plot3D[{Sqrt[(1-x^2 -y^2)]},{x,-1,1},{y,-1,1}]

半球.png

输入 ParametricPlot3D[{u Cosu,u Sinu,u Sin[v+u]},{u,0,4 Pi},{v,0,2 Pi},PlotPoints->{60,12}]

螺旋形.png

输入 RegionPlot[(x^2 + y^2 - 1)^3 - x^2 *y^3 <= 0, {x, -1.5, 1.5}, {y, -3/2,
3/2}, PlotStyle -> Red]

心.png

输入 ContourPlot3D[(2x^2 + y^2 + z^2 - 1)^3 - (x^2 + y^2)/10 - y^2z^3 ==
0, {x, -1.5, 1.5}, {y, -1.5, 1.5}, {z, -1.5, 1.5}, PlotPoints -> 30,
Axes -> True, Lighting -> Automatic,
ContourStyle -> {RGBColor[1, 0, 0]}, Mesh -> None]

立体心.png

输入 Rose[x,theta]:=Module[{phi=(Pi/2) Exp[-theta/(8 Pi)],X=1-(1/2) ((5/4) (1-Mod[3.6 theta,2 Pi]/Pi)^2-1/4)^2,y,r},y=1.95653 x^2 (1.27689 x-1)^2 Sin[phi];
r=X (x Sin[phi]+y Cos[phi]);
{r Sin[theta],r Cos[theta],X (x Cos[phi]-y Sin[phi])}]
Manipulate[Show[ParametricPlot3D[Evaluate@Rose[x,theta],{x,0,1},{theta,-2 Pi,th},Mesh->None,PerformanceGoal->"Speed",PlotPoints->100,PlotStyle->{clr},ImageSize->{450,400},PlotRange->{{-1,1},{-1,1},{-1.6,1}},Boxed->False,Axes->Fase],Graphics3D[{Green,Cylinder[{{0,0,-.05},{0,0,-10}},.1]}]],{{th,15 Pi,"花瓣的变化"},Pi,15 Pi},{{clr,Red,"花瓣的颜色"},Red},SaveDefinitions->True]

玫瑰花.png

输入 ContourPlot3D[(x^2 + 9/4 y^2 + z^2 - 1)^3 - x^2z^3 - 9/80 y^2z^3 ==
0, {x, -1.5, 1.5}, {y, -1.5, 1.5}, {z, -1.5, 1.5}, Mesh -> None,
BoxRatios -> 1, ContourStyle -> {Red}, PlotPoints -> 200,
Axes -> None, Boxed -> False]

红心.png

相关代码,图片,和笔记
百度云下载

玩啊,玩啊,有时间看看python,争取用python画出这些图形。
生日阴历一月四日,下一篇文章应该写给自己生日快乐的。收货大家祝福。

打开App,阅读手记
6人推荐
发表评论
随时随地看视频慕课网APP

热门评论

୧(๑ •̀⌄•́๑)૭

查看全部评论