Blog List View

mathematica入门 

2019-08-15 15:35:32
119 次阅读

[TOC]

mathematica实用入门

1分钟学会mma基本用法

  1. 内置函数首字母大写
  • []里面是所需要计算的内容

  • {} 列表或者范围

  • shift+enter执行计算
  • 默认情况下未赋值变量运行后是蓝色字,已赋值变量是黑色提示。
  • 等号是==,而=是赋值符号

有了上述基本规则就可以开始mathematica编程之旅了


第一次使用mathematica

  • mma尽可能给出准确的结果,例如

    In[1]:= 8/3
    
    Out[1]= 8/3
  • 函数N[]计算近似结果
    In[5]:= N[8/3]

    Out[5]= 2.66667
  • 计算3a+1

1565849727754

  • 展开表达式(a+1)(a-2)

1565849861171

  • 简单方程求解 $x^2+2x+1=0$

    1565849944706

  • 自由格式输入

1565850098893

  • 作图 sin(x)

1565850152914

  • 列表Table

1565850206069

  • Clear用法,清除全局变量

1565850277031

好了到此为止,大家已经学会了mathematica基本操作,不错,mma就是这么人性化,想做什么就做什么

输入输出

  • 自动补全。 当我们输入某个命令前几个字母时就会有智能提示,例如:

4

  • 普通格式 +-*/

  • 数学2D格式, 善用esc键, 比如输入pi,就esc+pi+esc

1565850962665

  • 百分号+数字:表示引用第几次结果 ,不加数字就是上一个结果,例如

    1565851299060

  • 双斜线// ,函数后缀

    1565851396820

    mma格式排版

    1565851526364

    • Alt+数字1到7可以得到不同的文档结构

Wolf-Mathematica正式开始

定义变量

  • 定义x=10,计算2的x次方:
In[26]:=   x = 10;
           2^x

Out[27]= 1024
  • 判断两个值是否一致
In[28]:= x == 1023

Out[28]= False
  • 加减乘除幂指数括号运算
In[31]:= (Sqrt[2] + 1)^2 (3 - a)/\[Pi]

Out[31]= ((1 + Sqrt[2])^2 (3 - a))/\[Pi]
  • 创建列表
In[32]:= Table[i^2, {i, 1, 10}]
Out[32]= {1, 4, 9, 16, 25, 36, 49, 64, 81, 100}
In[33]:= Table[i^2, {i, 1, 10, 2}]
Out[33]= {1, 9, 25, 49, 81}
In[34]:= Table[{i, i^2}, {i, 1, 10, 2}]
Out[34]= {{1, 1}, {3, 9}, {5, 25}, {7, 49}, {9, 81}}

自定义函数

  • 简单函数,注意下划线与冒号

    In[35]:= f[x_, y_] := x y 
    f[x, y]
    f[1, 2]
    Out[36]= 10 y
    Out[37]= 2

交互式操作(manipulate)

  • 首先画一个sinx函数图像

    1565852563609

    • 我们希望可以动态改变正弦函数振幅,频率,相位等信息。

    • manipulate用法:
    manipulate[expression,参数范围]
  • 举例

    1565852807331

    Manipulate[
    Plot[Amp*Sin[fre*x + phi],
    {x, 0, 2 \[Pi]}],
    {fre, 1, 5},
    {Amp, 1, 10},
    {phi, 0, pi}]
    • 改进一下模型,可以自定义函数头{sin,cos,tan}, 以及滑块名称定义,默认值定义。

    1565853054473

    Manipulate[Plot[fn[f*x + ps], 
    {x, 0, 2 \[Pi]}],
     {{f, 1, "frequency"}, 1, 5},
     {{ps, 1, "phase shift"}, 1, 10},
     {{fn, Sin, "function"}, 
     {Sin, Cos, Tan}}]

使用帮助很重要

  • 选中需要帮助的函数,按F1快捷键打开帮助文档
  • ?+函数,执行后给出函数帮助信息
  • 1565853338269

2D,3D绘图

  • 2D图

    • Plot
    Plot[{Sin[x], Cos[x]}, {x, 0, 2 \[Pi]}]

    1565853747719

    • LogPlot

    • ParameterPlot

    • RegionPlot
    Plot[{Sin[x], Cos[x]}, {x, 0, 2 \[Pi]}]
    LogPlot[x^x, {x, 1, 10}]
    ParametricPlot[{Sin[t], t^2/100}, {t, 0, 10}]
    RegionPlot[x^2 + y^2 <= 6 && y > 0, {x, -3.1, 3.1}, {y, -3.1, 3.1}]

    1565853806616

  • Plot函数属性

    AspectRatio 1/GoldenRatio 高宽比 Axes True 是否绘制轴 ClippingStyle None 如何绘制曲线被剪切的区域 » ColorFunction Automatic 确定曲线颜色的方法 ColorFunctionScaling True 是否缩放 ColorFunction 的变量 PlotLabel None 整个绘图的标签 PlotLabels None 曲线的标签 EvaluationMonitor None 在每次函数计算时,需要计算的表达式 Exclusions Automatic x 中排除的点 ExclusionsStyle None 排除点的绘制样式 Filling None 每条曲线下填充 FillingStyle Automatic 填充的样式 LabelingSize Automatic maximum size of callouts and labels MaxRecursion Automatic 递归子划分的最大数量 Mesh None 在每条曲线上绘制多少个网格点 MeshFunctions {#1&} 如何决定网格点的放置位置 MeshShading None 如何在网格点间绘制阴影区域 MeshStyle Automatic 网格点的样式 Method Automatic 修饰曲线的方法 PerformanceGoal $PerformanceGoal 试图优化哪些方面的性能 PlotLegends None 曲线的图例 PlotPoints Automatic 样本点的初始数量 PlotRange {Full,Automatic} y 的范围或包含的其它值 PlotRangeClipping True 是否在曲线范围内剪切 PlotStyle Automatic 指定每条曲线样式的图形指令 PlotTheme $PlotTheme 绘图的整体外观主题 RegionFunction (True&) 如何确定是否包含一个点 ScalingFunctions None 如何缩放单个坐标 TargetUnits Automatic 在绘图中显示的单位 WorkingPrecision MachinePrecision 内部计算使用的精度
  • 3Dplot

1565854202976

  • 矢量图

    1565854239284

发表评论