【原创教程】motion math的使用方法和应用
- 格式:doc
- 大小:1.31 MB
- 文档页数:12
math的常用方法Mathematics是一门严密的学科,它的研究方法也较为复杂。
在学习Mathematics的过程中,我们需要掌握一些常用的方法,以便更好地理解和应用Mathematics。
本篇文章将就这方面的问题作一些介绍。
1.规范的符号表示在Mathematics中,为了使结果清晰明了,必须采用符号表示。
字母和符号的运用是Mathematics的一大特色。
为了避免出错,必须注意符号的使用和规范。
2.继承性原理继承性原理就是说,如果一个命题对于某个性质是正确的,那么对于该性质的任何子集也一定是正确的。
这种原理在Mathematics的证明中经常用到。
3.分析法分析法是推理中常用的方法。
它是将一个问题分解成多个较小的问题,并将它们集成到一个大问题中去,从而推导出大问题的答案。
4.对称性原理对称性原理是将物体或问题中可对称的方面作为问题解决的一个方法。
对称性原理是Mathematics证明中一个非常强大的技术,它能有效地减少问题的复杂性。
5.归纳法归纳法是从特殊到一般的一种证明方法。
我们可以从一个小规模的实例开始,然后逐渐概括为更一般或更普遍的规则或结论。
6.反证法反证法是通过推断一个命题的否定(即相反的命题),来证明这个命题的真正的正确性。
这种方法经常被用在那些复杂的证明中。
综上所述,常用的Mathematics方法有许多,这个列表仅仅是其中的几个。
随着知识的不断增长,这个列表也可以继续扩展。
总之,在Mathematics的学习中,我们应该注意掌握这些方法,并在实际问题中恰当地运用它们。
mathematica简明使用教程Mathematica是一种强大的数学软件,广泛应用于科学研究、工程计算和数据分析等领域。
本文将简要介绍Mathematica的使用方法,帮助读者快速上手。
一、安装和启动Mathematica我们需要下载并安装Mathematica软件。
在安装完成后,可以通过桌面图标或开始菜单中的快捷方式来启动Mathematica。
二、界面介绍Mathematica的界面分为菜单栏、工具栏、输入区域和输出区域四部分。
菜单栏提供了各种功能选项,工具栏包含了常用的工具按钮,输入区域用于输入代码或表达式,而输出区域则显示执行结果。
三、基本操作1. 输入和输出在输入区域输入代码或表达式后,按下Shift+Enter键即可执行,并在输出区域显示结果。
Mathematica会自动对输入进行求解或计算,并返回相应的输出结果。
2. 变量定义可以使用等号“=”来定义变量。
例如,输入“a = 3”,然后执行,就会将3赋值给变量a。
定义的变量可以在后续的计算中使用。
3. 函数调用Mathematica内置了许多常用的数学函数,可以直接调用使用。
例如,输入“Sin[π/2]”,然后执行,就会返回正弦函数在π/2处的值。
4. 注释和注解在代码中添加注释可以提高代码的可读性。
在Mathematica中,可以使用“(*注释内容*)”的格式来添加注释。
四、数学运算Mathematica支持各种数学运算,包括基本的加减乘除,以及更复杂的求导、积分、矩阵运算等。
下面简要介绍几个常用的数学运算:1. 求导可以使用D函数来求导。
例如,输入“D[Sin[x], x]”,然后执行,就会返回正弦函数的导数。
2. 积分可以使用Integrate函数来进行积分运算。
例如,输入“Integrate[x^2, x]”,然后执行,就会返回x的平方的不定积分。
3. 矩阵运算Mathematica提供了丰富的矩阵运算函数,可以进行矩阵的加减乘除、转置、求逆等操作。
motion教程第一章 TitleMotion4.2概述1-1 初步认识TitleMotion4.2TitleMotion------大名鼎鼎的广播级字幕软件,能作为插件配合多种非编软使用。
TitleMotion4.2版本更专业,功能更强大,省市级电视台一般都用它。
TitleMotion4.2自带100多种模版, 可以做出像中央电视台那样眼花缭乱的字幕和特技,动态效果多,如中央电视台字幕下面加一个漂亮的划线.背景,点缀一个小图案,演员表向上滚动等模版,它都有。
如果你做字幕,只需把模版中的原字幕改成你所需要的即可!只需轻轻一点,瞬间可以完成!TitleMotion4.2的强大功能具体表现在:(1)可以创建各式各样的字幕和图案,任意设计字幕和图案的属性(大小、变形、颜色渐变、边缘色、阴影、透明度......),字幕和图案可以任意搭配,并预置了上百种字幕模板和文图混排模板。
而且,其优秀的抗锯齿性保证了作品的广播级质量。
(2)可以为字幕和图案设置各种动画特效,这一点是最引人入胜的。
让字幕和图案在虚拟的3D空间里任意移动、翻滚、变形、旋转、模糊、变色.......,还可以使每个对象按任意的时间间隔顺序运动。
同时在FX工作区同样设置了几十种模板,精美的效果让你观为叹止!(3)界面人性化,操作非常简单,可以快捷的将字幕、图案输出到Premiere 中。
第二章 CG、FX和LOGO---- TitleMotion4.2三大功能模块TitleMotion是广播级字幕软件,做出的字幕漂亮美观,给影视作品增添了瑰丽的色彩。
那么,当我们打开它之后,该从哪儿入手呢?别急,让我们从初步了解认识它的三大功能模块开始吧!2-1 CG Editer(字幕图形编辑)模块当我们进入TitleMotion4.2后,展现在我们面前的是如图1-15所示的画面。
这是TitleMotion 软件的功能模块之一--------CG Editer (字幕图形编辑)界面。
mathmatic 基本用法Mathematica是一种强大的数学软件,它具有广泛的数学计算和可视化功能。
基本用法包括使用Mathematica进行数学运算、求解方程、绘制图表等。
1.数学运算:Mathematica可以进行基本的数学运算,如加减乘除、幂运算、三角函数、对数函数等。
例如,可以输入"2+3"得到结果"5",输入"Sin[π/2]"得到结果"1"。
2.方程求解:Mathematica可以求解各种类型的方程。
例如,可以输入"Solve[x^2 - 3x + 2 == 0, x]"来求解这个二次方程,得到结果"x == 1 || x == 2"。
3.符号计算:Mathematica可以进行符号计算,包括展开、化简、因式分解等。
例如,可以输入"Simplify[(x^2 + x - 6)/(x + 3)]"来化简这个表达式,得到结果"x - 2"。
4.绘图功能:Mathematica可以生成各种类型的图表,包括二维曲线图、三维曲面图、柱状图、散点图等。
例如,可以输入"Plot[Sin[x], {x, 0, 2π}]"来绘制正弦函数的曲线图。
除了基本用法外,Mathematica还有许多其他功能,如矩阵计算、微积分、概率统计、符号推导、动态演示等。
它还提供了大量的内置函数和算法,可以用于求解复杂的数学问题。
使用Mathematica还可以进行科学计算、工程计算、数据分析等各种应用领域。
总之,Mathematica是一款功能强大的数学软件,可以帮助用户进行各种数学计算和可视化操作。
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)lhs=rhs ⽴即赋值lhs:=rhs 建⽴动态赋值lhs:>rhs 建⽴替换规则lhs->rhs 建⽴替换规则expr//funname 相当于filename[expr]expr/.rule 将规则rule应⽤于exprexpr//.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的系数Coefficient[expr, form, n] 多项式expr中form^n的系数Exponent[expr, form] 表达式expr中form的最⾼指数Numerator[expr] 表达式expr的分⼦Denominator[expr] 表达式expr的分母ExpandNumerator[expr] 展开expr的分⼦部分ExpandDenominator[expr] 展开expr的分母部分TrigExpand[expr] 展开表达式中的三⾓函数TrigFactor[expr] 给出表达式中的三⾓函数因⼦TrigFactorList[expr] 给出表达式中的三⾓函数因⼦的表TrigReduce[expr] 对表达式中的三⾓函数化简TrigToExp[expr] 三⾓到指数的转化ExpToTrig[expr] 指数到三⾓的转化RootReduce[expr]ToRadicals[expr]四、解⽅程Solve[eqns, vars] 从⽅程组eqns中解出varsSolve[eqns, vars, elims] 从⽅程组eqns中削去变量elims,解出vars DSolve[eqn, y, x] 解微分⽅程,其中y是x的函数DSolve[{eqn1,eqn2,...},{y1,y2...},x]解微分⽅程组,其中yi是x的函数DSolve[eqn, y, {x1,x2...}] 解偏微分⽅程Eliminate[eqns, vars] 把⽅程组eqns中变量vars约去SolveAlways[eqns, vars] 给出等式成⽴的所有参数满⾜的条件Reduce[eqns, vars] 化简并给出所有可能解的条件LogicalExpand[expr] ⽤&&和||将逻辑表达式展开InverseFunction[f] 求函数f的逆函数Root[f, k] 求多项式函数的第k个根Roots[lhs==rhs, var] 得到多项式⽅程的所有根五、微积分函数D[f, x] 求f[x]的微分D[f, {x, n}] 求f[x]的n阶微分D[f,x1,x2..] 求f[x]对x1,x2...偏微分Dt[f, x] 求f[x]的全微分df/dxDt[f] 求f[x]的全微分dfDt[f, {x, n}] n阶全微分df^n/dx^nDt[f,x1,x2..] 对x1,x2..的偏微分Integrate[f, x] f[x]对x在的不定积分Integrate[f, {x, xmin, xmax}] f[x]对x在区间(xmin,xmax)的定积分Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] f[x,y]的⼆重积分Limit[expr, x->x0] x趋近于x0时expr的极限Residue[expr, {x,x0}] expr在x0处的留数Series[f, {x, x0, n}] 给出f[x]在x0处的幂级数展开Series[f, {x, x0,nx}, {y, y0, ny}]先对y幂级数展开,再对xNormal[expr] 化简并给出最常见的表达式SeriesCoefficient[series, n] 给出级数中第n次项的系数SeriesCoefficient[series, {n1,n2...}]'或Derivative[n1,n2...][f] ⼀阶导数InverseSeries[s, x] 给出逆函数的级数ComposeSeries[serie1,serie2...] 给出两个基数的组合SeriesData[x,x0,{a0,a1,..},nmin,nmax,den]表⽰⼀个在x0处x的幂级数,其中ai为系数O[x]^n n阶⼩量x^nO[x, x0]^n n阶⼩量(x-x0)^n六、多项式函数Variables[poly] 给出多项式poly中独⽴变量的列表CoefficientList[poly, var] 给出多项式poly中变量var的系数CoefficientList[poly, {var1,var2...}]给出多项式poly中变量var(i)的系数列表PolynomialMod[poly, m] poly中各系数mod m同余后得到的多项式,m可为整式PolynomialQuotient[p, q, x] 以x为⾃变量的两个多项式之商式p/q PolynomialRemainder[p, q, x] 以x为⾃变量的两个多项式之余式PolynomialGCD[poly1,poly2,...] poly(i)的最⼤公因式PolynomialLCM[poly1,poly2,...] poly(i)的最⼩公倍式PolynomialReduce[poly, {poly1,poly2,...},{x1,x2...}]得到⼀个表{{a1,a2,...},b}其中Sum[ai*polyi]+b=polyResultant[poly1,poly2,var] 约去poly1,poly2中的varFactor[poly] 因式分解(在整式范围内)FactorTerms[poly] 提出poly中的数字公因⼦FactorTerms[poly, {x1,x2...}] 提出poly中与xi⽆关项的数字公因⼦FactorList[poly]给出poly各个因⼦及其指数{{poly1,exp1},{...}...}FactorSquareFreeList[poly]FactorTermsList[poly,{x1,x2...}] 给出各个因式列表,第⼀项是数字公因⼦,第⼆项是与xi⽆关的因式,其后是与xi有关的因式按升幂的排列Cyclotomic[n, x] n阶柱函数Decompose[poly, x] 迭代分解,给出{p1,p2,...},其中p1(p2(...))=poly InterpolatingPolynomial[data, var] 在数据data上的插值多项式data可以写为{f1,f2..}相当于{{x1=1,y1=f1}..}data可以写为{{x1,f1,df11,df12,..},{x2,f2,df21..}可以指定数据点上的n阶导数值RootSum[f, form] 得到f[x]=0的所有根,并求得Sum[form[xi]]七、随机函数Random[type,range] 产⽣type类型且在range范围内的均匀分布随机数type可以为Integer,Real,Complex,不写默认为Realrange为{min,max},不写默认为{0,1}Random[] 0~1上的随机实数SeedRandom[n] 以n为seed产⽣伪随机数如果采⽤了 <在2.0版本为 <<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m" Random[distribution]可以产⽣各种分布如Random[BetaDistribution[alpha, beta]]Random[NormalDistribution[miu,sigma]]等常⽤的分布如BetaDistribution,CauchyDistribution,ChiDistribution, NoncentralChiSquareDistribution,ExponentialDistribution, ExtremeValueDistribution,NoncentralFRatioDistribution, GammaDistribution,HalfNormalDistribution, LaplaceDistribution, LogNormalDistribution,LogisticDistribution,RayleighDistribution,NoncentralStudentTDistribution, UniformDistribution, WeibullDistribution⼋、数值函数N[expr] 表达式的机器精度近似值N[expr, n] 表达式的n位近似值,n为任意正整数NSolve[lhs==rhs, var] 求⽅程数值解NSolve[eqn, var, n] 求⽅程数值解,结果精度到n位NDSolve[eqns, y, {x, xmin, xmax}]微分⽅程数值解NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}]微分⽅程组数值解FindRoot[lhs==rhs, {x,x0}] 以x0为初值,寻找⽅程数值解FindRoot[lhs==rhs, {x, xstart, xmin, xmax}]NSum[f, {i,imin,imax,di}] 数值求和,di为步长NSum[f, {i,imin,imax,di}, {j,..},..] 多维函数求和NProduct[f, {i, imin, imax, di}]函数求积NIntegrate[f, {x, xmin, xmax}] 函数数值积分优化函数:FindMinimum[f, {x,x0}] 以x0为初值,寻找函数最⼩值FindMinimum[f, {x, xstart, xmin, xmax}]ConstrainedMin[f,{inequ},{x,y,..}]inequ为线性不等式组,f为x,y..之线性函数,得到最⼩值及此时的x,y..取值ConstrainedMax[f, {inequ}, {x, y,..}]同上LinearProgramming[c,m,b] 解线性组合c.x在m.x>=b&&x>=0约束下的最⼩值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}] 向量组vi的极⼩⽆关组数据处理:Fit[data,funs,vars]⽤指定函数组对数据进⾏最⼩⼆乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{10.22,12,3.2,9.9}, {1, x, x^2,Sin[x]}, x]Interpolation[data]对数据进⾏差值,data同上,另外还可以为{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各阶导数InterpolationOrder默认为3次,可修改ListInterpolation[array]对离散数据插值,array可为n维ListInterpolation[array,{{xmin,xmax},{ymin,ymax},..}] FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..]以对应expr[xi,yi]的为数据进⾏插值Fourier[list] 对复数数据进⾏付⽒变换InverseFourier[list] 对复数数据进⾏付⽒逆变换Min[{x1,x2...},{y1,y2,...}]得到每个表中的最⼩值Max[{x1,x2...},{y1,y2,...}]得到每个表中的最⼤值Select[list, crit] 将表中使得crit为True的元素选择出来Count[list, pattern] 将表中匹配模式pattern的元素的个数Sort[list] 将表中元素按升序排列Sort[list,p] 将表中元素按p[e1,e2]为True的顺序⽐较list的任两个元素e1,e2,实际上Sort[list]中默认p=Greater集合论:Union[list1,list2..] 表listi的并集并排序Intersection[list1,list2..] 表listi的交集并排序Complement[listall,list1,list2...]从全集listall中对listi的差集九、虚数函数Re[expr] 复数表达式的实部Im[expr] 复数表达式的虚部Abs[expr] 复数表达式的模Arg[expr] 复数表达式的辐⾓Conjugate[expr] 复数表达式的共轭⼗、数的头及模式及其他操作Integer _Integer 整数Real _Real 实数Complex _Complex 复数Rational_Rational 有理数(*注:模式⽤在函数参数传递中,如MyFun[Para1_Integer,Para2_Real]规定传⼊参数的类型,另外也可⽤来判断If[Head[a]==Real,...]*) IntegerDigits[n,b,len] 数字n以b近制的前len个码元RealDigits[x,b,len] 类上FromDigits[list] IntegerDigits的反函数Rationalize[x,dx] 把实数x有理化成有理数,误差⼩于dxChop[expr, delta] 将expr中⼩于delta的部分去掉,dx默认为10^-10 Accuracy[x] 给出x⼩数部分位数,对于Pi,E等为⽆限⼤Precision[x] 给出x有效数字位数,对于Pi,E等为⽆限⼤SetAccuracy[expr, n] 设置expr显⽰时的⼩数部分位数SetPrecision[expr, n] 设置expr显⽰时的有效数字位数⼗⼀、区间函数Interval[{min, max}] 区间[min, max](* Solve[3 x+2==Interval[{-2,5}],x]*) IntervalMemberQ[interval, x] x在区间内吗?IntervalMemberQ[interval1,interval2] 区间2在区间1内吗?IntervalUnion[intv1,intv2...] 区间的并IntervalIntersection[intv1,intv2...] 区间的交⼗⼆、矩阵操作a.b.c 或 Dot[a, b, c] 矩阵、向量、张量的点积Inverse[m] 矩阵的逆Transpose[list] 矩阵的转置Transpose[list,{n1,n2..}]将矩阵list 第k⾏与第nk列交换Det[m] 矩阵的⾏列式Eigenvalues[m] 特征值Eigenvectors[m] 特征向量Eigensystem[m] 特征系统,返回{eigvalues,eigvectors}LinearSolve[m, b] 解线性⽅程组m.x==bNullSpace[m] 矩阵m的零空间,即m.NullSpace[m]==零向量RowReduce[m] m化简为阶梯矩阵Minors[m, k] m的所有k*k阶⼦矩阵的⾏列式的值(伴随阵,好像是) MatrixPower[mat, n] 阵mat⾃乘n次Outer[f,list1,list2..] listi中各个元之间相互组合,并作为f的参数的到的矩阵Outer[Times,list1,list2]给出矩阵的外积SingularValues[m] m的奇异值,结果为{u,w,v},m=Conjugate[Transpose[u]].DiagonalMatrix[w].vPseudoInverse[m] m的⼴义逆QRDecomposition[m] QR分解SchurDecomposition[m] Schur分解LUDecomposition[m] LU分解⼗三、表函数(*“表”,我认为是Mathematica中最灵活的⼀种数据类型 *)(*实际上表就是表达式,表达式也就是表,所以下⾯list==expr *) (*⼀个表中元素的位置可以⽤于⼀个表来表⽰ *)表的⽣成{e1,e2,...} ⼀个表,元素可以为任意表达式,⽆穷嵌套Table[expr,{imax}] ⽣成⼀个表,共imax个元素Table[expr,{i, imax}] ⽣成⼀个表,共imax个元素expr[i]Table[expr,{i,imin,imax},{j,jmin,jmax},..] 多维表Range[imax] 简单数表{1,2,..,imax}Range[imin, imax, di] 以di为步长的数表Array[f, n] ⼀维表,元素为f[i] (i从1到n)Array[f,{n1,n2..}] 多维表,元素为f[i,j..] (各⾃从1到ni) IdentityMatrix[n] n阶单位阵DiagonalMatrix[list] 对⾓阵元素操作Part[expr, i]或expr[[i]]第i个元expr[[-i]] 倒数第i个元expr[[i,j,..]] 多维表的元expr[[{i1,i2,..}] 返回由第i(n)的元素组成的⼦表First[expr] 第⼀个元Last[expr] 最后⼀个元Head[expr] 函数头,等于expr[[0]]Extract[expr, list] 取出由表list制定位置上expr的元素值Take[list, n] 取出表list前n个元组成的表Take[list,{m,n}] 取出表list从m到n的元素组成的表Drop[list, n] 去掉表list前n个元剩下的表,其他参数同上Rest[expr] 去掉表list第⼀个元剩下的表Select[list, crit] 把crit作⽤到每⼀个list的元上,为True的所有元组成的表表的属性Length[expr] expr第⼀曾元素的个数Dimensions[expr] 表的维数返回{n1,n2..},expr为⼀个n1*n2...的阵TensorRank[expr] 秩Depth[expr] expr最⼤深度Level[expr,n] 给出expr中第n层⼦表达式的列表Count[list, pattern] 满⾜模式的list中元的个数MemberQ[list, form] list中是否有匹配form的元FreeQ[expr, form] MemberQ的反函数Position[expr, pattern] 表中匹配模式pattern的元素的位置列表Cases[{e1,e2...},pattern]匹配模式pattern的所有元素ei的表表的操作Append[expr, elem] 返回在表expr的最后追加elem元后的表Prepend[expr, elem] 返回在表expr的最前添加elem元后的表Insert[list, elem, n] 在第n元前插⼊elemInsert[expr,elem,{i,j,..}]在元素expr[[{i,j,..}]]前插⼊elemDelete[expr, {i, j,..}] 删除元素expr[[{i,j,..}]]后剩下的表DeleteCases[expr,pattern]删除匹配pattern的所有元后剩下的表ReplacePart[expr,new,n] 将expr的第n元替换为newSort[list] 返回list按顺序排列的表Reverse[expr] 把表expr倒过来RotateLeft[expr, n] 把表expr循环左移n次RotateRight[expr, n] 把表expr循环右移n次Partition[list, n] 把list按每n各元为⼀个⼦表分割后再组成的⼤表Flatten[list] 抹平所有⼦表后得到的⼀维⼤表Flatten[list,n] 抹平到第n层Split[list] 把相同的元组成⼀个⼦表,再合成的⼤表FlattenAt[list, n] 把list[[n]]处的⼦表抹平Permutations[list] 由list的元素组成的所有全排列的列表Order[expr1,expr2] 如果expr1在expr2之前返回1,如果expr1在expr2之后返回-1,如果expr1与expr2全等返回0Signature[list] 把list通过两两交换得到标准顺序所需的交换次数(排列数)以上函数均为仅返回所需表⽽不改变原表AppendTo[list,elem] 相当于list=Append[list,elem];PrependTo[list,elem] 相当于list=Prepend[list,elem];⼗四、绘图函数⼆维作图Plot[f,{x,xmin,xmax}] ⼀维函数f[x]在区间[xmin,xmax]上的函数曲线Plot[{f1,f2..},{x,xmin,xmax}] 在⼀张图上画⼏条曲线ListPlot[{y1,y2,..}] 绘出由离散点对(n,yn)组成的图ListPlot[{{x1,y1},{x2,y2},..}] 绘出由离散点对(xn,yn)组成的图ParametricPlot[{fx,fy},{t,tmin,tmax}] 由参数⽅程在参数变化范围内的曲线ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,tmax}]在⼀张图上画多条参数曲线选项:PlotRange->{0,1} 作图显⽰的值域范围AspectRatio->1/GoldenRatio⽣成图形的纵横⽐PlotLabel ->label 标题⽂字Axes ->{False,True} 分别制定是否画x,y轴AxesLabel->{xlabel,ylabel}x,y轴上的说明⽂字Ticks->None,Automatic,fun⽤什么⽅式画轴的刻度AxesOrigin ->{x,y} 坐标轴原点位置AxesStyle->{{xstyle}, {ystyle}}设置轴线的线性颜⾊等属性Frame ->True,False 是否画边框FrameLabel ->{xmlabel,ymlabel,xplabel,yplabel}边框四边上的⽂字FrameTicks同Ticks 边框上是否画刻度GridLines 同Ticks 图上是否画栅格线FrameStyle ->{{xmstyle},{ymstyle}设置边框线的线性颜⾊等属性ListPlot[data,PlotJoined->True] 把离散点按顺序连线PlotSytle->{{style1},{style2},..}曲线的线性颜⾊等属性PlotPoints->15 曲线取样点,越⼤越细致三维作图Plot3D[f,{x,xmin,xmax}, {y,ymin,ymax}]⼆维函数f[x,y]的空间曲⾯Plot3D[{f,s}, {x,xmin,xmax}, {y,ymin,ymax}]同上,曲⾯的染⾊由s[x,y]值决定ListPlot3D[array] ⼆维数据阵array的⽴体⾼度图ListPlot3D[array,shades]同上,曲⾯的染⾊由shades[数据]值决定ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax}]⼆元数⽅程在参数变化范围内的曲线ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},...},{t,tmin,tmax}]多条空间参数曲线选项:ViewPoint ->{x,y,z} 三维视点,默认为{1.3,-2.4,2}Boxed -> True,False 是否画三维长⽅体边框BoxRatios->{sx,sy,sz} 三轴⽐例BoxStyle 三维长⽅体边框线性颜⾊等属性Lighting ->True 是否染⾊LightSources->{s1,s2..} si为某⼀个光源si={{dx,dy,dz},color}color为灯⾊,向dx,dy,dz⽅向照射AmbientLight->颜⾊函数慢散射光的光源Mesh->True,False是否画曲⾯上与x,y轴平⾏的截⾯的截线MeshStyle 截线线性颜⾊等属性MeshRange->{{xmin,xmax}, {ymin,ymax}}⽹格范围ClipFill->Automatic,None,color,{bottom,top}指定图形顶部、底部超界后所画的颜⾊Shading ->False,True 是否染⾊HiddenSurface->True,False 略去被遮住不显⽰部分的信息等⾼线ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]⼆维函数f[x,y]在指定区间上的等⾼线图ListContourPlot[array] 根据⼆维数组array数值画等⾼线选项:Contours->n 画n条等⾼线Contours->{z1,z2,..} 在zi处画等⾼线ContourShading -> False 是否⽤深浅染⾊ContourLines -> True 是否画等⾼线ContourStyle -> {{style1},{style2},..}等⾼线线性颜⾊等属性FrameTicks 同上密度图DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}]⼆维函数f[x,y]在指定区间上的密度图ListDensityPlot[array] 同上图形显⽰Show[graphics,options] 显⽰⼀组图形对象,options为选项设置Show[g1,g2...] 在⼀个图上叠加显⽰⼀组图形对象GraphicsArray[{g1,g2,...}]在⼀个图上分块显⽰⼀组图形对象SelectionAnimate[notebook,t]把选中的notebook中的图画循环放映选项:(此处选项适⽤于全部图形函数)Background->颜⾊函数指定绘图的背景颜⾊RotateLabel -> True 竖着写⽂字TextStyle 此后输出⽂字的字体,颜⾊⼤⼩等ColorFunction->Hue等把其作⽤于某点的函数值上决定某点的颜⾊RenderAll->False 是否对遮挡部分也染⾊MaxBend 曲线、曲⾯最⼤弯曲度⼗四、绘图函数(续)图元函数Graphics[prim, options]prim为下⾯各种函数组成的表,表⽰⼀个⼆维图形对象Graphics3D[prim, options]prim为下⾯各种函数组成的表,表⽰⼀个三维图形对象SurfaceGraphics[array, shades]表⽰⼀个由array和shade决定的曲⾯对象ContourGraphics[array]表⽰⼀个由array决定的等⾼线图对象DensityGraphics[array]表⽰⼀个由array决定的密度图对象以上定义图形对象,可以进⾏对变量赋值,合并显⽰等操作,也可以存盘Point[p] p={x,y}或{x,y,z},在指定位置画点Line[{p1,p2,..}]经由pi点连线Rectangle[{xmin, ymin}, {xmax, ymax}] 画矩形Cuboid[{xmin,ymin,zmin},{xmax,ymax,zmax}]由对⾓线指定的长⽅体Polygon[{p1,p2,..}] 封闭多边形Circle[{x,y},r] 画圆Circle[{x,y},{rx,ry}] 画椭圆,rx,ry为半长短轴Circle[{x,y},r,{a1,a2}] 从⾓度a1~a2的圆弧Disk[{x, y}, r] 填充的园、椭圆、圆弧等参数同上Raster[array,ColorFunction->f] 颜⾊栅格Text[expr,coords] 在坐标coords上输出表达式PostScript["string"] 直接⽤PostScript图元语⾔写Scaled[{x,y,..}] 返回点的坐标,且均⼤于0⼩于1颜⾊函数(指定其后绘图的颜⾊)GrayLevel[level] 灰度level为0~1间的实数RGBColor[red, green, blue] RGB颜⾊,均为0~1间的实数Hue[h, s, b] 亮度,饱和度等,均为0~1间的实数CMYKColor[cyan, magenta, yellow, black] CMYK颜⾊其他函数(指定其后绘图的⽅式)Thickness[r] 设置线宽为rPointSize[d] 设置绘点的⼤⼩Dashing[{r1,r2,..}] 虚线⼀个单元的间隔长度ImageSize->{x, y} 显⽰图形⼤⼩(像素为单位)ImageResolution->r 图形解析度r个dpiImageMargins->{{left,right},{bottom,top}}四边的空⽩ImageRotated->False 是否旋转90度显⽰流程控制—————————————————————————————————————⼗五、流程控制分⽀If[condition, t, f] 如果condition为True,执⾏t段,否则f段If[condition, t, f, u] 同上,即⾮True⼜⾮False,则执⾏u段Which[test1,block1,test2,block2..] 执⾏第⼀为True的testi对应的blockiSwitch[expr,form1,block1,form2,block2..]执⾏第⼀个expr所匹配的formi所对应的blocki段循环Do[expr,{imax}] 重复执⾏expr imax次Do[expr,{i,imin,imax}, {j,jmin,jmax},...]多重循环While[test, body] 循环执⾏body直到test为FalseFor[start,test,incr,body]类似于C语⾔中的for,注意","与";"的⽤法相反examp: For[i=1;t =x,i^2<10,i++,t =t+i;Print[t]]异常控制Throw[value] 停⽌计算,把value返回给最近⼀个Catch处理Throw[value, tag] 同上,Catch[expr] 计算expr,遇到Throw返回的值则停⽌Catch[expr, form] 当Throw[value, tag]中Tag匹配form时停⽌其他控制Return[expr] 从函数返回,返回值为exprReturn[ ] 返回值NullBreak[ ] 结束最近的⼀重循环Continue[ ] 停⽌本次循环,进⾏下⼀次循环Goto[tag] ⽆条件转向Label[Tag]处Label[tag] 设置⼀个断点Check[expr,failexpr] 计算expr,如果有出错信息产⽣,则返回failexpr的值Check[expr,failexpr,s1::t1,s2::t2,...]当特定信息产⽣时则返回failexprCheckAbort[expr,failexpr]当产⽣abort信息时放回failexprInterrupt[ ] 中断运⾏Abort[ ] 中断运⾏TimeConstrained[expr,t] 计算expr,当耗时超过t秒时终⽌MemoryConstrained[expr,b]计算expr,当耗⽤内存超过b字节时终⽌运算交互式控制Print[expr1,expr2,...] 顺次输出expri的值examp: Print[ "X=" , X//N , " " ,f[x+1]];Input[ ] 产⽣⼀个输⼊对话框,返回所输⼊任意表达式Input["prompt"] 同上,prompt为对话框的提⽰Pause[n] 运⾏暂停n秒函数编程—————————————————————————————————————⼗六、函数编程(*函数编程是Mathematica中很有特⾊也是最灵活的⼀部分,它充分体现了 *)(*Mathematica的“⼀切都是表达式”的特点,如果你想使你的Mathematica程 *)(*序快于⾼级语⾔,建议你把本部分搞通*)纯函数Function[body]或body& ⼀个纯函数,建⽴了⼀组对应法则,作⽤到后⾯的表达式上Function[x, body] 单⾃变量纯函数Function[{x1,x2,...},body]多⾃变量纯函数#,#n 纯函数的第⼀、第n个⾃变量## 纯函数的所有⾃变量的序列examp: #1^#2& [2,3] 返回第⼀个参数的第⼆个参数次⽅映射Map[f,expr]或f/@expr 将f分别作⽤到expr第⼀层的每⼀个元上得到的列表Map[f,expr,level] 将f分别作⽤到expr第level层的每⼀个元上Apply[f,expr]或f@@expr 将expr的“头”换为fApply[f,expr,level] 将expr第level层的“头”换为fMapAll[f,expr]或f//@expr把f作⽤到expr的每⼀层的每⼀个元上MapAt[f,expr,n] 把f作⽤到expr的第n个元上MapAt[f,expr,{i,j,...}] 把f作⽤到expr[[{i,j,...}]]元上MapIndexed[f,expr] 类似MapAll,但都附加其映射元素的位置列表Scan[f, expr] 按顺序分别将f作⽤于expr的每⼀个元Scan[f,expr,levelspec] 同上,仅作⽤第level层的元素复合映射Nest[f,expr,n] 返回n重复合函数f[f[...f[expr]...]]NestList[f,expr,n] 返回0重到n重复合函数的列表{expr,f[expr],f[f[expr]]..} FixedPoint[f, expr] 将f复合作⽤于expr直到结果不再改变,即找到其不定点FixedPoint[f, expr, n] 最多复合n次,如果不收敛则停⽌FixedPointList[f, expr] 返回各次复合的结果列表FoldList[f,x,{a,b,..}] 返回{x,f[x,a],f[f[x,a],b],..}Fold[f, x, list] 返回FoldList[f,x,{a,b,..}]的最后⼀个元ComposeList[{f1,f2,..},x]返回{x,f1[x],f2[f1[x]],..}的复合函数列表Distribute[f[x1,x2,..]] f对加法的分配率Distribute[expr, g] 对g的分配率Identity[expr] expr的全等变换Composition[f1,f2,..] 组成复合纯函数f1[f2[..fn[ ]..]Operate[p,f[x,y]] 返回p[f][x, y]Through[p[f1,f2][x]] 返回p[f1[x],f2[x]]Compile[{x1,x2,..},expr]编译⼀个函数,编译后运⾏速度可以⼤⼤加快Compile[{{x1,t1},{x2,t2}..},expr] 同上,可以制定函数参数类型⼗七、替换规则lhs->rhs 建⽴了⼀个规则,把lhs换为rhs,并求rhs的值lhs:>rhs 同上,只是不⽴即求rhs的值,知道使⽤该规则时才求值Replace[expr,rules] 把⼀组规则应⽤到expr上,只作⽤⼀次expr /. rules 同上expr //.rules 将规则rules不断作⽤到expr上,直到⽆法作⽤为⽌Dispatch[{lhs1->rhs1,lhs2->rhs2,...}]综合各个规则,产⽣⼀组优化的规则组查询函数、串函数—————————————————————————————————————⼗⼋、查询函数(*查询函数⼀般是检验表达式是否满⾜某些特殊形式,并返回True或False*)(*可以在Mathematica中⽤“?*Q”查询到 *)ArgumentCountQ MatrixQAtomQ MemberQDigitQ NameQEllipticNomeQ NumberQEvenQ NumericQExactNumberQ OddQFreeQ OptionQHypergeometricPFQ OrderedQInexactNumberQ PartitionsQIntegerQ PolynomialQIntervalMemberQ PrimeQInverseEllipticNomeQ SameQLegendreQ StringMatchQLetterQ StringQLinkConnectedQ SyntaxQLinkReadyQ TrueQListQ UnsameQLowerCaseQ UpperCaseQMachineNumberQ ValueQMatchLocalNameQ VectorQMatchQ⼗九、字符串函数"text" ⼀个串,头为_String"s1"<>"s2"<>..或StringJoin["s1","s2",..] 串的连接StringLength["string"] 串长度StringReverse["string"] 串反转StringTake["string", n] 取串的前n个字符的⼦串,参数同Take[]StringDrop["string", n] 参见Drop,串也就是⼀个表StringInsert["string","snew",n] 插⼊,参见Insert[]StringPosition["string", "sub"] 返回⼦串sub在string中起⽌字母位置StringReplace["string",{"s1"->"p1",..}] ⼦串替换StringReplacePart["string", "snew", {m, n}]把string第m~n个字母之间的替换为snewStringToStream["string"] 把串当作⼀个输⼊流赋予⼀个变量Characters["string"] 把串"string"分解为每⼀个字符的表ToCharacterCode["string"] 把串"string"分解为每⼀个字符ASCII值的表FromCharacterCode[n] ToCharacterCode的逆函数FromCharacterCode[{n1,n2,..}]ToCharacterCode的逆函数ToUpperCase[string] 把串的⼤写形式ToLowerCase[string] 把串的⼩写形式CharacterRange["c1","c2"] 给出ASCII吗在c1到c2之间的字符列表ToString[expr] 把表达式变为串的形式ToExpression[input] 把⼀个串变为表达式Names["string"] 与?string同,返回与string同名的变量列表。
第零讲Mathematica软件使用简介一、系统概述Mathematica是美国Wolfram研究公司开发的一个功能强大的计算机数学软件系统,也称为符号计算系统。
Mathematica提供了范围广泛的数学计算功能,支持在各个领域的人们所需要的各种计算。
它是从事各种理论工作(数学、物理、……)的科学工作者、从事实际工作的工程技术人员、以及学校教师和学生的首选计算平台。
Mathematica的主要功能包括三个方面:符号演算、数值计算和图形技术。
例如,它可以做多项式的各种计算(四则计算、展开、因式分解等);求整式方程、有理式方程和的等的精确解和近似解;数值的或一般表达式的向量和矩阵的各种计算;求一般函数表达式的极限、导函数、积分、幂级数展开、求解某些微分方程等;任意位的整数的精确计算、分子分母为任意非零整数的有理数的精确计算(四则计算、乘方等)以及任意位精确度的数值(实数值或复数值)计算。
使用Mathematica还可以非常方便地作出以各种方式表示的一元和二元函数的图形,可以根据需要自由选择画图的范围和精确度。
因此,Mathematica的出现所带来的思维和解题工具的革新必将对各种需要数学计算和绘制函数图形的工作领域产生深远的影响。
Wolfram研究公司自从1988年推出Mathematica系统的1.0 DOS版本以来,历经多次升级和改版,目前已发出For Windows的 5.0版本。
本精品课程主要以Mathematica4.2 for Microsoft Windows版本为例简要介绍该系统的功能及其应用。
1.Mathematica的工作环境Mathematica的运行环境要成功安装并稳定地运行Mathematica for Windows4.2,用户的计算机必须满足以下基本配置条件:·P3或更高型号处理器的个人或多媒体计算机;·Microsoft Windows98、Windows2000、Windows XP或以上版本;·硬盘空间至少200MB,建议1GB以上Mathematica的工作窗口及使用运行Mathematica系统后,将出现下图所示的主窗口:Mathematica4.2的工作窗口有两种类型:笔记本(Notebook)工作窗口和基于文本(Text Based)的工作窗口,这两个工作窗口分别由Mathematica提供的两个基本组成系统――输入输出控制系统(Front End系统)和内核系统(Kernel系统)所包含的交互接口来实现。
Mathematica 软件使用简介Mathematica 是一个功能强大的常用数学软件, 它是由美国物理学家Stephen Wolfram领导的Wolfram Research公司用C语言开发的数学系统软件。
不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。
这里介绍的命令可以适用于Windows操作系统的Mathematica2.2以上版本运行。
一、Mathematica 的进入/退出如果你的计算机已经安装了Mathematica 软件, 系统会在Windows【开始】菜单的【程序】子菜单中加入启动Mathematica命令的图标:图1.1 启动Mathematica用鼠标单击它就可以启动Mathematica系统进入Mathematica系统工作界面:图1.2 Mathematica2.2工作界面图图1.3 Mathematica4.0工作界面图Mathematica系统工作界面是基于Windows 环境下的Mathematica 函数或程序运行与结果显示的图形用户接口, 是Mathematica的工作屏幕。
界面上方的主菜单和工具条的功能类似于Windows中的Word软件。
其中的空白位置称为Notebook用户区, 在这里可以输入文本、实际的Mathematica命令和程序等来达到使用Mathematica的目的。
在用户区输入的内容被 Mathematica用一个具有扩展名为“.ma” (Mathematica2.2)或“.mb”(Mathematica4.0)在的文件名来纪录,该文件名是退出Mathematica时保存在用户区输入内容的默认文件名,一般是文件名:“Newnb-1.ma”或“Newnb-1.mb”。
退出Mathematica系统像关闭一个Word文件一样, 只要用鼠标点击Mathematica系统集成界面右上角的关闭按钮即可。
关闭前, 屏幕会出现一个对话框, 询问是否保存用户区的内容, 如果单击对话框的“否(N)”按钮, 则关闭Notebook窗口, 退出Mathematica系统; 如果单击对话框的“是(Y)”按钮, 则先提示你用一个具有扩展名为 .ma或.mb的文件名来保存用户区内的内容, 再退出Mathematica系统。
MotionPro使用方法简介MotionPro是一款功能强大的运动分析软件,可用于分析和处理各种运动数据。
它提供了丰富的功能和工具,可以帮助用户深入了解运动的细节,并提供准确的数据分析和可视化。
本文将介绍MotionPro的使用方法,包括安装、界面概览、数据导入、数据分析和可视化等方面的内容。
希望通过本文的介绍,能够帮助用户更好地使用MotionPro进行运动数据分析。
安装MotionPro可以在官方网站上免费下载安装。
请确保您的计算机系统满足软件的最低配置要求,并按照安装向导一步步进行安装。
安装完成后,您可以在桌面或开始菜单中找到MotionPro的快捷方式。
双击快捷方式即可启动软件。
界面概览MotionPro的界面分为几个主要部分,包括菜单栏、工具栏、数据视图、图表视图等。
下面将对每个部分进行简要介绍:1.菜单栏:位于软件顶部,包含各种功能和操作选项。
通过菜单栏可以访问软件的各种功能和设置。
2.工具栏:位于菜单栏下方,包含一些常用工具和快捷按钮。
可以通过工具栏快速访问常用功能。
3.数据视图:位于软件左侧,用于显示导入的数据文件。
可以在数据视图中选择要分析的数据文件。
4.图表视图:位于软件右侧,用于显示数据的图表和可视化结果。
可以在图表视图中查看和分析数据。
数据导入在MotionPro中,可以导入各种类型的数据文件,包括CSV、Excel、文本文件等。
下面将介绍如何导入数据文件:1.点击菜单栏中的“文件”选项,选择“导入数据”。
2.在弹出的对话框中,选择要导入的数据文件,并点击“打开”按钮。
3.在导入设置中,选择适当的数据类型和导入选项,并点击“导入”按钮。
导入完成后,数据文件将显示在数据视图中,您可以在数据视图中选择要分析的数据文件。
数据分析MotionPro提供了多种数据分析工具和功能,可以帮助用户深入了解运动的细节。
下面将介绍一些常用的数据分析方法:1.运动轨迹分析:MotionPro可以对运动轨迹进行分析,包括位置、速度、加速度等方面的数据。
Mathematica数学软件操作技巧及界面详解Mathematica是一款十分强大的数学计算软件,它可以广泛应用于科学、工程和教育等领域。
本文将介绍一些Mathematica的操作技巧,并详细解析其界面设计。
一、Mathematica的基本操作技巧1. 输入和计算Mathematica的主界面提供了一个输入框,我们可以在其中输入各种数学表达式和计算公式。
输入时需要遵循一定的语法规则,比如使用^表示乘方,使用*表示乘法,使用/表示除法等。
在输入完毕后,按下Enter键即可进行计算。
2. 变量定义和赋值在Mathematica中,我们可以使用等号(=)来定义和赋值变量。
比如,我们可以输入"radius = 5"来定义一个名为radius的变量,并将其赋值为5。
之后,我们可以直接使用radius来进行计算。
3. 函数调用Mathematica内置了许多数学函数,比如sin、cos、log等。
我们可以使用这些函数来进行各种数学运算。
调用函数时需要在函数名后加上待计算的参数,比如"sin(0.5)"可以计算出0.5的正弦值。
二、Mathematica的界面详解1. 顶部菜单栏Mathematica的顶部菜单栏包含了许多功能按钮,我们可以通过点击这些按钮来执行相应的操作,比如打开文件、保存文件、进行图像绘制等。
2. 工具栏在Mathematica的工具栏上,我们可以找到常用的绘图工具、格式调整工具和计算选项卡等。
这些工具可以帮助我们更加方便地进行数学计算和图形绘制。
3. 文档窗口Mathematica的文档窗口是我们进行数学计算和编写代码的主要区域。
我们可以在文档窗口中输入数学表达式、编写代码,并且可以将计算结果直接显示在文档窗口中。
4. 侧边栏在Mathematica的侧边栏上,我们可以找到各种各样的面板和选项卡。
这些面板和选项卡提供了对Mathematica的进一步设置和功能扩展,比如图形面板、数据面板和设置面板等。
Mathematica教程M athematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。
假设在Windows环境下已安装好Mathematica4.0,启动Windows后,在“开始”菜单的“程序”中单击,就启动了Mathematica4.0,在屏幕上显示如图的Notebook窗口,系统暂时取名Untitled-1,直到用户保存时重新命名为止输入1+1,然后按下Shif+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1],注意In[1]是计算后才出现的;再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统分别将其标识为In[2]和Out[2].如图在Mathematica的Notebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C那样的结构化程序。
在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以取到事半功倍的效果。
这些函数分为两类,一类是数学意义上的函数,如:绝对值函数Abs[x],正弦函数Sin[x],余弦函数Cos[x],以e为底的对数函数Log[x],以a为底的对数函数Log[a,x]等;第二类是命令意义上的函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等。
必须注意的是:如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],则系统提示“可能有拼写错误,新符号‘plot’ 很像已经存在的符号‘Plot’”,实际上,系统作图命令“Plot”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。
Mathematica 使用教程一、要点●Mathematica 是一个敏感的软件. 所有的Mathematica 函数都以大写字母开头; ●圆括号<>,花括号{ },方括号[]都有特殊用途, 应特别注意; ●句号".",分号";",逗号","感叹号"!"等都有特殊用途, 应特别注意; ● 用主键盘区的组合键Shfit+Enter 或数字键盘中的Enter 键执行命令.二、介绍案例1. 输入与输出例1 计算 1+1:在打开的命令窗口中输入1+2+3并按组合键Shfit+Enter 执行上述命令,则屏幕上将显示:In[1] : =1+2+3Out[1] =6这里In[1] : = 表示第一个输入,Out[1]= 表示第一个输出,即计算结果.2. 数学常数Pi 表示圆周率π; E 表示无理数e; I 表示虚数单位i ;Degree 表示π/180; Infinity 表示无穷大.注:Pi,Degree,Infinity 的第一个字母必须大写,其后面的字母必须小写.3. 算术运算Mathematica 中用"+"、"-"、"*"、"/" 和"^"分别表示算术运算中的加、减、乘、除和乘方.例2计算 π⋅⎪⎭⎫ ⎝⎛⋅+⎪⎭⎫ ⎝⎛⋅--213121494891100. 输入 100^<1/4>*<1/9>^<-1/2>+8^<-1/3>*<4/9>^<1/2>*Pi 则输出 3103π+ 这是准确值. 如果要求近似值,再输入N[%]则输出 10.543这里%表示上一次输出的结果,命令N[%]表示对上一次的结果取近似值. 还用 %% 表示上上次输出的结果,用 %6表示Out[6]的输出结果.注:关于乘号*,Mathematica 常用空格来代替. 例如,x y z 则表示x*y*z,而xyz 表示字符串,Mathematica 将它理解为一个变量名. 常数与字符之间的乘号或空格可以省略.4. 代数运算例3分解因式 232++x x输入 Factor[x^2+3x+2]输出 )x 2)(x 1(++例4展开因式 )2)(1(x x ++输入 Expand[<1+x><2+x>]输出 2x x 32++例5通分 3122+++x x 输入 Together[1/<x+3>+2/<x+2>]输出)x 3)(x 2(x 38+++ 例6将表达式 )3)(2(38x x x +++ 展开成部分分式 输入 Apart[<8+3x>/<<2+x><3+x>>]输出 3x 12x 2+++ 例7化简表达式 )3)(1()2)(1(x x x x +++++输入 Simplify[<1+x><2+x>+<1+x><3+x>]输出 2x 2x 75++三、部分函数1. 部函数Mathematica 系统部定义了许多函数,并且常用英文全名作为函数名,所有函数名的第一个字母都必须大写,后面的字母必须小写. 当函数名是由两个单词组成时,每个单词的第一个字母都 必须大写,其余的字母必须小写. Mathematica 函数<命令>的基本格式为函数名[表达式,选项]下面列举了一些常用函数: 算术平方根x Sqrt[x]指数函数x e Exp[x]对数函数x a log Log[a,x]对数函数x ln Log[x]三角函数 Sin[x], Cos[x], Tan[x], Cot[x], Sec[x], Csc[x]反三角函数ArcSin[x], ArcCos[x], ArcTan[x],ArcCot[x], AsrcSec[x], ArcCsc[x]双曲函数 Sinh[x], Cosh[x], Tanh[x],反双曲函数 ArcSinh[x], ArcCosh[x], ArcTanh[x]四舍五入函数 Round[x] <*取最接近x 的整数*>取整函数 Floor[x] <*取不超过x 的最大整数*>取模 Mod[m,n] <*求m/n 的模*>取绝对值函数 Abs[x]n 的阶乘 n!符号函数 Sign[x]取近似值 N[x,n] <*取x 的有n 位有效数字的近似值,当n 缺省时,n 的默认值为6*>例8求π的有6位和20位有效数字的近似值.输入 N[Pi] 输出 3.14159输入 N[Pi, 20] 输出 3.85注:第一个输入语句也常用另一种形式:输入 Pi//N 输出 3.14159例9计算函数值 <1> 输入 Sin[Pi/3] 输出23 <2> 输入 ArcSin[.45] 输出 0.466765<3> 输入 Round[-1.52] 输出 -2例10计算表达式 )6.0arctan(226sin 2ln 1132+-+-e π 的值 输入 1/<1+Log[2]>*Sin[Pi/6]-Exp[-2]/<2+2^<2/3>>*ArcTan[.6]输出 0.2749212. 自定义函数在Mathematica 系统,由字母开头的字母数字串都可用作变量名,但要注意其中不能包含空格或标点符号.变量的赋值有两种方式. 立即赋值运算符是"=",延迟赋值运算符是": =". 定义函数使用的符号是延迟赋值运算符": =".例11定义函数 12)(23++=x x x f ,并计算)2(f ,)4(f ,)6(f .输入Clear[f,x]; <*清除对变量f 原先的赋值*>f[x_]:=x^3+2*x^2+1; <*定义函数的表达式*>f[2] <*求)2(f 的值*>f[x]/.{x->4} <*求)4(f 的值,另一种方法*>x=6; <*给变量x 立即赋值6*>f[x] <*求)6(f 的值,又一种方法*>输出1797289注:本例1、2、5行的结尾有";",它表示这些语句的输出结果不在屏幕上显示.四、解方程在Mathematica 系统,方程中的等号用符号"=="表示. 最基本的求解方程的命令为Solve[eqns, vars]它表示对系数按常规约定求出方程<组>的全部解,其中eqns 表示方程<组>,vars 表示所求未知变量.例12解方程0232=++x x输入 Solve[x^2+3x+2==0, x]输出 }}1x {},2x {{-→-→例13解方程组 ⎩⎨⎧=+=+10dy cx by ax 输入 Solve[{ax + b y == 0,cx + dy ==1}, {x,y}]输出 ⎭⎬⎫⎩⎨⎧⎭⎬⎫⎩⎨⎧+-→-→ad bc a y ,ad bc b x 例14解无理方程a x x =++-11输入 Solve[Sqrt[x-1]+ Sqrt[x+1] == a, x]输出 ⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧+→24a 4a 4x 很多方程是根本不能求出准确解的,此时应转而求其近似解. 求方程的近似解的方法有两种,一种是在方程组的系数中使用小数,这样所求的解即为方程的近似解;另一种是利用下列专门用于求方程<组>数值解的命令:NSolve[eqns, vars] <*求代数方程<组>的全部数值解*>FindRoot[eqns, {x, x0}, {y, y0} ,]后一个命令表示从点),,(00 y x 出发找方程<组>的一个近似解,这时常常需要利用图像法先大致确定所求根的围,是大致在什么点的附近.例15求方程013=-x 的近似解输入 NSolve[x^3-1== 0, x]输出 {{→x i},{→x -0.5+0.866025ii},{→x 1.}}输入 FindRoot[x^3-1==0,{x, .5}]输出 {→x 1.}下面再介绍一个很有用的命令:Eliminate[eqns, elims] <*从一组等式中消去变量<组>elims*>例16从方程组 ⎪⎩⎪⎨⎧=+=-+-+=++11)1()1(1222222y x z y x z y x 消去未知数y 、z .输入Eliminate[{x^2+y^2+z^2==1,x^2+<y-1>^2+<z-1>^2 ==1, x + y== 1},{y, z}]输出 0x 3x 22==+-注:上面这个输入语句为多行语句,它可以像上面例子中那样在行尾处有逗号的地方将行与行隔开, 来迫使Mathematica 从前一行继续到下一行在执行该语句. 有时候多行语句的意义不太明 确,通常发生在其中有一行本身就是可执行的语句的情形,此时可在该行尾放一个继续的记号"\", 来迫使Mathematica 继续到下一行再执行该语句.五、保存与退出Mathematica 很容易保存Notebook 中显示的容,打开位于窗口第一行的File 菜单,点击Save后得到保存文件时的对话框,按要求操作后即可把所要的容存为 *.nb 文件. 如果只想保存全部输入的命令,而不想保存全部输出结果,则可以打开下拉式菜单Kernel,选中Delete All Output,然后 再执行保存命令. 而退出Mathematica 与退出Word 的操作是一样的.六、查询与帮助查询某个函数<命令>的基本功能,键入"?函数名",想要了解更多一些,键入"??函数名",例如,输入?Plot则输出Plot[f,{x,xmin,xmax}] generates a plot of f as a functionof x from xmin to xmax. Plot[{f1,f2,…},{x,xmin,xmax}] plots several functions fi它告诉了我们关于绘图命令"Plot"的基本使用方法.例17 在区间]1,1[-上作出抛物线2x y =的图形.输入 Plot[x^2,{x,-1,1}]则输出例18 在区间]2,0[π上作出x y sin =与x y cos =的图形.输入 Plot[{Sin[x],Cos[x]},{x,0,2Pi}]则输出如果输入??Plot则Mathematica会输出关于这个命令的选项的详细说明,请读者试之.此外,Mathematica的Help菜单中提供了大量的帮助信息,其中Help菜单中的第一项Help Browser<帮助游览器>是常用的查询工具,读者若想了解更多的使用信息,则应自己通过Help菜单去学习.编辑本段Mathematica 基本运算a+mathematica数学实验<第2版>b+c 加a-b 减a b c 或a*b*c 乘a/b 除-a 负号a^b 次方Mathematica 数字的形式256 整数2.56 实数11/35 分数2+6I 复数常用的数学常数Pi 圆周率,π=3.141592654…E 尤拉常数,e=2.71828182…Degree 角度转换弧度的常数,Pi/180I 虚数,其值为√-1Infinity 无限大指定之前计算结果的方法% 前一个运算结果%% 前二个运算结果%%…%<n个%> 前n个运算结果%n 或Out[n] 前n个运算结果复数的运算指令a+bI 复数Conjugate[a+bI] 共轭复数Re[z], Im[z] 复数z的实数/虚数部分Abs[z] 复数z的大小或模数<Modulus>Arg[z] 复数z的幅角<Argument>Mathematica 输出的控制指令expr1; expr2; expr3 做数个运算,但只印出最後一个运算的结果expr1; expr2; expr3; 做数个运算,但都不印出结果expr; 做运算,但不印出结果编辑本段常用数学函数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的值设为ax=y=b 将变数x和y的值均设为bx=. 或Clear[x] 除去变数x所存的值变数使用的一些法则xy 中间没有空格,视为变数xyx y x乘上y3x 3乘上xx3 变数x3x^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] 把分子和分母共同的因子消去编辑本段分母/分子的运算Denominator[expr] 取出expr的分母Numerator[expr] 取出expr的分子ExpandDenominator[expr] 展开expr的分母ExpandNumerator[expr] 展开expr的分子编辑本段多项式的另二种转换函数Collect[expr,x] 将expr表示成x的多项式,如Collect[expr,{x,y,…}] 将expr分别表示成x,y,…的多项式FactorTerms[expr] 将expr的数值因子提出,如4x+2=2<2x+1>FactorTerms[expr,x] 将expr中把所有不包含x项的因子提出FactorTerms[expr,{x,y,…}] 将expr中把所有不包含{x,y,...}项的因子提出编辑本段三角函数、双曲函数和指数的运算TrigExpand[expr] 将三角函数展开TrigFactor[expr] 将三角函数所组成的数学式因式分解TrigReduce[expr] 将相乘或次方的三角函数化成一次方的基本三角函数之组合ExpToTrig[expr] 将指数函数化成三角函数或双曲函数TrigToExp[expr] 将三角函数或双曲函数化成指数函数复数、次方乘积之展开ComplexExpand[expr] 假设所有的变数都是实数来对expr展开ComplexExpand[expr,{x,y,…}] 假设x,y,..等变数均为复数来对expr展开PowerExpand[expr] 将多项式项次、系数与最高次方之取得Coefficient[expr,form] 於expr中form的系数Exponent[expr,form] 於expr中form的最高次方Part[expr,n] 或expr[[n]] 在expr项中第n个项代换运算子expr/.x->value 将expr里所有的x均代换成valueexpr/.{x->value1,y->value2,…} 执行数个不同变数的代换expr/.{{x->value1},{x->value2},…} 将expr代入不同的x值expr//.{x->value1,y->value2,…} 重复代换到expr不再改变为止求解方程式的根Solve[lhs==rhs,x] 解方程式lhs==rhs,求xNsolve[lhs==rhs,x] 解方程式lhs==rhs的数值解Solve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解联立方程式,求x,y,…NSolve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解联立方程式的数值解FindRoot[lhs==rhs,{x,x0}] 由初始点x0求lhs==rhs的根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个元素缩短Mathematica输出的指令expr//Short 显示一行的计算结果Short[expr,n] 显示n行的计算结果Command; 执行command,但不列出结果查询Mathematica的物件?Command 查询Command的语法及说明??Command 查询Command的语法和属性及选择项?Aaaa* 查询所有开头为Aaaa的物件函数的定义、查询与清除f[x_]= expr 立即定义函数f[x]f[x_]:= expr 延迟定义函数f[x]f[x_,y_,…] 函数f有两个以上的引数?f 查询函数f的定义Clear[f] 或f=. 清除f的定义Remove[f] 将f自系统中清除掉含有预设值的Patterna_+b_. b的预设值为0,即若b从缺,则b以0代替x_ y_ y的预设值为1x_^y_ y的预设值为1条件式的自订函数lhs:=rhs/;condition 当condition成立时,lhs才会定义成rhsIf指令If[test,then,else] 若test为真,则回应then,否则回应elseIf[test,then,else,unknow] 同上,若test无法判定真或假时,则回应unknow 极限Limit[expr,x->c] 当x趋近c时,求expr的极限Limit[expr,x->c,Direction->1]Limit[expr,x->c,Direction->-1]微分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的函数全微分Dt[f] 全微分dfDt[f,x] 全微分Dt[f,x1,x2,…] 全微分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}] 定积分数列之和与积Sum[f,{i,imin,imax}] 求和Sum[f,{i,imin,imax,di}] 求数列和,引数i以di递增Sum[f,{i,imin,imax},{j,jmin,jmax}]Product[f,{i,imin,imax}] 求积Product[f,{i,imin,imax,di}] 求数列之积,引数i以di递增Product[f,{i,imin,imax},{j,jmin,jmax}]函数之泰勒展开式Series[expr,{x,x0,n}] 对expr於x0点作泰勒级数展开至<x-x0>n项Series[expr,{x,x0,m},{y,y0,n}] 对x0和y0展开关系运算子a==b 等於a>b 大於a>=b 大於等於a<b 小於a<=b 小於等於a!=b 不等於逻辑运算子!p notp||q||… orp&&q&&… andXor[p,q,…] exclusive orLogicalExpand[expr] 将逻辑表示式展开基本二维绘图指令Plot[f,{x,xmin,xmax}]画出f在xmin到xmax之间的图形Plot[{f1,f2,…},{x,xmin,xmax}]同时画出数个函数图形Plot[f,{x,xmin,xmax},option->value]指定特殊的绘图选项,画出函数f的图形Plot[]几种常用选项的指令选项预设值说明AspectRatio 1/GoldenRatio 图形高和宽之比例,高/宽Axes True 是否把坐标轴画出AxesLabel Automatic 为坐标轴贴上标记,若设定为AxesLabel->{?ylabel?},则为y轴之标记。
motion 教程"Motion" 是一个多功能的图形动画软件,可以创建各种精美的动画效果。
本教程将指导您如何使用Motion来制作出令人惊叹的动画作品。
第一步是熟悉Motion的界面。
Motion的界面由几个主要的窗口组成,包括工作区、图层库、时间轴和检查器。
工作区是您编辑和预览动画的主要区域。
图层库是存储您的素材和图层的位置。
时间轴用于控制动画的时间轴和关键帧。
检查器窗口是调整和设置图层属性和效果的位置。
接下来,让我们使用Motion的内置工具来创建一个简单的动画。
在工作区中,您可以通过拖放文件到画布上来导入图像或视频素材。
选择图像素材后,您可以使用工具栏上的工具进行调整。
例如,您可以使用选择工具来移动和调整图层的位置和大小。
您还可以使用画笔工具来绘制和编辑图层。
一旦您导入了素材并调整了它们的位置,您可以使用时间轴来创建动画。
在时间轴上,您可以添加关键帧来确定图层的动画位置和属性。
通过在不同的时间点添加关键帧,可以创建出平滑和逼真的动画效果。
您还可以使用时间轴控制图层的透明度、旋转和缩放等属性。
Motion还提供了许多特效和过渡效果,可以应用于图层。
在检查器窗口中,可以找到各种特效选项。
比如,您可以添加模糊效果、颜色校正和光线效果等。
通过调整这些效果的参数,您可以创建出独特和吸引人的动画效果。
另一个重要的功能是Motion的粒子系统。
使用粒子系统,您可以创建出炫酷的粒子效果,比如火焰、水柱和烟雾等。
调整粒子系统的属性和行为,可以使粒子效果逼真而令人惊叹。
在创建动画时,还可以使用遮罩和蒙版来控制图层的可见性和透明度。
通过添加遮罩,您可以只显示图层的某个区域,并隐藏其他区域。
蒙版则可以用于创建出梦幻和艺术效果。
最后,当您完成了动画的制作,可以将其导出为视频文件或使用Apple的Compressor软件进行压缩和编码。
您还可以将动画直接导出到Final Cut Pro或其他编辑软件中进行进一步的制作。
探讨利用mathmatic 动画演示功能解决实际问题简介:mathmatic 动画演示功能是mathmatic 软件很重要的一种应用与实际活动,运动问题的更能之一,可以利用编程解决一些,路径不定,速度不定的复杂相遇问题或轨道讨论,它的原理是:利用一串图形连续播放,客观地反映相互轨迹的交互关系,从而达到讨论、解决实际问题的目的。
关键词:mathmatic ,动画演示,追逐问题,正文:一. 问题的提出(1)、追逐问题问题提出:正方形的四个顶点各有一人.在某一时刻,四人同时出发以匀速v 按顺时针方向追赶下一个人. 如果他们始终保持对准目标,试求出每个人的行进路线.要求:结合实际问题,建立一个数学模型。
(2)、追击问题问题提出:一个慢跑者在平面上沿曲线 以恒定的速率v=2跑步,起点为(5,0),方向为逆时针。
这时有一只狗从原点出发,以恒定速率w =3跑向慢跑者,狗的运动方向始终指向慢跑者。
给出用计算机仿真这个追逐过程的主要步骤。
要求:结合实际问题,建立一个数学模型。
二. 问题的分析1、 对问题(1),分析如下:建立平面直角坐标系xoy ,取时间间隔为Δt, 在Δt 间隔中,每个人都沿2225x y +=直线行进, 计算每个人在一时刻t 的下一时刻t+Δt 的位置(坐标).设甲追逐乙,t 时刻甲的坐标为(xa ,ya),乙的坐标为(xb ,yb),则甲在t+Δt 的坐标为(xa+v Δt*cos α,ya+v Δt*sin α),其中由此得到这一问题的算法为:a) 赋初值:采样间隔Δt,行进速度v,及各点起始位置,终止时刻t;b) 确定循环次数n(Δt 的个数);c) i=1,2,3,4(人的编号)循环计算: j=1,2,3,…,n 循环计算:则有:d )分别连接四人各自对应时刻的对应点成一折线, 并将它们画在同一图中即四人的行进轨迹.2、 对问题(2),分析如下:建立平面直角坐标系xoy, 取时间间隔为dt, 在dt 间隔中狗沿直线行进,计算慢跑者和狗在一时刻t 的下一时刻t+dt 的位置坐标。
velocity math用法Velocity Math是一种数学软件,它提供了一些数学运算和图形操作的工具。
下面将详细介绍Velocity Math的用法。
一、安装Velocity Math首先需要下载Velocity Math的安装程序并安装到计算机上。
安装过程非常简单,只需按照提示步骤进行即可。
二、使用Velocity Math进行基本数学运算Velocity Math的基本数学运算功能包括加法、减法、乘法和除法等。
下面举例说明:1. 加法运算在Velocity Math中进行加法运算,只需输入两个数,然后在加号前面和后面添加相应的数字,最终的结果会自动计算。
例如:输入2 + 3,得到的结果是5。
2. 减法运算在Velocity Math中进行减法运算,只需输入两个数,然后在减号前面和后面添加相应的数字,最终的结果会自动计算。
例如:输入3 - 2,得到的结果是1。
3. 乘法运算在Velocity Math中进行乘法运算,只需输入两个数,然后在乘号前面和后面添加相应的数字,最终的结果会自动计算。
例如:输入2 * 3,得到的结果是6。
4. 除法运算在Velocity Math中进行除法运算,只需输入两个数,然后在除号前面和后面添加相应的数字,最终的结果会自动计算。
例如:输入6 / 2,得到的结果是3。
三、使用Velocity Math进行图形操作Velocity Math还提供了一些图形操作的功能,例如绘制基本图形、旋转和缩放等。
下面举例说明:1. 绘制基本图形在Velocity Math中绘制基本图形,只需选择绘图工具,然后按照提示操作即可。
例如:选择矩形绘图工具,然后输入矩形的宽度、高度和位置,最终就可以绘制出一个矩形。
2. 旋转图形在Velocity Math中旋转图形,只需选择旋转工具,然后按照提示操作即可。
例如:选择旋转工具,然后输入旋转角度,最终就可以将图形旋转指定的角度。
3. 缩放图形在Velocity Math中缩放图形,只需选择缩放工具,然后按照提示操作即可。
【原创教程】motion math的使用方法和应用
在AE中,其实motion math是个很有用的东东,只是我们很少用罢了,因为大家一般都习惯了大部分的手动关键帧设置,而motion math 则可以利用教本预先制作好图层的动作,然后再把它制作成关键帧。
然而在大多数AE用户中,熟悉脚本的人不太多,但AE自身已经预先制作好了一些脚本,在需要的时候,只要略加修改设置值,就可以轻松应用了。
当然要怎样才能提高效率,用它作出好的东西来,就看自己的探索能力了
首先我们先来看看motion math 的一个算的上是初次体验吧~~
建好一个comp后,再随便建两个层,颜色,大小自己设定,如下图:
选择第二个层作个简单的position动画,然后选择Animation>Keyframe>Motion Ma th
如下图
具体设置如下:(其中要载入(load)脚本,这里我们选择copyvalu.mm)
最后按下apply即可:这时在solid2层的Rotation上自动出现了许多关键帧:(预演一下发现solid1沿路径运动的同时,solid2在原处自身旋转~~~
下面是用了frmeffect.mm脚本的效果,发现这次灰色层跟着白色层一起沿路径运动了,有点跟踪的味道吧~~呵呵~~~
接下来再简单介绍一下Motion Math中的一些脚本的功能
frneffect.mm
从一个图层的effect point开始复制值,然后与scale_factor进行运算,这个值可以作为其他图层的position值来使用;
blink.mm
可以变化图层的不透明属性,改变百分比,从而调节不透明度的范围,也可以控制闪回的速度。
cmpaud.mm
再合成素材上的所有图层中,复制音量的大小,然后与scale_factor进行运算。
这样制作出来的值,可以应用在用户设定的新属性上。
copyvalu.mm
这是最常用的motin math。
在一个图层中复制设定好的属性值,然后与scale_factor进行
运算,并把结果应用到第二个图层的属性上。
***pring.mm
可以制作出两个图层好像被弹簧连接在一起而形成的动作。
在应用motion math之前,应先利用关键帧在position上制作出动作。
layeraud.mm
复制某个图层的音量大小,再与scale_factor进行运算,并将结果应用在其他图层的
指定属性上。
其余的就不一一介绍了,大家参考一下相关书籍即可。
下面我们要来看看一个具体的实例:用Motion Math使得物体随着导入的音乐文件的音乐节奏运动.
先建好comp和一个solid 层,对solid层加一个path text文字特效,设置些随机的参数,
同时导入一个音频文件进来,如下图:
再选择solid(text)层进入Motion Math的设置面板,在layer设置的2中选择音频层,而
在一中选择solid(text)层,并在其后的所要应用的属性中选择一个position,意思是说音频的节奏将会影响到solid层的position,导致position随音频动画~~~,如下图:
光是这样设置好了还不行,因为我们还没有应用脚本,点下左下脚的load钮,这里我们要选择一个layer audio remap.mm,打开它,然后在program text窗口下设置position的min 和max ,如图所示,最后点击apply
:
再同样的道理选择solid层的其他一些属性,并修改min和max的值,再apply后建立一系列关键帧,如图:
下面看看完成后动画:发现在音乐节奏强的地方,文字出现了节奏感:。