Mathematica运算(简版)

Mathematica运算(简版)
Mathematica运算(简版)

Mathematica运算(简版) Mathematica 基本运算

a+ b+c 加

a-b 减

a b c 或 a*b*c 乘

a/b 除

-a 负号

a^b 次方

Mathematica 数字的形式

256 整数

2.56 实数

11/35 分数

2+6I 复数

N[x] 将x转变为实数形式

N[x,n] 将小转变为最多具有n个数字位精度的近似实数

Rationalize[x] 给出x的近似有理数Rationalize[x,dx]给出误差在dx内的近似有理数ScientificForm[x]x的科学计数法

常用的数学常数

Pi 圆周率,π=3.141592654…

E 尤拉常数,e=2.71828182…

Degree 角度转换弧度的常数,Pi/180

I 虚数,其值为√

Infinity 无限大

数组处理

GCD[x,y,z] 计算x,y,z的最大公约数LCM[x,y,z] 计算x,y,z的最小公倍数

指定之前计算结果的方法

% 前一个运算结果

%% 前二个运算结果

%%…%(n个%) 前n个运算结果

%n 或 Out[n] 前n个运算结果

复数的运算指令

a+bI 复数

Conjugate[a+bI] 共轭复数

Re[z], Im[z] 复数z的实数/虚数部分

Abs[z] 复数z的大小或模数(Modulus)

常用数学函数

Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x]三角函数,其引数的单位为弧度

Sinh[x],Cosh[x],Tanh[x],…双曲函数

ArcSin[x],ArcCos[x],ArcTan[x] 反三角函数ArcCot[x],ArcSec[x],ArcCsc[x]

ArcSinh[x],ArcCosh[x],ArcTanh[x],…反双曲函数Sqrt[x] 根号

Exp[x] 指数

Log[x] 自然对数

Log[a,x] 以a为底的对数

Abs[x] 绝对值

Round[x] 最接近x的整数

Floor[x] 小于或等于x的最大整数

Ceiling[x] 大于或等于x的最小整数

Mod[a,b] a/b所得的馀数

n! 阶乘

Random[] 0至1之间的随机数(最新版本已经不用这个函数,改为使用RandomReal[])

Max[a,b,c,...],Min[a,b,c,…]a,b,c,…的极大/极小值

数值设定

x=a 将变数x的值设为a

x=y=b 将变数x和y的值均设为b

x=. 或 Clear[x] 除去变数x所存的值

变数使用的一些法则

Xy 中间没有空格,视为变数xy

x y x乘上y

3x 3乘上x

x3 变量x3

x^2y 为 x^2 y次方运算子比乘法的运算子有较高的处理顺序

四个常用处理代数的指令

Expand[expr] 将 expr展开

Factor[expr] 将 expr因式分解

Simplify[expr] 将 expr化简成精简的式子FullSimplify[expr] Mathematica 会尝试更多的化简公式,将 expr化成更精简的式子

多项式/分式转换的函数

ExpandAll[expr] 把算式全部展开

Together[expr] 将 expr各项通分在并成一项Apart[expr] 把分式拆开成数项分式的和Apart[expr,var] 视var以外的变数为常数,将expr拆成数项的和

Cancel[expr] 把分子和分母共同的因子消去三角函数、双曲函数和指数的运算

TrigExpand[expr] 将三角函数展开TrigFactor[expr] 将三角函数所组成的数学式因式分解

TrigReduce[expr] 将相乘或次方的三角函数化成一次方的基本三角函数之组合

ExpToTrig[expr] 将指数函数化成三角函数或双曲函数

TrigToExp[expr] 将三角函数或双曲函数化成指数函数

代换运算子

expr/.x->value 将 expr里所有的x均代换成value expr/.{x->value1,y->value2,…}执行数个不同变数的代换

expr/.{{x->value1},{x->value2},…}将 expr代入不同的x值

expr//.{x->value1,y->value2,…}重复代换到 expr

不再改变为止

解方程式的根

Solve[lhs==rhs,x] 解方程式lhs==rhs,求x Nsolve[lhs==rhs,x] 解方程式lhs==rhs的数值解

Solve[{lhs1==rhs1,lhs2==r hs2,…},{x,y,…}]解联立方

程式,求x,y,…

NSolve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}]解联立方程式的数值解

FindRoot[lhs==rhs,{x,x0}] 由初始点x0求

lhs==rhs的根

f1[x_] := x/(1 + x^2);

Solve[f1'[x] == 0, x]定义函数f1,并求f1的零点Mathematica 的四种括号

(term) 圆括号,括号内的term 先计算 f[x]

方括号,内放函数的引数

{x,y,z} 大括号或串列括号,内放串列的元素 p[[i ]] 或 Part[p,i] 双方括号,p 的第i 项元素 p[[i,j]] 或 Part[p,i,j] p 的第i 项第j 个元素

极限

Limit[expr,x->c] 当x 趋近c 时,求expr 的极限 Limit[expr,x->c,Direction->1] 求x->c 时,expr 的左极限

Limit[expr,x->c,Direction->-1] 求x->c 时,expr 的右极限 微分(求导)

D[f,x] 函数f 对x 作微分 D[f,x1,x2,…] 函数f 对x1,x2,…作微分 D[f,{x,n}]

函数f 对x 微分n 次

D[f,x,NonConstants->{y,z ,…}] 函数f 对x 作微分,将y,z,…视为x 的函数

隐函数求导 deq1 = D[lhs==rhs, x]

Solve[deq1, y'[x]] 在关于x,y 的方程中对x 求导 Solve[D[lhs==rhs, x], y'[x]] 同上

参数方程求导 {

( )

( )

: ( ) ( ) ?.

全微分 Dt[f]

全微分df

Dt[f,x] 全微分

Dt[f,x,Constants->{c1,c2,…}]全微分,视c1,c2,…为常数 不定积分

Integrate[f,x] 不定积分 ∫f dx 定积分

Integrate[f,{x,xmin,xmax}]

定积分

Integrate[f,{x,xmin,xmax},{y,ymin,ymax}]定积分 矩阵

AA={{1,2,3,4},{3,2,5,6},{1,2,-1,2},{0,2,5,7}} AB=… AC=…

TableForm[AA*AB+AC] P.S.{{1,2},{3,4}}表示矩阵[

] 分段函数

f[x_] := Which[x x2, expr2, True, expr3] 关系运算子 a==b 等于 a>b 大于 a>=b

大于等于

a

a<=b 小于等于

a!=b 不等于

基本绘图指令

Plot[f,{x,xmin,xmax}] 画出f在xmin到xmax之间的图形

Plot[{f1,f2,…},{x,xmin,xmax}] 同时画出数个函数图形

Plot[f,{x,xmin,xmax},option->value] 指定特殊的绘图选项,画出函数f的图形

Plot3D[Exp[f],{x,xmin,xmax},{y,ymin,ymax}]绘制3D 图形

P.S.

In[23]:= D[E^t*Tan[t], t]/D[t*Sin[t], t] /. t -> 1

Out[23]= (E Sec[1]^2 + E Tan[1])/(Cos[1] + Sin[1])

Mathematica函数及使用方法

Mathematica函数及使用方法 (来源:北峰数模) --------------------------------------------------------------------- 注:为了对Mathematica有一定了解的同学系统掌握Mathematica的强大功能,我们把它的一些资料性的东西整理了一下,希望能对大家有所帮助。 --------------------------------------------------------------------- 一、运算符及特殊符号 Line1; 执行Line,不显示结果 Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 n! N的阶乘 !!filename 显示文件内容 < Expr>> filename 打开文件写 Expr>>>filename 打开文件从文件末写 () 结合率 [] 函数 {} 一个表 <*Math Fun*> 在c语言中使用math的函数

(*Note*) 程序的注释 #n 第n个参数 ## 所有参数 rule& 把rule作用于后面的式子 % 前一次的输出 %% 倒数第二次的输出 %n 第n个输出 var::note 变量var的注释"Astring " 字符串 Context ` 上下文 a+b 加 a-b 减 a*b或a b 乘 a/b 除 a^b 乘方 base^^num 以base为进位的数 lhs&&rhs 且 lhs||rhs 或 !lha 非 ++,-- 自加1,自减1 +=,-=,*=,/= 同C语言 >,<,>=,<=,==,!= 逻辑判断(同c)

Mathematica函数大全(内置)

Mathematica函数大全--运算符及特殊符号一、运算符及特殊符号 Line1;执行Line,不显示结果 Line1,line2顺次执行Line1,2,并显示结果 ?name关于系统变量name的信息 ??name关于系统变量name的全部信息 !command执行Dos命令 n! N的阶乘 !!filename显示文件内容 > filename打开文件写 Expr>>>filename打开文件从文件末写 () 结合率 []函数 {}一个表 <*Math Fun*> 在c语言中使用math的函数 (*Note*)程序的注释 #n第n个参数 ##所有参数 rule& 把rule作用于后面的式子 %前一次的输出 %%倒数第二次的输出 %n第n个输出 var::note变量var的注释 "Astring "字符串 Context ` 上下文 a+b 加

a-b减 a*b或a b 乘 a/b除 a^b 乘方 base^^num以base为进位的数 lhs&&rhs且 lhs||rhs或 !lha非 ++,-- 自加1,自减1 +=,-=,*=,/= 同C语言 >,<,>=,<=,==,!=逻辑判断(同c) lhs=rhs立即赋值 lhs:=rhs建立动态赋值 lhs:>rhs建立替换规则 expr//funname相当于filename[expr] expr/.rule将规则rule应用于expr expr//.rule 将规则rule不断应用于expr知道不变为止param_ 名为param的一个任意表达式(形式变量)param__名为param的任意多个任意表达式(形式变量) 二、系统常数 Pi 3.1415....的无限精度数值 E 2.17828...的无限精度数值 Catalan 0.915966..卡塔兰常数 EulerGamma 0.5772....高斯常数 GoldenRatio 1.61803...黄金分割数 Degree Pi/180角度弧度换算 I复数单位 Infinity无穷大

Mathematica的常用函数

Mathematica的内部常数 Pi , 或π(从基本输入工具栏输入, 或“Esc”+“p”+“Esc”)圆周率π E (从基本输入工具栏输入, 或“Esc”+“ee”+“Esc”)自然对数的底数e I (从基本输入工具栏输入, 或“Esc”+“ii”+“Esc”)虚数单位i Infinity, 或∞(从基本输入工具栏输入, 或“Esc”+“inf”+“Esc”)无穷大∞ Degree 或°(从基本输入工具栏输入,或“Esc”+“deg”+“Esc”)度 Mathematica的常用内部数学函数 指数函数Exp[x]以e为底数 对数函数Log[x]自然对数,即以e为底数的对数 Log[a,x]以a为底数的x的对数 开方函数Sqrt[x]表示x的算术平方根 绝对值函数Abs[x]表示x的绝对值 三角函数 (自变量的单位为弧度)Sin[x]正弦函数 Cos[x]余弦函数 Tan[x]正切函数 Cot[x]余切函数 Sec[x]正割函数 Csc[x]余割函数 反三角函数ArcSin[x]反正弦函数 ArcCos[x]反余弦函数 ArcTan[x]反正切函数 ArcCot[x]反余切函数 ArcSec[x]反正割函数 ArcCsc[x]反余割函数 双曲函数Sinh[x]双曲正弦函数 Cosh[x]双曲余弦函数 Tanh[x]双曲正切函数 Coth[x]双曲余切函数 Sech[x]双曲正割函数 Csch[x]双曲余割函数 反双曲函数ArcSinh[x]反双曲正弦函数 ArcCosh[x]反双曲余弦函数 ArcTanh[x]反双曲正切函数 ArcCoth[x]反双曲余切函数 ArcSech[x]反双曲正割函数 ArcCsch[x]反双曲余割函数 求角度函数ArcTan[x,y]以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度 数论函数GCD[a,b,c,...]最大公约数函数 LCM[a,b,c,...]最小公倍数函数

50Mathematica线性代数运算命令与例题

50Mathematica线性代数运算命令与例题

第五章 线性代数运算命令与例题 线性代数中常用的工具是矩阵(向量)和行列式。用这些工具可以表示工程技术,经济工作中一些需要用若干个数量从整体上反映其数量关系的问题。用这些工具可以简明凝练而准确地把所要研究的问题描述出来,以提高研究的效率。在线性代数课程中我们看到了用这些工具研究齐次和非齐次线性方程组解的理论和解的结构,矩阵的对角化,二次型化标准形等问题的有力,便捷. 5.1向量与矩阵的定义 数学上矩阵是这样定义的: 由n m ?个数排成m 行n 列的数表 mn m m n n a a a a a a a a a Λ M M M Λ Λ21 2222111211 称为m 行n 列矩阵,特别,当m=1时就是线性代数中的向量。

记作: ????? ?? ?????=mn m m n n a a a a a a a a a A ΛM M M ΛΛ2122221 11211 两个n m ?矩阵称为同型矩阵。 线性代数中的运算对象是向量和矩阵,因此首先介绍向量和矩阵的输入。 5.1.1输入一个矩阵 命令形式1:Table[f[i,j],{i ,m},{j ,n}] 功能: 输入n m ?矩阵,其中f 是关于i 和j 的函数,给出[i , j]项的值. 命令形式2:直接用表的形式来输入 功能:用于矩阵元素表达式规律不易找到的矩阵的输入。 注意: 1.Mathematica 是采用一个二重表的形式来表示矩阵的,即用 {{…},{…},…,{…}} 其中表中的每个表元素都是等长的一维表,第一

个表元素是矩阵的第一行,第二个表元素是矩阵的第二行,一般,第n 个表元素是矩阵的第n 行。要看通常的矩阵形式可以用命令: MatrixForm[%] 2. 对应上述命令形式,输入一个向量的命令为 Table[f[j],{j,n}]或直接输入一个一维表{a1,a2,…,an},这里a1,a2,…,an 是数或字母。 例题 例 1.输入矩阵A=???? ??????---41381639121458561203 12、向量 b={1,4,7,-3}。 解:Mathematica 命令 In[1]:= a={{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}} Out[1]:= {{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}} In[2]:=b={1, 4, 7, -3} Out[2]:= {1, 4, 7, -3}

常用的一些矢量运算公式

常用的一些矢量运算公式 1.三重标量积 如a ,b 和c 是三个矢量,组合 ()a b c ??叫做他们的三重标量积。三重标量积等于这三 个矢量为棱边所作的平行六面体体积。在直角坐标系中,设坐标轴向的三个单位矢量标记为 (),,i j k ,令三个矢量的分量记为()()1 2 3 1 2 3 ,,,,,a a a a b b b b 及()1 2 3 ,,c c c c 则有 ()() 123 123 1 2 3123 123 123 c c c i jk a b c a a a c i c j c k a a a b b b b b b ??=?++= 因此,三重标量积必有如下关系式: ()()()a b c b c a c a b ??=??=??即有循环法则成立,这就是说不改变三重标量积中三个矢量顺序的组合,其结果相等。 2.三重矢量积 如a ,b 和c 是三个矢量,组合 ( ) a b c ??叫做他们的三重标量积,因有 ()()()a b c a c b c b a ??=-??=?? 故有中心法则成立,这就是说只有改变中间矢量时,三重标量积符号才改变。三重标量积有一个重要的性质(证略):() ()()a b c a b c a c b ??=-?+? (1-209) 将矢量作重新排列又有:()()() a b c b a c b a c ?=??+? (1-210) 3.算子( a ? ) ? 是哈密顿算子,它是一个矢量算子。( a ? )则是一个标量算子,将它作用于标量φ ,即 ()a φ?是φ在a 方向的变化速率的a 倍。如以无穷小的位置矢量 d r 代替以上矢量a ,则 ()dr φ ?是φ在位移方向 d r 的变化率的 d r 倍,即 d φ 。 () ()d dr dr φφφ=?=? 若将 () dr ?作用于矢量v ,则 ()dr v ?就是v 再位移方向 d r 变化率的 d r 倍,既为速度矢量 的全微分() dv d r v =? 应 用 三 重 矢 量 积 公 式 ( 1-209 ) ()()() 00()()()() a b a b a b b a a b b a a b ???=???+???=??-??-??+??

Mathematica函数大全

Mathematica函数大全一、运算符及特殊符号 Line1; 执行Line,不显示结果 Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 n! N的阶乘 !!filename 显示文件内容 <> filename 打开文件写 Expr>>>filename 打开文件从文件末写 () 结合率 [] 函数 {} 一个表 <*Math Fun*> 在c语言中使用math的函数 (*Note*) 程序的注释 #n 第n个参数 ## 所有参数 rule& 把rule作用于后面的式子 % 前一次的输出 %% 倒数第二次的输出 %n 第n个输出 var::note 变量var的注释 "Astring " 字符串 Context ` 上下文 a+b 加 a-b 减 a*b或a b 乘 a/b 除 a^b 乘方 base^^num 以base为进位的数 lhs&&rhs 且 lhs||rhs 或 !lha 非 ++,-- 自加1,自减1 +=,-=,*=,/= 同C语言

>,<,>=,<=,==,!= 逻辑判断(同c) lhs=rhs 立即赋值 lhs:=rhs 建立动态赋值 lhs:>rhs 建立替换规则 lhs->rhs 建立替换规则 expr//funname 相当于filename[expr] expr/.rule 将规则rule应用于expr expr//.rule 将规则rule不断应用于expr知道不变为止 param_ 名为param的一个任意表达式(形式变量) param__ 名为param的任意多个任意表达式(形式变量) 二、系统常数 Pi 3.1415....的无限精度数值 E 2.17828...的无限精度数值 Catalan 0.915966..卡塔兰常数 EulerGamma 0.5772....高斯常数 GoldenRatio 1.61803...黄金分割数 Degree Pi/180角度弧度换算 I 复数单位 Infinity 无穷大 -Infinity 负无穷大 ComplexInfinity 复无穷大 Indeterminate 不定式 三、代数计算 Expand[expr] 展开表达式 Factor[expr] 展开表达式 Simplify[expr] 化简表达式 FullSimplify[expr] 将特殊函数等也进行化简 PowerExpand[expr] 展开所有的幂次形式 ComplexExpand[expr,{x1,x2...}] 按复数实部虚部展开 FunctionExpand[expr] 化简expr中的特殊函数 Collect[expr, x] 合并同次项 Collect[expr, {x1,x2,...}] 合并x1,x2,...的同次项 Together[expr] 通分 Apart[expr] 部分分式展开 Apart[expr, var] 对var的部分分式展开 Cancel[expr] 约分 ExpandAll[expr] 展开表达式 ExpandAll[expr, patt] 展开表达式 FactorTerms[poly] 提出共有的数字因子 FactorTerms[poly, x] 提出与x无关的数字因子 FactorTerms[poly, {x1,x2...}] 提出与xi无关的数字因子 Coefficient[expr, form] 多项式expr中form的系数

Mathematica线性代数运算命令与例题

第五章 线性代数运算命令与例题 线性代数中常用的工具是矩阵(向量)和行列式。用这些工具可以表示工程技术,经济工 作中一些需要用若干个数量从整体上反映其数量关系的问题。用这些工具可以简明凝练而准 确地把所要研究的问题描述出来,以提高研究的效率。在线性代数课程中我们看到了用这些 工具研究齐次和非齐次线性方程组解的理论和解的结构,矩阵的对角化,二次型化标准形等 问题的有力,便捷. 5.1向量与矩阵的定义 数学上矩阵是这样定义的: 由n m ?个数排成m 行n 列的数表 mn m m n n a a a a a a a a a 21222 21 11211 称为m 行n 列矩阵,特别,当m=1时就是线性代数中的向量。 记作: ????????????=mn m m n n a a a a a a a a a A 21 2222111211 两个n m ?矩阵称为同型矩阵。 线性代数中的运算对象是向量和矩阵,因此首先介绍向量和矩阵的输入。 5.1.1输入一个矩阵 命令形式1:Table[f[i,j],{i ,m},{j ,n}] 功能: 输入n m ?矩阵,其中f 是关于i 和j 的函数,给出[i , j]项的值. 命令形式2:直接用表的形式来输入 功能:用于矩阵元素表达式规律不易找到的矩阵的输入。 注意: 1.Mathematica 是采用一个二重表的形式来表示矩阵的,即用 {{…},{…},…,{…}} 其中表中的每个表元素都是等长的一维表,第一个表元素是矩阵的第一行,第二个表元素是 矩阵的第二行,一般,第n 个表元素是矩阵的第n 行。要看通常的矩阵形式可以用命令: MatrixForm[%] 2. 对应上述命令形式,输入一个向量的命令为 Table[f[j],{j,n}]或直接输入一个一维表{a1,a2,…,an},这里a1,a2,…,an 是数或字母。

利用Mathematica软件实现线性方程组求解

利用Mathematica 软件实现线性方程组求解 摘要:Mathematica 作为一款独特的数学软件,有强大的数值计算和符号计算能力,具有很强的实用性,而线性方程组在线性代数中具有重要的地位.针对线性方程组的解具有零解、唯一解、无穷解的情况,文章借助Mathematica 数学软件分别给出求解的算法以及如何直接调用内部函数求解线性方程组的方法.文章中主要利用高斯-约当(Gauss-Jordan )消元法、矩阵的LU 分解法求解线性方程组,并用Mathematica 软件对这两种算法予以实现.同时给出了带有可读性好的求解过程、能用于各种逆矩阵和线性方程组求解的通用程序,利用Mathematica 数学软件实现对求逆矩阵和线性方程组的可读性计算. 关键字:Mathematica ;线性方程组;可读性计算;算法 引言 1.Mathematica 软件功能简介 Mathematica 作为一款独特的数学软件,有强大的数值计算和符号计算能力.同时,线性方程组是连接矩阵和向量组的纽带,也是矩阵和向量组的直接应用.在我们的实际工作中出现的大量数学模型,他们最后都可以化为解线性方程组,所以对线性方程组的解的研究是非常重要的. 在数学的许多分支中都涉及到线性方程组的问题,我们通常分齐次与非齐次两大类以及未知量个数与方程个数相等或不等对其进行求解,在系数矩阵为方阵时,还可以按照行列式是否为零进行分类.对于线性方程组的求解,其算法是非常清楚的,就是利用矩阵的行初等变换将对应的增广矩阵化为行最简矩阵,然后就可写出通解.但是由于整个过程涉及到大量数字运算,往往会因计算过程中不小心出现一些计算错误而导致错误的结论,有时甚至出现对没解的方程求出有解,或相反.然而,如果利用数学软件Mathematica ,可以将大家从繁琐的数字运算中解脱出来,而将注意力集中在基本概念和基本算法的学习上,从而增加学习兴趣,提高学习效率.笔者从事了一年多大学生创新实验《基于数学软件的高等代数解题实践研究》,通过实践发现,如果能够通过计算机编程让计算机自动求解各种线性方程组,这将是非常快速、方便的.因此本文以Mathematica 数学软件为平台,通过举例、演示与实验来理解线性方程组中的一些抽象概念和理论,并简捷直观地用计算机来解决复杂的线性方程组的求解问题,化简过难、过繁的运算技巧. 本文根据Mathematica 软件强大的数值计算无误差的特点和符号计算功能,总结Mathematica 的关于线性方程组计算的功能、命令,总结了求解线性方程组的解的算法,并给出带有可读性好的求解过程、能用于各种线性方程组求解的通用程序,实现线性方程组的可读性计算. 由于本章用到线性代数的许多基本知识,有必要对相关的概念和性质做一下说明. 定义1 如两个方程组具有完全相同的解,则称两个方程组为等价方程组. 定义2 关于方程组的初等运算有三种类型: 1) 交换方程组中两个方程:i j R R ?,称为交换运算. 2) 用一个非零的实数乘以某一方程:i i R R λ→,称为倍法运算. 3) 某方程加上另一个方程的倍数:i j i R R R λ+→,称为消法运算. 定理1 若一个方程由另一个方程经过有限次初等运算得到的,则这两个方程组等价.

Mathematica矩阵的各种运算

Mathematica可进行矩阵的各种运算,如矩阵求逆、矩阵的转置、矩阵与向量的乘法等.下面列出主要的运算.记k为常数,u,v为向量,A,B为矩阵 k*A------------------------常数乘矩阵 k+u-----------------------向量u的每一个元素加上k u+v----------------------向量的对应元素相加 u.v-----------------------向量的内积 u*v-----------------------向量的对应元素相乘 A.u---------------------矩阵乘向量 u.A-----------------------向量乘矩阵 A.B--------------------------矩阵乘矩阵 Transpose[A]-----------------求矩阵A的转置阵 Inverse[A]--------------------求矩阵A的逆矩阵 Det[A]-------------------------求矩阵A的行列式 Eigenvalues[A]-----------------求数字阵A的特征值 Eigentvectors[A]---------------求数字阵A的特征向量 LinearSolve[A,v]---------------求解线性方程组Ax=v Chop[%n]-------------------舍去第n个输出中无实际意义小量 矩阵可以左乘以向量或右乘以向量, Mathematica也不区分“行”,或“列”向量,自动进行可能的运算. 例: In[1]:=A={{a,b},{c,d}}; v={x,y}; In[2]:=A.v (A左乘以v) Out[2]={ax+by,cx+dy} In[3]:=v.A (A右乘以v) Out[3]={ax+cy,bx+dy} In[4]:=Inverse[A] Out[4]= 如果矩阵的元素是近似数,则求出的逆矩阵也是近似的。 In[5]:=B={{1.2,5.7},{4.2,5.6}}; Inverse[B] Out[5]= In[6]:=%.B Out[6]= 结果与单位矩阵有微小误差,用函数Chop消去无实际意义小量 In[7]:=Chop[%] Out[7]={{1.,0},{0,1.}} 前面已介绍了用Solve解线性方程组,但对于矩阵形式Ax=v的线性方程组,用 LinearSolve[A,v]更方便. In[8]:=M={{2,1},{1,4}}; LinearSolve[M,{a,b}]

(完整版)Mathematica数值分析和数值计算

第五章 数值分析和数值计算 1. 如何求插值多项式 给定n 个点( x i ,y i ),(i=1,2,…,n),构造一个次数不超过n-1的多项式函数f(x),使得f(x i )=y i ,则称f(x)为拉格朗日插值多项式。 可以证明该多项式函数由公式 ))...()(())...()((...) )...()(())...()(())...()(())...()((1211212321231113121321--------++------+------=n n n n n n n n n n x x x x x x x x x x x x y x x x x x x x x x x x x y x x x x x x x x x x x x y y 唯一给定。 Mathematica 提供了根据插值点数据计算拉格朗日插值多项式的函数InterpolatingPolynomial ,下面是其调用格式: InterpolatingPolynomial[data,var] 作出以data 为插值点数据,以var 为变量名的插值多项式。 例: 在多数情况下,我们构造插值函数的目的在于计算函数f(x)的值,而并不在意插值多项式的具体表示形式。对于拉格朗日插值多项式,当n 较大时,得到的高次插值多项式由于截断误差和舍入误差的影响,往往误差较大。此时在实际应用中,一般采用分段插值。 Mathematica 提供了分段插值函数Interpolation ,其使用格式为: Interpolation[data,InterpolationOrder->n] 这里InterpolationOrder->n 指定插值多项式的次数,默认值为3。此外数据data 中还可以包括插值点处的导数,格式为:{{x1,{y1,dy1}},{x2,{y2,dy2}},…} 例:已知f(0)=0,f(1)=2,f’(0)=1,f’(1)=1,求3次插值多项式f(x),并计算f(0.72)和画出函数f(x)在[0,1]区间上的图形。

Mathematica常用指令

表达式: Plot[4 x - 9, {x, 0, 9}] f[x_] = x^3 Plot[f[x], {x, 0, 9}] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] 两图画在一个坐标系 Show[a, b] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] 两图画在一起(一排) c = GraphicsArray[{a, b}] Show[c] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] c = GraphicsArray[{a}, {b}] 两图画在一起(两排) Show[c] 二维画图: Automatic 默认值 DisplayFunction -> Identity 不出现图 DisplayFunction -> $DisplayFunction 出现图 PlotRange -> All 画出所有点,指定区域点 PlotStyle -> {RGBColor[1, 0, 0]} 图像颜色 PlotStyle -> {Dashing[{0.01}]} 图像成虚线 PlotStyle -> {Thickness[0.01]} 图像粗细 AxesLabel -> {"x/t", "y/cm"} 坐标标签 PlotLabel -> {"s-t"} 图像标签 Frame -> True 图像边框 Axes -> {True, True} 坐标轴的显示 AxesOrigin -> {0, -5} 设置坐标原点 GridLines -> {{-π, -π/2, 0, π/2, π}, {-1,-0.5,0, 0.5, 1}} 给坐标轴分网格 TextStyle -> {FontSize -> 30} 坐标字体大小AspectRatio -> Automatic 坐标比例一致 Ticks -> {{0, 1, 2, 3}, {0,10,20}} 在坐标轴上显示特定点ParametricPlot[x(t),y(t)},{t,0,6,}] 画参数方程

Mathematica软件进行拟合

实验九数据的曲线拟合 一、实验目的与要求 学会利用Mathematica软件对已知数据进行拟合处理,并针对拟合结果的图形显示分析拟合函数的优劣 二、实验的基本知识 熟知一些曲线及其方程 三、实验的具体内容 例1现有一组实测数据 解输入数据表 L={{0,0.3},{0.2,0.45},{0.3,0.47},{0.52,0.50},{0.64,0.38},{0.7,0.33},{1.0,0.24}} 由于假设用一元二次函数拟合,因而经验函数表为{1 , x , x^2} 键入f=Fit[L,{1, x , x^2},x] 为观察拟合情况,我们在一个图上画出数据点和拟合函数,键入 ListPlot[L,PlotStyle→{RGBColor[0,1,0],PointSize[0.04]}] Plot[f,{x , -0.2 , 1.2}] Show[%,%%] 或键入fp= ListPlot[L,PlotStyle→{RGBColor[0,1,0],PointSize[0.04]}] gp= Plot[f,{x , -0.2 , 1.2}] Show[fp,gp] 运行可得拟合函数为0.33129+0.596026x-0.71812x2,并且从图形中可以观察拟合的结果,若散点图与曲线拟合不够理想,可以考虑用更高次的多项式或其它函数进行拟合。 例 2 在某化学反应里,由实验得到生物的浓度与时间的关系如下,求浓度与时间关系的拟合曲线 t(分) 1 2 3 4 5 6 7 8 y 4 6.4 8.0 8.4 9.28 9.5 9.7 9.86 t(分)9 10 11 12 13 14 15 16 y 10.0 10.2 10.32 10.42 10.5 10.55 10.58 10.6 解为确定拟合函数的类型,可先在直角坐标系中作出散点图,键入 t1={{1,4},{2,6.4,{3,8.0}},{4.8.4},{5,9.28},{6,9.5},{7,9.7},{8,9.86},{9,10.0},{10,10.2}, {11,10.32},{12,10.42},{13,10.5},{14,10.55},{15,10.58},{16,10.6}} t2=ListPlot[t1,PlotStyle→{RGBColor[0,1,0],PointSize[0.04]}] 若用四次多项式进行拟合,则键入 t3=Fit[t1,Table[x^I,{I,0,4}],x] t4=Plot[t3,{x,0,17},PlotStyle→{RGBColor[1,0,0]}] Show[t2,t4] 运行后,可得拟合函数的表达式以及散点图与拟合函数图,从图中可见二者的吻合情况是否满意。此例中,亦可用对数函数进行拟合,为此键入 t5=Fit[t1,{log[x],1},x]

Mathematica中的常用函数命令

第8章Mathematica中的常用函数8.1 运算符及特殊符号 Linel 执行Line,不显示结果 Linel,line2 顺次执行Line1,Line2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 N! N的阶乘 !!filename 显示文件内容 <>filename 打开文件写 Expr>>>filename 打开文件从文件末写 ( ) 结合率 [ ] 函数 { } 一个表 <*MathFun*> 在c语言中使用math的函数 (*Note*) 程序的注释 #n 第n今参数 ## 所有参数 Rule& 把rule作用于后面的式子 % 前一次的输出 %% 倒数第二次的输出 Var::mote 变量var的注释 “Astring”字符串 Context 上下文 A+b 加 a-b 减 A*b或ab 乘 A/b 除 8.2 系统常量 Pi 3.1415的无限精度数值 E 2.17828的无限精度数值 Catalan 0.915966Catalan常数 EulerGamma 0.5772Euler常数 Khinchin 2.68545Khinchin Glaisher 0.915966Glaisher GoldenRatio 1.61803黄金分割数 Degree π/l80角度弧度换算 I 复数单位 Infinity 无穷大

-Infinity 负无穷大 Complexlnfinity 复无穷大 Indeterminate 不定式 8.3 代数计算 Expand[expr] 展开表达式 Factor[expr] 展开表达式 Simplify[expr] 化简表达式 FullSimplify[expr] 将特殊函数也进行化简PowerExpand[expr] 展开所有的幂次形式ComplexExpand[expr,{x1,x2…}] 按复数实部虚部展开FunctionExpand[expr] 化简表达式中的特殊函数 Collect[expr,x] 合并同次项 Collect[expr,{x1,x2,…}] 合并x1,x2,...的同次项 Together[expr] 通分 Apart[expr] 部分分式展开 Apart[expr,var] 对var的部分分式展开 Cancel[expr] 约分 ExpandAll[expr] 展开表达式 ExpandAll[expr,patt] 展开表达式 FactorTermsrpoly] 提出共有的数字因子 FactorTerms[poly,x] 提出与x无关的数字因子 FactorTerms[poly,(x1,x2…)] 提出与xi无关的数字因子 Coefficient[expr,form] 多项式expr中form的系数 Coefficient[expr,form,n] 多项式expr中form^n的系数 Exponent[expr,form] 表达式expr中form的最高指数 Numerator[expr] 表达式expr的分子 Denominator[expr] 表达式expr的分母 ExpandNumerator[expr] 展开expr的分子部分 8.4 解方程 Solve[eqns,vats] 从方程组eqns中解出Vats Solve[eqns,vats,elims] 从方程组eqns中削去变量elims,解出vats DSolve[eqn,y,x] 解微分方程,其中、y是x的函数 DSolve[{eqnl,eqn2,…},{y1,y2…},] 解微分方程组,其中yi是x的函数DSolve[eqn,y,{x1,x2…}]解偏微分方程 Eliminate[eqns,Vats] 把方程组eqns中变量vars约去SolveAlways[eqns,vars] 给出等式成立的所有参数满足的条件Reduce[eqns,Vats] 化简并给出所有可能解的条件LogicalExpand[expr] 用&&和,,将逻辑表达式展开InverseFunction[f] 求函数f的反函数 Root[f,k] 求多项式函数的第k个根

Mathematica数学实验——简单数理统计

教师指导实验6 实验名称:简单数理统计 一、问题:求样本数据的特征数字值;绘制样本的频率分布条形图和直方图。 二、实验目的: 学会使用Mathematica求求样本数据的极差、中位数、均值、方差及标准差;绘制样本的频率分布直方图并作简单的修饰。 三、预备知识:本实验所用的Mathematica命令提示 1、SampleRange[data] 求样本数据data的极差(最大数减最小数); Median[data] 求样本数据data的中位数; Mean[data] 求样本数据data的均值; 2、VarianceMLE[data] 求样本数据data的方差; StandardVarianceMLE[data] 求样本数据data的标准差; 3、BarChart[data1, data2,…] 分别绘制样本数据data1,data2,…的条形图 图形修饰选项: BarSpacing 设置两条形的总宽度,设置值是实际宽度相对于区间宽度的比值; BarGroupSpacing 设置相邻条形的宽度,设置值是条形的实际宽度相对于条形的总宽度的比值; BarStyle 条形风格设置;BarEdgeStyle 条形边界风格设置; BarLabels 条形标签设置,PlotLabel 图形名称设置, 4、Histogram[data] 绘制样本数据data的频率分布直方图 图形修饰选项: Ticks设置标记相对于条形的位置; HistogramScale 设置条形高度为频率密度,使条形的面积和为所设置的值。 四、实验的内容和要求: 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; 2、对以上数据绘制样本频率分布直方图; 3、data1={1, 3, 4, 5, 3.5, 3}, data2={3, 2, 5, 3},在同一图表中绘制data1和data2的条形图,并作一定的修饰。 五、操作提示 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; In[1]:=<

Mathematical常用功能大全-精简版

Mathematica for Windows 常用用法 一、Mathematica 的主要功能 Mathematica 是美国Wolfram 公司开发的一个功能强大的计算机数学系统,提供了范围广泛的数学计算功能,主要包括三个方面:符号演算、数值计算、图形。例如:多项式的四则运算、展开、因式分解,有理式的各种计算,有理方程、超越方程的解,向量和矩阵的各种计算,求极限、导数、极值、不定积分、定积分、幂级数展开式,求解微分方程,作一元、二元函数的图形等等。 二、Mathematica 的基本知识 1.输入表达式:直接输入一个表达式(包括算式和命令,长表达式用“Enter ”换行)后,按“Shift+Enter ”执行,执行后以“Out[命令序号]= ……”形式输出执行结果,输出的结果可在后续的表达式中使用。 若命令后有分号,则不输出执行结果(图形输出与Print 命令除外)。 “%”表示上一个输出,“%%”表示倒数第2个输出,“%i”表示第i个 命令的输出。 2.运算符:+、-、*、/、^ ,“*”可用空格代替,“^”表示乘方。 如:In[1]:=2^10,输出为“Out[1]= 1024”,其中“In[1]:=”不需要输入。 In[2]:=3+5,Out[2]= 8;In[3]:=%-2,Out[3]= 6; In[4]:=%2+4,Out[4]= 12; In[5]:=1/3-1/4,Out[5]=12 1 ;In[6]:=N[%],Out[6]= 0.0833333; In[7]:=N[%5+12,10],Out[7]= 12.08333333(注意字母的大小写) 3.变量赋值:变量=表达式,“x=.”或Clear[x] 表示清除对x 的赋值。 表达式/.t ->c ,将表达式中的t 全替换成c 。?x ,查x 信息。 4.常用的数学常数:Pi (π)、E(e)、Infinity (∞)、I (1-) 5.常用的数学函数:Abs, Sin, Cos, Tan, Cot, ArcSin, Log (自然对数), Sqrt, Exp 如:In[1]:=Sqrt[2]+1;In[2]:=Sin[2]+ArcSin[1];In[3]:=Exp[2]+% (自变量用[ ]括,区分大小写,首字母大写) 三、常用运算 1.多项式运算:In[1]:= (2+4*x^2)*(1-x)^3 或 In[1]:= t = (2+4*x^2)*(1-x)^3 (将右端表达式赋值给t ); In[2]:=a=t/.x->4 (计算表达式t 当x=4时的值,并赋值给变量a ) In[3]:=a=. (清除变量a ) In[3]:=Expand[t](展开);In[4]:=Factor[%](把上一个结果因式分解) 2.解方程:In[1]:=Solve[x^2+3*x = = 2];In[2]:=N[%]; In[3]:=Solve[a*x-b= = 0, x]; In[4]:=NSolve[{x-2*y= =0,x^2-y= =1},{x,y}](解方程组并得到数值解) 3.自定义函数:In[1]:= f [x_ ]:=x^2+2*x ; In[2]:=f[5]+7; In[3]:=f[a+b] 4.求极限:In[1]:=Limit[Sin[x]/x, x ->0]; In[2]:=Limit[(1+1/n)^n, n->Infinity],Out[2]=E 5.求(偏)导数:In[1]:=D[a*x^2+3, x];In[2]:=D[x^2+y^3-Sin[2*y], y](对y 的偏导数); In[3]:=D[Log[x], {x,2}] (求对x 的二阶导数); In[4]:=D[Sin[x+y]*Exp[z*y^2],x,y] (求对x 、y 的二阶混合偏导数); In[5]:=Simplify[%] (对前一结果化简); In[6]:=D[Sin[x+y]*Exp[z*y^2],{x,2},{y,3}] 6.求不定积分:In[1]:=Integrate[x^2,x];In[2]:=Integrate[1/(x^2+a^2),x] 7.定积分:In[1]:=Integrate[x^2, {x,0,1}];In[2]:=Integrate[x^2,{x,a,b}]; In[3]:=Integrate[x^2+y^2, {x,0,a},{y,0,b}];(求矩形域上的二重积分) In[4]:=Integrate[1, {x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}];Out[4]=Pi (圆面积) 8.幂级数展开:In[1]:=Series[Exp[x],{x,0,4}](在x=0处展开到x 的四次幂) 9.矩阵的输入和输出:In[1]:= a ={{1,2},{3,4}}(定义一个2x2的矩阵a ,按 行写); In[2]:=MatrixForm[a](输出为矩阵形式);In[3]:=Transpose[a](a 的转置); In[4]:=a[[2]](a 的第2行);In[5]:=Tanspose[a][[2]](a 的第2列); In[6]:=Inverse[a](求a 的逆矩阵);In[7]:=Det[a](矩阵的行列式); In[8]:=Eigenvalues[a](求特征值);In[9]:=Eigenvectors[a](求特征向量); In[10]:=RowReduce[a](把a 化为阶梯形,可用于求矩阵的秩、判断线性相关性); In[11]:= b ={{5,6,7},{8,9,10}};In[12]:= a .b (矩阵a 与b 的乘积) 10.解线性方程组: In[1]:= a ={{3,4,5,6},{6,8,10,12},{4,5,6,7},{5,6,7,8}};(a 的秩为2) In[2]:= b ={1,2,3,5}(列向量);(增广矩阵的秩也为2) In[3]:=LinearSolve[a,b](求线性方程组ax=b 的一个特解); In[4]:=NullSpace[a](求线性方程组ax=0的一个基础解系); In[5]:= x =k1%4[[1]]+k2%4[[2]]+%3(ax=b 的全部解,k1、k2为任意常数) 11.求和:In[1]:=NSum[Sin[n]/n^3,{n,1,Infinity}](求级数∑ ∞=13sin n n n 的和) 12.求极小值:In[1]:=FindMinimum[Sin[x]*Cos[x],{x,0.5}](求函数在0.5附 近的极小值); In[2]:=FindMinimum[Sin[x*y]*Exp[x^2],{x,0.2}, {y,0.3}](求多元函数极小值) 13.求解线性规划问题:Min cx ,mx ≥b ,x ≥0,求向量x 。 In[1]:= c ={2,-3}(列向量);In[2]:= m ={{-1,-1},{1,-1},{1,0}}; In[3]:= b ={-10,2,1}; In[4]:=LinearProgramming[c,m,b] 14.数据拟合:In[1]:= d ={{1,2.18},{1.2,2.56},{1.6,3.0},{1.8,2.66}}; In[2]:= f =Fit[d,{1, x, x^2}, x](求和上面4个点吻合最好的二次多项式f ); 检验效果:In[3]:=ListPlot[d](画d 中4个点的图); In[4]:=Plot[f,{x,0.8,2.0}](画多项式f 在x 从0.8到2.0之间的图); In[5]:=Show[%3, %4](把上面两个图画在一起) 注:函数集{1, x, x^2}可以是更高次的或其它函数集,如三角函数集等。 15.一元函数作图:In[1]:=Plot[Exp[-x^2]*Sin[6*x],{x,-2,2}](如图1) 参数方程作图:In[2]:=ParametricPlot[{Sin[t]^3,Cos[t]^3},{t,0,2*Pi}] 16.二元函数作图:In[1]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi}];(如图2) In[2]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi},PlotPoints->40, ViewPoint->{2,-3,2}] In[3]:=ParametricPlot3D[{Cos[u]*Cos[v],Sin[u]*Cos[v],Sin[v]},{u,0,2*P i},{v,-Pi/2,Pi/2}] 17.数据画图:In[1]:= d ={{1,2},{3,4},{7,6}};In[2]:=ListPlot[d]; In[3]:=ListPlot[d, PlotStyle->{RGBColor[1,0,0], PointSize[0.02]}](红色 的大点); 或直接用 In[4]:=ListPlot[{1,2},{3,4},{7,6}] 代替“In[2]:=”。 18.作图范围:In[1]:=Plot[x-x^3/6,{x,-4,4}]; In[2]:=Plot[x-x^3/6,{x,-4,4},PlotRange->{-5,2}](限定纵坐标(函数值)范围) 19.图形组合:In[1]:=Plot[{Sin[x],Cos[x]},{x,0,2*Pi}];或 In[2]:= g1=Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}]; In[3]:= g2=Plot[Cos[x],{x,0,2*Pi}, PlotStyle->{RGBColor[0,0,1]}]; In[4]:=Show[g1,g2](把g1、g2画在一起) 20.文件的使用:In[1]:= y =25;In[2]:= a ={{1,4},{2,6}};In[3]:= f [x_ ]:=x^2 ; In[4]:= g =Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}]; In[5]:=Save[“abc .m”,a,y,f,g](将a, y, f, g 保存在文件“abc .m ”中,扩 展名为m ); In[6]:=!!abc .m (显示文件内容); In[1]:=<8,3,4];In[2]:=x=10; In[3]:=y=20;In[4]:=If[x==y,a,b] 2. 循环:(1) For[初值,条件,增量表达式,循环体] 先赋初值,再判断条件,条件为真时执行循环体,最后计算增量,再判断条件。 In[1]:=For[a=1, a<5, a=a+1, Print[a]] In[2]:=For[k=1;s=0;t=1, k<=10, k=k+1, s=s+k ;t=t*k] In[3]:=Print[“s=”,s , “\n ”, “t=”,t ] In[4]:=For[k=1, k<3, k=k+1, Plot[Sin[x],{x,k,2*Pi+k}]] (2) Do[循环体,{循环变量,起始值,终止值,步长}] In[1]:=s=0;Do[s=s+i,{i,1,100,1}];s In[2]:=Do[p[i]=Plot[Sin[i*x],{x,0,Pi}],{i,1,2}] In[3]:=Show[p[1],p[2]] 五、一个编程例子 ===================================================== (* 这是一个例题 每行后按回车键 用半角标点符号*) Print["请回答3个题目"] For[i=1,i<=3,i=i+1, a=Random[Integer,{1,100}]; b=Random[Integer,{1,100}]; Print["第(",i,")题 ",a,"+",b,"=?"]; c=Input["请输入计算结果"]; If[c==a+b, Print[" 对了!"], Print[" 错,应为 ",a+b] ] ]; Print["没有题目了。"] ====================================================== 六、编程练习:从数据文件中读出5组身高与体重数据(ReadList ),(1) 画出散点图(ListPlot );(2) 用Fit 求出拟合直线;(3) 用回归公式求出回归直线; (4) 画出回归直线的图形(Plot );(5) 将回归直线和散点图画在一起(Show )。 注:数据文件内容为 1.54 48 1.6 55 1.65 60 1.71 62 1.74 70

相关文档
最新文档