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

合集下载

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 复数常用的数学常数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]ArcS inh[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[exp r,{x,y,…}] 将 expr中把所有不包含{x,y,...}项的因子提出函数和指数运算TrigExpand[expr] 将三角函数展开TrigFactor[expr] 将三角函数所组成的数学式因式分解TrigReduce[expr] 将相乘或次方的三角函数化成一次方的基本三角函数之组合ExpT oTrig[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的根四种括号(term) 圆括号,括号内的term先计算f[x] 方括号,内放函数的引数{x,y,z} 大括号或串列括号,内放串列的元素p[[i ]] 或 Part[p,i] 双方括号,p的第i项元素p[[i,j]] 或 Part[p,i,j] p的第i项第j个元素缩短输出指令expr//Short 显示一行的计算结果Short[expr,n] 显示n行的计算结果Command; 执行command,但不列出结果查询物件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才会定义成rhs If指令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 大于等于aa<=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轴之标记。

整理mathematica数学常用命令大全

整理mathematica数学常用命令大全

整理mathematica数学常⽤命令⼤全Mathematica的内部常数Mathematica的常⽤内部数学函数Mathematica中的数学运算符Mathematica的关系运算符注:上⾯的关系运算符也可从基本输⼊⼯具栏输⼊。

如何⽤mathematica求多项式的最⼤公因式和最⼩公倍式如何⽤mathematica求整数的最⼤公约数和最⼩公倍数如何⽤mathematica进⾏整数的质因数分解如何⽤mathematica求整数的正约数如何⽤mathematica判断⼀个整数是否为质数如何⽤mathematica求第n个质数如何⽤mathematica求阶乘如何⽤mathematica配⽅Mathematica没有提供专门的配⽅命令,但是我们可以⾮常轻松地⾃定义⼀个函数进⾏配⽅。

如何⽤mathematica进⾏多项式运算如何⽤mathematica进⾏分式运算如何⽤Mathematica进⾏因式分解如何⽤Mathematica展开如何⽤Mathematica进⾏化简如何⽤Mathematica合并同类项如何⽤Mathematica进⾏数学式的转换如何⽤Mathematica进⾏变量替换如何⽤mathematica进⾏复数运算如何在mathematica中表⽰集合与数学中表⽰集合的⽅法相同,格式如下:下列命令可以⽣成特殊的集合:如何⽤Mathematica求集合的交集、并集、差集和补集如何mathematica⽤排序如何在Mathematica中解⽅程注:⽅程的等号必须⽤:= =如何在Mathematica中解⽅程组Solve[{⽅程组},{变元组}]注:⽅程的等号必须⽤:= =如何在Mathematica中解不等式先加载:Algebra`InequalitySolve` ,加载⽅法为:<然后执⾏解不等式的命令InequalitySolve,此命令的使⽤格式如下:<--mstheme-->如何在Mathematica中解不等式组先加载:Algebra`InequalitySolve` ,加载⽅法为:<然后执⾏解不等式组的命令InequalitySolve,此命令的使⽤格式如下:<--mstheme-->如何在Mathematica中解不等式组先加载:Algebra`InequalitySolve` ,加载⽅法为:<<--mstheme-->如何⽤mathematica表⽰分段函数如何⽤mathematica求反函数对系统内部的函数⽣效,但对⾃定义的函数不起任何作⽤,也许是⽅法不对。

Mathematica中初等代数与线性代数使用

Mathematica中初等代数与线性代数使用


U[[i,j]]

矩阵U的第i行、第j列元素
U[[i]]、U[[i,All]


U的第i行n个元素
U的第j列元素 由行{i1,i2,…ip}和列{j1,j2,…jq}组成的子矩阵
U[[All,j]]


U[[{i1,i2,…ip]},{j1,j2,…jq}]]

U[[Range[{i0,i1}],[Range[{j0,j1}]]

A的全部(准确解、数值解)的特征向量

Eigensystem[A] Eigensystem[N[A]]

A的所有(准确解、数值解)的特征值和特征向量
06年建模B题
z = Import["f:\\z1.txt", "Table"]; s0 = s1 = s2 = s3 = s4 = 0; n0 = n1 = n2 = n3 = n4 = 0; For[i = 1, i <= Length[z], i++, If[z[[i, 2]] == 0 || z[[i, 2]] == 1, s0 = s0 + z[[i, 3]]; n0++]; If[z[[i, 2]] >= 2 && z[[i, 2]] <= 6, s1 = s1 + z[[i, 3]]; n1++]; If[z[[i, 2]] >= 7 && z[[i, 2]] <= 13, s2 = s2 + z[[i, 3]]; n2++]; If[z[[i, 2]] >= 14 && z[[i, 2]] <= 32, s3 = s3 + z[[i, 3]]; n3++]; If[z[[i, 2]] >= 33 && z[[i, 2]] <= 45, s4 = s4 + z[[i, 3]]; n4++]; ] t = {{0, s0*1./n0}, {4, s1*1./n1}, {8, s2/n2}, {24, s3/n3}, {40, s4/n4}}

Mathematica教程用Mathematica求解线性代数基本问题

Mathematica教程用Mathematica求解线性代数基本问题

Module[{x,y,...},body] Module[{x=x0,y=y0,…},body] lhs:=Module[vars,rhs/:cond] Block[{x,y,... },body] Block[{x=x0,y=y0,…},bddy]
具有局部变量x,y… 的模块
具有初始值的局部变 量的模块 rhs和cond共享局部 变量 运用局部值x,y, …计 算body 给x,y,..赋初始值
Do循环结构
Do[expr,{i,imax}] 循环计算expr,以步长1,i从 1增加到imax
循环计算expr,以步长di,i Do[expr,{i,imin,imax,di}] 从imin增加到imax Do[expr,{n}] 循环计算expr n次



键入
t0={{1,2,3},{4,5,6}}
则得到一个名为t0的2行3列的矩阵。
• 2、也可利用工具栏或菜单输入矩阵 • 点击工具栏上的矩阵输入的工具,就会得到一个 二行二列的矩阵输入框,若不是二行二列的矩阵, 可通过按Ctrl+Enter键增加一行,按Ctrl+,键增加 一列,用鼠标选定一行(或一列),按Del键可删 除一行(或一列)。通过这样的操作,就可输入任 意一个矩阵。下面的图演示了这个过程。
Out[5]=True
ln[6]:=TrueQ[x==y]
Out[6]=false
用“===”可直接测试两个表达式的等同性:
In[7]:=x===y
Out[7]:=False
一般情况下,“===”返回值为真(True)或假(False), 而“==”为符号形式输出,表示一个符号等式。 在 特殊情况下可用“===”测试一个表达式的 结构,而用“==”测试数学上的等同性。

Mathematica微积分运算命令与例题

Mathematica微积分运算命令与例题

第四章微积分运算命令与例题极限、导数和积分是高等数学中的主要概念和运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica 可以帮你快速解决这些问题。

Mathematica 提供了方便的命令使这些运算能在计算机上实现,使一些难题迎刃而解。

4.1 求极限运算极限的概念是整个高等数学的基础,对表达式进行极限分析也是数学里很重要的计算分析。

Mathematica 提供了计算函数极限的命令的一般形式为:Limit[函数, 极限过程]具体命令形式为命令形式1:Limit[f, x->x0]功能:计算()x f lim 0x x → , 其中f 是x 的函数。

命令形式2:Limit[f, x->x0, Direction->1]功能:计算()x f lim 0-x x →,即求左极限, 其中f 是x 的函数。

命令形式3:Limit[f, x->x0, Direction->-1]功能:计算()x f lim 0x x +→,即求右极限,其中f 是x 的函数。

注意:在左右极限不相等或左右极限有一个不存在时,Mathematica 的默认状态为求右极限。

例题:例1. 求极限())11ln 1(lim 221--→x x x x 解:Mathematica 命令为In[1]:=Limit[1/(x Log[x]^2)-1/(x-1)^2, x->1]Out[1]=121 此极限的计算较难,用Mathematica 很容易得结果。

例2. 求极限nn n ⎪⎭⎫ ⎝⎛+∞→11lim 解:Mathematica 命令为In[2]:=Limit[(1+1/n)^n, n->Infinity]Out[2]=E例3 写出求函数xe 1在x->0的三个极限命令解:Mathematica 命令为1.Limit[Exp[1/x], x->0]2.Limit[Exp[1/x], x->0, Direction->1]3.Limit[Exp[1/x], x->0, Direction->-1]读者可以比较其结果,观察区别。

用Mathematica做线性代数Ⅱ线性代数高级运算

用Mathematica做线性代数Ⅱ线性代数高级运算

万方数据
-7 - 1
科 技 论 坛
中国 科技信息20 年第2 期 05 3
EH O O 丫 WO MA IN . 5 e 0 CI SI C AND TC N L G ! R TO Dc20 H A E E N CN
E P发展的昨天、今天和明天 R
刘蕾 东北财经大学
1 EP 展的昨 天 、R发
了1 一

刁 5 12 0 0
, 一18 5 一6 ,. 一9 0 0 1 {9 。 {3 )?
20
注2利用这里的算法不难设计利用正交变 : 换 化二次性为标准型的算法。
四 、总 结

we
、 、

作为一个高校的教育工作者,笔者常常在思 考,在科技高速发展,经济生活极为活跃,高 等教育发展及其迅猛的时代,我们应该如何施行 ( 下转 第 81页)
+ 2 x= 0 + 2 x= 0
=0
2 、求向量组的秩及其极大无关组
例如, 量组a (,,,, ,a 求向 1 11 21 = 2 )’ 2 = (,,,,1 , 3 (,,, 13 , 4 (,, 021 一 )‘a 203一 , 5 = )’a =11 0 ,1 的 , -)’ 一个极 4 大无关组 第一步 输人, 按行输人后再转置 A { ,2 , , , , -}2 , - , , , , 1 { 21 ,1 {0 ,1 1 1 ={ 1 2 10 ,5 , , 3 3 { 1, 1 ,,1 ; r so [] , 4一 1 A Ta psA 0 1 n e = 第二步 利用行初等变换。
摘 要:本文探讨了用Mtmta 性代数解题的算法,主要给出了 a eac于线 h i 利用Mt mta a eac进行矩阵初等变 h i 换的算法在求矩阵和向量组的枚,解线性方程组以 及求解矩阵特征值和特征向量中的应用, 进而彰显解题过程, 有利于提高学生的学习兴趣。 关键词: ahm t a M te ai ;算法;学习兴趣。 c 《 线性代数》是工科院校一门必修课,其重 要性从近几年来它在考研中所占的比重而不言而 喻。在 《 线性代数》的学习中,学生往往认为 线性代数概念太抽象,而相应的算法又显得太繁 琐。即使是对概念和算法有了比较清楚的认识, 但是一旦动手做题时就会出 现计算错误, 导致信 心不足,从而影响下面的学习,伤害学生的学习 积极性。作者认为, 可以利用Ma e ai 软 t m ta h c 件包,将学生从繁琐的数字运算中解脱出来,而 将注意力集中在基本概念和基本算法的学习上, 从而增加学习兴趣, 激发学习热情, 进而引导学 显然, 此矩阵的秩为3 。根据矩阵的秩等于 矩阵行向量组的秩,也等于矩阵列向量组的秩, 所以原向量组 ( 列向量组)的秩为3 。那么, 其极大无关组应该由3 个向量组成。此3 个向量 的选取方法为: 在这个阶梯形矩阵的每个平台上

Mathematica编程语句与例题

Mathematica编程语句与例题

的Mathematica自定义函数形式,并画出其在[0,60]上的图形。 解: 因此Mathematica 命令为:
In[17]:=f[x_]:= Which[x<=0,0,x<=10,10+2x,x<=20,30,x<=40,30-(x-20)/2, x<=50,20,x<=60,20-(x-50)*2,x>60,0 ] In[18]:= Plot[f[x],{x,0,60}]
在Mathematica中使用局部变量很简单, 只要把涉及到的局部变量用 大括弧{ }括起来, 放在Module模块命令的{变量表}位置, 并把相 应的语句写成语句序列放在Module模块命令的表达式位置即可。 例如: Mathematica中有如下命令 In[7]:=s=Sin[x]; In[8]:=u= Cos[x]; In[9]:=D[s*u, x] Out[9]= Cos[x]2-Sin[x]2
例3 定义一个函数描述下面问题:任给一个函数y(x),如果y(x)
的一阶导数为零,则输出符号###,否则,输出y (x)+ 5
解: Mathematica 命令为: In[5]:=f[y_,x_]:=Module[{s},s=D[y,x];If[s==0,Return["###"]]; s =s+5;Return[s]] In[6]:= f[3,x] Out[6]= ### In[7]:= f[Tan[x],x] Out[7]=5 + Sec2[x]
在Mathematica的循环结构中,使用如下表示式,可以达到简洁,快速的目的. k++ 表示赋值关系 k = k+1 , ++k 表示先处理k的值,再做赋值 k=k+1 k-表示赋值关系 k = k-1 --k 表示先处理k的值,再做赋值 k=k-1 {x,y}={y,x} 表示交换x与y 值 x+=k 表示 x = x + k x*=k 表示 x = x * k

数学实验一用Mathematica进行行列式的运算

数学实验一用Mathematica进行行列式的运算

数学实验一:用Mathematica 进行行列式的运算实例1(P 16)【例1.6】计算行列式2121989910220111241112---=D 输入:A={{2,1,1,1},{4,2,1,-1},{201,102,-99,98},{1,2,1,-2}}; Det[A] 输出:-1800以上操作及计算结果在计算机显示屏上的显示内容见图1-3.图 1-3实例2(P 37)【例1.8】 计算n 阶行列式121212nn n n x m x x x x m x D x x x m--=-.输入:D1=x1-mC2={{x1-m,x2},{x1,x2-m}}; D2=Det[C2]C3={{x1-m,x2,x3},{x1,x2-m,x3},{x1,x2,x3-m}}; D3=Det[C3]C4={{x1-m,x2,x3,x4},{x1,x2-m,x3,x4},{x1,x2,x3-m,x4},{x1,x2,x3,x4-m}};D4=Det[C4] 输出:-m+x1m 2-mx1-mx2-m 3+m 2x1+m 2x2+m 2x3m 4-m 3x1-m 3x2-m 3x3-m 3x4以上操作及计算结果在计算机显示屏上的显示内容见图1- 4.图 1-4通过观察1、2、3、4阶行列式的输出表达式,总结规律得出n 阶行列式的值为(-1)n -1(∑=mi i x 1-m )注:1. 在数学实验一至七的各实例中出现的命令,其具体含义详见第九章.2. 输入完成后,要同时按“Shift + Enter”键才能有输出内容.数学实验二:用Mathematica 进行矩阵的运算实例1 (P35)【例2.4】设矩阵111320101320-⎡⎤⎡⎤⎢⎥==⎢⎥⎢⎥--⎣⎦⎢⎥-⎣⎦A B 计算AB 与BA 输入:A={{1,3,2},{0,-1,-3}}; B={{1,-1},{0,1},{-2,0}}; C1=A.B ;MatrixForm[C1] C2=B.A ; MatrixForm[C2] 输出:⎪⎪⎭⎫ ⎝⎛--1623 ⎪⎪⎪⎭⎫ ⎝⎛-----462310541以上操作及计算结果在计算机显示屏上的显示内容见图2-3.图 2-3实例2 (P34)【例2.3】已知矩阵123103214032A -⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦,432153011250B -⎡⎤⎢⎥=-⎢⎥⎢⎥-⎣⎦求3A-2B 输入:A={{-1,2,3,1},{0,3,-2,1},{4,0,3,2}}; B={{4,3,2,-1},{ 5,-3,0,1},{1,2,-5,0}}; C1=3A-2B;MatrixForm[C1] 输出:⎪⎪⎪⎭⎫ ⎝⎛----61941016151055011 以上操作及计算结果在计算机显示屏上的显示内容见图2-4.图 2-4实例3 (P44)【例2.9】设矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=343122321A ,求其逆矩阵A -1. 输入:A={{1,2,3},{2,2,1},{3,4,3}}; Inverse[A]//MatrixForm输出:13235322111-⎡⎤⎢⎥⎢⎥--⎢⎥⎢⎥-⎣⎦ 以上操作及计算结果在计算机显示屏上的显示内容见图2-5图 2-5实例4 (P52)【例2.12】 求下列矩阵A 的秩.12104246251294732721--⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥⎣⎦A 输入:A={{1,-2,1,0,-4},{2,4,6,2,5},{-1,2,9,4,7},{3,2,7,2,1}};5 –Length [ NullSpace[A] ] (注:“5”是矩阵A 的列数) 输出:3以上操作及计算结果在计算机显示屏上的显示内容见图2-6图 2-6实例5 (P40)【习题2-1-4】计算矩阵的幂71101⎡⎤⎢⎥⎣⎦输入:A={{1,1},{0,1}}; B=MatrixPower[A ,7]MatrixForm[B] 输出:{{1,7},{0,1}}⎪⎪⎭⎫ ⎝⎛1071 以上操作及计算结果在计算机显示屏上的显示内容见图2-7图 2-7数学实验三:用Mathematica 求向量组的最大无关组实例1(P 96)【例3.11】 求向量组α1=(1,-1,2,3)T ,α2=(0,2,5,8)T ,α3=(2,2,0,-1)T ,α4=(-1,7,-1,-2)T 的秩及一个最大无关组,并把不属于最大无关组的列向量用最大无关组线性表示.输入:A={{1,0,2,-1},{-1,2,2,7},{2,5,0,-1},{3,8,-1,-2}}; MatrixForm[RowReduce[A]] 输出:⎪⎪⎪⎪⎪⎭⎫⎝⎛-0000110010103001 以上操作及计算结果在计算机显示屏上的显示内容见图3-13.图 3-13已知向量组的秩为3,a 1,a 2,a 3是已知向量组的一个最大无关组,且a 4= -3a 1+a 2+a 3数学实验四:用Mathematica 求解下列问题实例1(P 111)【例4.2】在R 3中,将基α1121⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦,α2131-⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,α3410⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦化成标准正交基.输入:a1={1,2,-1};a2={-1,3,1}; a3={4,-1,0}; b1=a1; b2=a2-(a2.b1/b1.b1)*b1;b3=a3-(a3.b1/b1.b1)*b1-(a3.b2/b2.b2)*b2;}3c ,2c ,1c {;3b *)3b .3b /1(3c ;2b *)2b .2b /1(2c ;1b *)1b .1b /1(1c ===输出:}}21,0,21{},31,31,31{},61,32,61{{-- 以上操作及计算结果在计算机显示屏上的显示内容见图4-26.图 4-26实例2 (P 125)【例4.17】方程组⎪⎩⎪⎨⎧⎪⎭⎫ ⎝⎛=+⎪⎭⎫ ⎝⎛---=22222222a y a x y x a z 表示怎样的曲线?以a 取1为例,先写出已知曲线的参数方程如下:⎪⎪⎪⎩⎪⎪⎪⎨⎧+-==+=2112221t cos x intS y Cost x 输入:ParametricPlot3D[{(1+Cos[t])/2,Sin[t]/2,2]t [Cos 1-},{t,0,2Pi}] 输出:以上操作及计算结果在计算机显示屏上的显示内容见图4-27.图4-27数学实验五:用Mathematica 求解线性方程组实例1 (P149)【例5.6】 求方程组123123412430263202640x x x x x x x x x x ++=⎧⎪++-=⎨⎪---=⎩ 的基础解系与通解.输入:M={{1,3,1,0},{2,6,3,-2},{-2,-6,0,-4}}; NullSpace[m] 输出:{{-2,0,2,1},{-3,1,0,0}}以上操作及计算结果在计算机显示屏上的显示内容见图5-1图 5-1一个基础解系: ξ1={-2,0,2,1}T , ξ2={-3,1,0,0}T , 原方程的通解为:x=k 1ξ1+k 2ξ2 , k 1, k 2为任意常数.实例2 (P150)【例5.7】【例5.7】求非齐次线性方程组的通解:1234123123412342439262272411x x x x x x x x x x x x x x x +-+=⎧⎪++=⎪⎨++-=⎪⎪+++=⎩ 输入:A={{2,4,-1,3},{1,2,1,0},{1,2,2,-1},{2,4,1,1}}; b={9,6,7,11};u=NullSpace[A]v=LinearSolve[A,b]输出:{{-1,0,1,1},{-2,1,0,0}}{5,0,1,0}以上操作及计算结果在计算机显示屏上的显示内容见图5-2图 5-2原方程组的通解为:x=k{-1,0,1,1}T+k2{-2,1,0,0}T+{5,0,1,0}T,其中 k1,k2为任1意常数.数学实验六:用Mathematica进行特征值的运算实例1 (P167)【例6.3】求矩阵211020413A-⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦的特征值和特征向量输入:A={{-2,1,1},{0,2,0},{-4,1,3}};Eigenvalues[A]Eigenvectors[A]输出:{-1,2,2}{{1,0,1},{1,0,4},{1,4,0}}以上操作及计算结果在计算机显示屏上的显示内容见图6-1图 6-1从输出的结果可以看出,矩阵有三个特征值:-1、2、2,对应有三个特征向量{1,0,1},{1,0,4},{1,4,0}.实例2 (P177)【例6.9】设A=400031013⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦, 求一个正交矩阵P,使1-P AP=Λ为对角阵输入:A={{4,0,0},{0,3,1},{0,1,3}}; B=Eigenvalues[A]c=Eigenvectors[A]]]3[[c ]]2[[c ]].2[[c /]]2[[c ]]1[[c ]].1[[c /]]1[[c 输出:{2,4,4} {{0,-1,1},{0,1,1},{1,0,0}}}0,0,1{}21,21,0{}21,21,0{-以上操作及计算结果在计算机显示屏上的显示内容见图6-2.图 6-2由上面的输出结果,正交矩阵P可取为: ⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-=0212102121100P 相对应的Λ为:⎪⎪⎪⎭⎫ ⎝⎛=Λ400040002数学实验七:用Mathematica 进行二次型的运算实例1 (P196)【例7.4】用正交变换法将二次型f =323121232221444x x x x x x x x x +++++化成标准形,并求正交变换矩阵.输入:A={{1,2,2},{2,1,2},{2,2,1}}; B=Eigenvalues[A] c= Eigenvectors[A];]]3[[c ]].3[[c /]]3[[c 1c .1c /1c ]];1[[c *]])1[[c ]].1[[c /]]1[[c ]].2[[c (]]2[[c 1c ]]1[[c ]].1[[c /]]1[[c -= 输出:{-1,-1,5}}31,31,31{}61,32,61{}21,0,21{---以上操作及计算结果在计算机显示屏上的显示内容见图7-1图 7-1由上面的输出结果,正交变换矩阵P可取为:⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛---=31612131320316121P ,相对应的Λ为: ⎪⎪⎪⎭⎫⎝⎛--=500010001Λ作正交变换x =Py ,则2322215500010001y y y y y y )AP P (y Ax x f T T T T +--=⎪⎪⎪⎭⎫⎝⎛--===成为标准形.实例2 (P205)【例7.7】判定二次型xz xy z y x f 44465222++---=的正定性. 输入:A={{-5,2,2},{2,-6,0},{2,0,-4}};Eigenvalues[A] a11=-5Det[{{-5,2}{2,-6}}]Det[A] 输出:{-8,-5,-2} -5 26 -80以上操作及计算结果在计算机显示屏上的显示内容见图7-2图 7-2因为奇数阶顺序主子式为负,而偶数阶顺序主子式为正,所以已知二次型为负定二次型.。

mathematica计算n阶行列式

mathematica计算n阶行列式

mathematica计算n阶行列式n阶行列式是线性代数中的重要概念,它在矩阵理论、线性方程组的求解以及求解线性变换等方面有着广泛的应用。

在Mathematica 中,我们可以使用Det函数来计算n阶行列式的值。

行列式是一个由元素组成的方阵,其中元素的排列方式对计算结果起到关键作用。

对于一个n阶行列式来说,我们可以通过对第一行(或第一列)展开来计算其值。

展开后的表达式是一个多项式,其中每一项的系数就是对应元素的代数余子式。

在Mathematica中,我们可以使用MatrixForm函数来直观地表示一个矩阵。

例如,对于一个3阶行列式来说,我们可以使用如下代码进行表示:```mathematicaMatrixForm[{{a, b, c}, {d, e, f}, {g, h, i}}]```其中,a、b、c等为矩阵的元素。

这样,我们就可以清晰地看到矩阵的结构,便于进行计算和分析。

接下来,我们将使用Det函数来计算一个n阶行列式的值。

假设我们有一个4阶行列式,可以使用如下代码进行计算:```mathematicaDet[{{a, b, c, d}, {e, f, g, h}, {i, j, k, l}, {m, n, o, p}}]```其中,a、b、c等为矩阵的元素。

运行此代码后,Mathematica将返回计算结果,即该4阶行列式的值。

除了计算n阶行列式的值,Mathematica还提供了其他一些与行列式相关的函数,如Eigenvalues、Eigenvectors等。

这些函数可以用于计算矩阵的特征值和特征向量,从而进一步分析矩阵的性质和行列式的特点。

除了使用Det函数外,我们还可以使用Simplify函数对行列式进行化简。

化简后的行列式可以更好地展示其特点和性质,便于我们进行分析和理解。

在Mathematica中,我们还可以使用Transpose函数对矩阵进行转置。

转置后的矩阵可以改变行列式的排列方式,从而影响行列式的计算结果。

Mathematica用于解方程的命令

Mathematica用于解方程的命令
findroot?x8x0dout298x?073908510?注意用以上的方法得到的解是形式解的集合不能直接在以后的运算中使用如果希望在计算中使用方程的根可以将这些形式根的值存入一个表中表中的元素就可以带入各种的表达式中去进行计算了
第五节 用Mathematica解 方程
Solve[ f[x]= =0,x] DSolve[degn,y[x],x]
例6 求解方程 cos x x
注意,用以上的方法得到的解是形式
解的集合,不能直接在以后的运算中 使用,如果希望在计算中使用方程的 根,可以将这些形式根的值存入一个 表中,表中的元素就可以带入各种的 表达式中去进行计算了。
5.1.6 割线法 FindRoot[eqn,{x,x0,x1}]
对于5次及5次以上的方程已经没有公式
解 Solve[ ]只能给出以Roots表示的抽象解 这时改用Nsolve[ ]能求出近似值。
例3 求五次方程的根
Solve x ^5 + x^ 2 - x + 3 0, x
@
x5 x2 x 3 0
D
只能得出符号解
改用Nsolve[ ] 可以得到近似解
如果用牛顿法求不出根,则用割线法求近 似值。割线法的命令格式为 FindRoot[eqn,{x,x0,x1} ] 其中(x0,x1)为根的间隔区间。即在该区间 里有且仅有方程的一个根。
例6
3 2 x 3 x 3x 9 0 求方程
的根。
系统提示出错,并给出一个并不存在的根。
5.1 Mathematica用于解方程的 命令:
1、
Solve[f[x]= =0,x] 2、 Nsolve[f[x]==0,x] 3、 Roots[f[x]==0,x] 4、 Reduce[f[x]==0,x] 5、 FindRoot[f[x]==0,{x,x0}] 6、FindRoot[f[x]==0,{x,x0,x1}]

Mathematica的所有画图函数或命令进行总结和分类及部分习题

Mathematica的所有画图函数或命令进行总结和分类及部分习题

一、对Mathematica的所有画图函数或命令进行总结和分类(对它的一些重要可选项进行说明),并画出一些有趣的图形我们首先可以把Mathematica的画图函数做如下分类:有趣的图形:1、2、三、(1) 这是一个兔子繁殖的模型,一对子兔一个月后成为一对成兔,而成年兔每个月能繁殖一对子兔,这样下去,每个月统计一下成年兔的数目,有如下的关系:月份: 1 2 3 4 5 6 7 8 …… Fn : 1 1 2 3 5 8 13 21 …… 不难看出:2121;1;1--+===n n n F F F F F 。

这就是著名的裴波那奇数列。

通过数学软件编程,请问第40年、80年有多少成年兔?你能给出几种求裴波那奇数列通项的方法。

满足21--+=n n n F F F 的数列完全由前两项决定,既由向量),(21F F 决定,能否利用线性代数中的子空间和向量线性表示的理论给出它的通项的一种求法。

(2)雌鸟每年只育一只小雌鸟,次年各自又育一只雌鸟,每鸟只能育十次。

请问第30年、100年有多少雌鸟?你能求出第n 年有多少雌鸟吗(通项)?(设鸟都不死)解:(1)、第40年的成年兔: 第80念得成年兔:求斐波那契数列通项的方法: 方法一、(向量线性表示)已知数列: A 0=a ,A 1=b , F[n+1]=c*F[n]+d*F[n-1] (a=b=c=d1时就是斐波那契数列) 求F[n]的表达式解:这个数列经过整理后可得一个F[n]与F[n-1]的线性组合,即A*F[n]+B*F[n-1]是一个等比数列的形式 令 F[n+1]- k F[n]=p(F[n] - k F[n-1])————————————————————-(1)这样 如果令B[n+1]=F[n+1] – k F[n],则B[n](n=1, to n) 是一个等比数列。

(1)=> F[n+1]= p F[n]+k F[n] –pk F[n-1]和 F[n+1]=c*F[n]+d*F[n-1] 比较,可知有 p+k=c ,pk=-d 这样知道 p 和 k 是 x^2 - cx -d=0 的两个根。

第三讲用Mathematica解方程

第三讲用Mathematica解方程
例: Series[Sin[x],{x,0,10}]
Solve[{f1[x,y]==0,f2[x,y]==0,{x,y}]
如:

解aa21xxb b Nhomakorabea1y 2y
c1。 c2
命令:Solve[ {a1*x+b1*y == c1, a2*x+b2*y == c2}, {x,y}]
一般的线性方程也可以用矩阵形式表示
命令: {{3,1},{2,-5}}.{x,y}=={7,8} Solve[%,{x,y}]
用Mathematica的相应功能解方程
在Mathematica中用于解方程 f(x)=0的命令
求解联立方程 微分方程
在Mathematica中用于解方程f(x)=0的命令
Solve[ f[x] == 0,x ] NSolve[ f[x] == 0,x ]
Roots[ f[x] == 0,x ]
y(1) 2e
命令: DSolve[{x*y’[x]+2y[x]==Exp[x],y[1]==2E},y[x],x]
幂级数展开与求和
Sum[表达式,{n,n0,n1,n2}] n从n0->n1,步长为n2,省略n2表示步长为1
例:Sum[2^n,{n,0,6}] Series[函数,{变量,展开点,展开阶数}]
命令:Solve[ 2ab+2ax+2bx-3abx+2a^2-3ax^2+abx^2 – 3x^3+4x^3+bx^3+x^4==0, x]
如: 求方程x3 x2 ax b 0的解。 命令:Solve[ x^3+x^2+a*x+b==0, x]
Nsolve[ ]

Mathematica数学实验——基本代数式运算

Mathematica数学实验——基本代数式运算

教师指导实验2实验名称:基本代数式运算一、问题:代数式的展开、分解、化简等运算。

二、实验目的:学会使用Simplify,FullSimplify 对代数式进行化简;用Collect,Factor 对代数式进行合并同类项和因式分解;能对分式进行约分、通分和分解;能用不同的函数对代数式进行展开。

三、预备知识:本实验所用的Mathematica 命令提示。

1、Simplify[expr] 化简表达式expr ,FullSimplify[expr] 更广义的化简表达式expr[2、Collect[expr,x] 将表达式expr 中的x 的同次幂合并,Factor[expr]分解expr[3、Cancel[expr] 将分式expr 约分,Together[expr] 将分式expr 通分,Apart[expr] 将分式expr 分解为最简分式和;4、Expand[expr] 展开表达式expr ,ExpandAll[expr] 将表达式expr 彻底展开,ExpandNumerator[expr] 只展开分式expr 的分子, ExpandDinominator[expr] 只展开分式expr 的分母。

四、实验的内容和要求:1、用函数Simplify[expr] 和FullSimplify[expr] 化简22sin 2sin cos cos x x x x ++,并 观察化简的结果;2、依次使用Collect[expr,x] 和Factor[expr],将42232223322x a x x a x a x ---+-合并为x 的同类项,并于以因式分解;3、对分式22224341x x x x x x x -+-+--进行约分,通分及展开为最简分式和; 4、用4个不同的代数式展开函数展开32()()a b c d +-,比较展开结果的不同。

五、操作提示1、用函数Simplify[expr] 和FullSimplify[expr] 化简22sin 2sin cos cos x x x x ++ In[1]:= Simplify [ Sin[ x ]^2 + 2 Sin[ x ] Cos[ x ] + Cos[ x ]^2 ] Out[1]= (Sin[x] + Cos[x])2In[2]:= FullSimplify [ Sin[ x ]^2 + 2 Sin[ x ] Cos[ x ] + Cos[ x ]^2 ] Out[2]= 1 + Sin[2 x]2、依次使用Collect[expr,x] 和Factor[expr],将42232223322x a x x a x a x ---+-合并为x 的同类项,并于以因式分解;In[3]:= Collect [x 4 – 3 a 2 – 3 x 2 – 2 x 3 + a 2 x 2 – 2 a 2 x , x ] Out[3]= - 3 a 2 -2 a 2 x + (- 3 + a 2 ) x 2 – 2 x 3 + x 4In[4]:= Collect [x4 – 3 a2 – 3 x2 – 2 x3 + a2 x2 – 2 a2 x , a ] Out[4]= – 3 x2 – 2 x3 + x4 + a2 ( -3 – 2 x + x2)In[5]:= Factor [x4 – 3 a2 – 3 x2 – 2 x3 + a2 x2 – 2 a2 x ] Out[5]= (- 3 + x ) (1 + x ) ( a2 + x2 )3、对分式22224341x x x xx x x-+-+--进行约分,通分及展开为最简分式和;In[6]:= r =2222x-4x x+3x-4+x-x x-1; Cancel [ r ]Out[6]= -4+x4+x+-1+x1+xIn[7]:= Together [ r ]Out[7]=22(-4+x) (-1+x)(1+x)In[8]:= Apart [ r ]Out[8]= 2-33+-1+x1+x4、用4个不同的代数式展开函数展开32 () () a b c d +-In[9]:= p = ( a + b ) ^ 3 / ( c – d ) ^ 2 ; Expand [ p ]Out[9]=32232222 a3a b3ab b+++(c-d)(c-d)(c-d)(c-d)In[10]:= ExpandAll [ p ]Out[10]=3223 22222222 a3a b3ab b+++c-2cd+d c-2cd+d c-2cd+d c-2cd+dIn[11]:= ExpandNumerator [ p ]Out[11]=+32232a3a b+3ab+b(c-d)In[12]:= ExpandDenominator [ p ]Out[12]=322 (a+b)c-2cd+d学生练习实验2实验名称:基本代数式运算一、问题:代数式的展开、分解、化简等运算 二、实验目的:学会使用Simplify,FullSimplify 对代数式进行化简;用Collect,Factor 对代数式进行合并同类项和因式分解;能对分式进行约分、通分和分解;能用不同的函数对代数式进行展开。

(完整版)Mathematica入门教程含习题与答案

(完整版)Mathematica入门教程含习题与答案

Mathematica入门教程第1篇第1章MATHEMATICA概述 (3)1.1 M ATHEMATICA的启动与运行 (3)1.2 表达式的输入 (4)1.3 M ATHEMATICA的联机帮助系统 (6)第2章MATHEMATICA的基本量 (8)2.1 数据类型和常数 (8)2.2 变量 (10)2.3 函数 (11)2.4 表 (14)2.5 表达式 (17)2.6 常用的符号 (19)2.7 练习题 (19)第2篇第3章微积分的基本操作 (20)3.1 极限 (20)3.2 微分 (20)3.3 计算积分 (22)3.4 无穷级数 (24)3.5 练习题 (24)第4章微分方程的求解 (26)4.1 微分方程解 (26)4.2 微分方程的数值解 (26)4.3 练习题 (27)第3篇第5章MATHEMATICA的基本运算 (28)5.1 多项式的表示形式 (28)5.2 方程及其根的表示 (29)5.3 求和与求积 (32)5.4 练习题 (33)第6章函数作图 (35)6.1 基本的二维图形 (35)6.2 二维图形元素 (40)6.3 基本三维图形 (42)6.4 练习题 (46)第4篇第7章MATHEMATICA函数大全 (48)7.1 运算符和一些特殊符号,系统常数 (48)7.2 代数计算 (49)7.3 解方程 (50)7.4 微积分 (50)7.5 多项式函数 (51)7.6 随机函数 (52)7.7 数值函数 (52)7.8 表相关函数 (53)7.9 绘图函数 (54)7.10 流程控制 (57)第8章MATHEMATICA程序设计 (59)8.1 模块和块中的变量 (59)8.2 条件结构 (61)8.3 循环结构 (63)8.4 流程控制 (65)8.5 练习题 (67)--------------习题与答案在68页-------------------第1章Mathematica概述1.1 Mathematica的启动与运行Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。

Mathematica编程语句与例题

Mathematica编程语句与例题

例7: 用函数描述如下结果:任给一个整数x, 显示它被3除的余数。 解: Mathematica自定义函数:


In[19]:=f[x_]:=Switch[Mod[x,3], 0, Print["0 is the remainder on division of" ,x ,"by 3"], 1, Print["1 is the remainder on division of" ,x ,"by 3"], 2, Print["2 is the remainder on division of" ,x ,"by 3"] ] In[20]:= f[126] Out[20]= 0 is the remainder on division of 126 by 3 In[21]:= f[346] Out[21]= 1 is the remainder on division of 346 by 3 In[22]:= f[599] Out[22]= 2 is the remainder on division of 599 by 3
8.1.3 过程
在Mathematica中,一个用分号隔开的表达式序列称为一个复合表达式,它 也称为一个过程。 例如: In[11]:=s=1;u=s+3;u*u Out[11]=16 ★Mathematica的过程可以作为Module模块命令的表达式,如果不关心局部 变量问题,可以把一个过程用小括号括起来构成一个整体,这样可以用由小 括号括起来的过程来定义一个函数。 例如:已知有n个元素的一个数表x={a1,a2,…,an},定义一个计算此类数表最 大数与最小数平方差的函数,用过程来定义可以写为: In[12]:=g[x_]:=(m =Max[x];n = Min[x];m*m - n*n) 如果不用小括号括起来,而是写为 In[13]:=g[x_]:=m =Max[x];n = Min[x];m*m-n*n 则In[13]定义的g[x]实际上是Max[x],不是数表最大数与最小数平方差函数, 应该注意过程加小括号与不加括号的区别。本例题还可以用模块来定义函数: In[14]:=g[x_]:=Module[{m, n}, m =Max[x];n = Min[x];m*m-n*n]

Mathematica初等代数运算命令与例题

Mathematica初等代数运算命令与例题

第三章初等代数运算命令与例题3.1多项式运算多项式是我们最熟悉的简单表达式,n 次一元多项式的一般形式为:P n(x) =a 0 +a1x+ a2x 2 +…+a n x n在Mathematica 中, 有关表达式的任何运算都可以应用到多项式中,特别,多项式的加减乘除四则运算只要用Mathematica 中的加减乘除号来连接两个多项式即可, 如:数学形式Mathematica 输入形式多项式相加(3+x 2) + (1-2x5 ) (3+x^2)+(1-2*x^5)多项式相减(3+x 2) - (1-2x5 ) (3+x^2)-(1-2*x^5)多项式相乘(3+x 2)(1-2x5 ) (3+x^2)*(1-2*x^5)多项式相除(3+x 2) ÷ (1-2x5 ) (3+x^2)/(1-2*x^5)上述多项式的运算只有多项式的加减可以计算外,多项式的乘除实际上不进行真正的运算,而只是以乘积或有理分式的形式表出,要想真正产生运算需用Mathematica 提供的多项式展开命令。

Mathematica 提供还提供了多项式因式分解,提取多项式幂次和系数等处理多项式的一些函数,下面列举其中的常用函数及功能:Mathematica 函数形式功能1) Expand[多项式] 把多项式按升幂展开2) Factor[多项式] 对多项式进行因式分解3) Collect[多项式,x] 把多项式按x的同次幂合并形式展开4) Simplify[多项式] 把多项式写成项数最小的形式5) Exponent[多项式, x] 取出多项式中x的最高幂数6) Coefficient[多项式,form] 取出多项式中form的系数7) Part[多项式, n] 取出多项式的第n项8) Length[多项式] 给出多项式的项数9) PolynomialQuotient[p,q, x] 计算p÷q的商,这里p,q是关于x的多项式10) PolynomialRemainder[p,q, x] 计算p÷q的余式,这里p,q是关于x的多项式11) PolynomialGCD[p,q, …] 求多项式p,q,…的最大公因子12) PolynomialGCD[p,q, …] 求多项式p,q,…的最小公倍数注:函数中的多项式可以是多元多项式,通常可以把多项式存放在一个变量中(用赋值语句),这样该变量就代表存入的多项式,使处理多项式更简单。

mathematica中列向量乘以行向量 -回复

mathematica中列向量乘以行向量 -回复

mathematica中列向量乘以行向量-回复题目: Mathematica中列向量乘以行向量导言:在研究线性代数和矩阵运算时,我们经常会遇到列向量和行向量的乘法运算。

在Mathematica中,我们可以利用内置的函数和操作符轻松地进行这种运算。

本文将详细介绍在Mathematica中如何实现列向量乘以行向量操作,并提供一些示例以帮助您更好地理解。

1. 创建列向量和行向量在Mathematica中,我们可以使用以下语法来创建列向量和行向量:- 列向量: 利用Column和List函数的组合来创建一个n行1列的列向量。

例如,若要创建一个3行1列的列向量`v`,可以使用以下代码:v = Column[{1, 2, 3}]- 行向量: 利用MatrixForm和Row函数的组合来创建一个1行n列的行向量。

例如,若要创建一个1行4列的行向量`u`,可以使用以下代码:u = MatrixForm[Row[{1, 2, 3, 4}]]2. 列向量乘以行向量为了实现列向量`v`乘以行向量`u`的操作,我们可以使用Dot函数或.操作符。

这两种方式都可以获取两个向量的点积(内积)。

语法如下:- 使用Dot函数:`Dot[v, u]`- 使用.操作符:`v.u`其中,`v`代表列向量,`u`代表行向量。

3. 示例现在,让我们通过几个示例来演示如何在Mathematica中实现列向量乘以行向量的操作。

示例1: 列向量乘以行向量假设我们有一个列向量v和一个行向量u,分别为:v = Column[{1, 2, 3}]u = MatrixForm[Row[{4, 5, 6}]]要计算v乘以u的结果,我们可以使用以下Mathematica代码:result = v.u运行此代码后,Mathematica将计算结果存储在result变量中,并在输出中显示结果。

示例2: 矩阵乘以向量我们也可以将列向量和行向量视为矩阵的一部分,并通过矩阵乘法来实现列向量乘以行向量的操作。

用软件Mathematica 求解线性代数

用软件Mathematica 求解线性代数
注意:只有方阵才可以求其逆矩阵,所以这里的矩阵A 必须是方阵, 注意:只有方阵才可以求其逆矩阵,所以这里的矩阵 必须是方阵, 并且为了使该矩阵可逆,还须保证该矩阵的行列式不为零。 并且为了使该矩阵可逆,还须保证该矩阵的行列式不为零。
求解逆矩阵的办法: ) 求解逆矩阵的办法:1)利用伴随矩阵
1 * A = A A
例:设
3 2 0 5 0 3 −2 3 6 −1 A= 2 0 1 5 −3 1 6 −4 −1 4
化简A为行最简形矩阵并求秩。 化简A为行最简形矩阵并求秩。 LOGO
以矩阵形式显示 行最简型矩阵
有三个非零行,秩为3 有三个非零行,秩为3
求矩阵的秩
YOUR SITE HERE
MatrixPower[A,n] 求矩阵A的n次幂 求矩阵A LinearSolve[A,b] 求线性方程组的解
YOUR SITE HERE
学习资料: 学习资料:
学习网站 中文电子书索取地址 lg8124@ 书籍
LOGO
YOUR SITE HERE
向量的相关运算 求解线性方程thematica 的功能
LOGO
• 数值与符号运算
-
能够快速准确的进行所有的数学运算
• 绘图功能强大
创建任何函数的二维及三维图像 - 创建任何函数的二维及三维图像
• 编制程序;处理声音、图像;系统模拟仿真 编制程序;处理声音、图像; 等
分号表示,系统执 分号表示, 行计算, 行计算,但不再显 示计算结果。 示计算结果。
LOGO
矩阵 格式
软件按列表数据 软件按列表数据计算 列表数据计算 ,反馈给用户也是列 表数据。 表数据。
YOUR SITE HERE
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

50Mathematica线性代数运算命令与例题第五章 线性代数运算命令与例题线性代数中常用的工具是矩阵(向量)和行列式。

用这些工具可以表示工程技术,经济工作中一些需要用若干个数量从整体上反映其数量关系的问题。

用这些工具可以简明凝练而准确地把所要研究的问题描述出来,以提高研究的效率。

在线性代数课程中我们看到了用这些工具研究齐次和非齐次线性方程组解的理论和解的结构,矩阵的对角化,二次型化标准形等问题的有力,便捷.5.1向量与矩阵的定义数学上矩阵是这样定义的:由n m ⨯个数排成m 行n 列的数表mnm m n n a a a a a a a a a ΛM M M ΛΛ212222111211称为m 行n 列矩阵,特别,当m=1时就是线性代数中的向量。

记作:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=mn m m n n a a a a a a a a a A ΛM M M ΛΛ212222111211两个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=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---4138163912145856120312、向量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}例2. 输入一个35⨯矩阵[][][][][][][][][][][][][][][]⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡8Sin7Sin6Sin7Sin6Sin5Sin6Sin5Sin4Sin5Sin4Sin3Sin4Sin3Sin2Sin解:Mathematica命令In[3]:=Table[Sin[i+j],{i,5},{j,3}]Out[3]:={{Sin[2],Sin[3],Sin[4]},{Sin[3],Sin[4],Sin[5]},{Sin[4],Sin[5],Sin[6]},{Sin[5],Sin[6],Sin[7]},{Sin[6],Sin[7],Sin[8]}}In[4]:=MatrixForm[%]Out[4]:=Sin[2] Sin[3] Sin[4]Sin[3] Sin[4] Sin[5]Sin[4] Sin[5] Sin[6]Sin[5] Sin[6] Sin[7]Sin[6] Sin[7] Sin[8]5.1.2 几个特殊矩阵的输入1. 生成0矩阵命令形式: Table[0,{m},{n}]功能:产生一个nm⨯的0矩阵2. 生成随机数矩阵命令形式: Table[Random[ ],{m},{n}]功能: 产生一个nm⨯的随机数矩阵3.生成上三角矩阵命令形式: Table[If[i<=j,a,0],{i,m},{j,n}] 功能: 产生一个非0元全为数a的上三角矩阵4.生成下三角矩阵命令形式: Table[If[i>=j,a,0],{i,m},{j,n}]功能: 产生一个非0元全为数a的nm⨯下三角矩阵5.生成三对角矩阵命令形式: Table[Switch[i-j,-1,a[[i]],0,b[[i]],1,c[[i-1]],-,0],{i,m},{j,n}]功能: 产生一个nm⨯的三对角矩阵6.生成对角矩阵命令形式:DiagonalMatrix[list]功能:使用列表中的元素生成一个对角矩阵.7.生成单位矩阵命令形式:IdentityMatrix[n]功能:生成n阶单位阵例题例3. 构造34 的0矩阵。

解: Mathematica命令In[5]:=Table[0,{4},{3}]Out[5]:= {{0,0,0},{0,0,0},{0,0,0},{0,0,0}}In[6]:= MatrixForm[%]Out[6]:=0 0 00 0 00 0 00 0 0例4. 构造一个52⨯的随机数矩阵。

解: Mathematica命令In[7]:=Table[Random[ ],{2},{5}]Out[7]:={{0.46223,0.545335,0.423938,0.635765,0.792571},{0.802126,0.372146,0.114424,0660867,0.0163719}}例5. 构造非0元全为2的4⨯5上三角矩阵。

解:Mathematica命令In[8]:=Table[If[i<=j,2,0],{i,4},{j,5}] Out[8]={{2,2,2,2,2},{0,2,2,2,2},{0,0,2,2,2},{0,0,0,2,2}}In[9]:=MatrixForm[%]Out[9]=2 2 2 2 20 2 2 2 20 0 2 2 20 0 0 2 2例6. 构造非0元全为1的4⨯4下三角方阵。

解:Mathematica 命令In[10]:=Table[If[i>=j ,1,0],{i ,4},{j ,4}] Out[10]={{1,0,0,0},{1,1,0,0},{1,1,1,0},{1,1,1,1}} In[11]:=MatrixForm[%] Out[11]=1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1例7. 生成三对角矩阵⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡b c a b c a b c a b c a b c a b 00000000000000000000。

解:Mathematica 命令In[12]:=Table[Switch[i-j ,-1,a ,0,b ,1,c ,_,0],{i ,6},{j ,6}]Out[12]={{b ,a ,0,0,0,0},{c ,b ,a ,0,0,0},{0,c ,b ,a ,0,0},{0,0,c ,b ,a ,0},{0,0,0,c ,b ,a},{0,0,0,0,c ,b}}例8. 生成对角矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡d c b a 。

解:Mathematica 命令In[13]:=DiagonalMatrix[{a ,b ,c ,d}]Out[13]={{a ,0,0,0},{0,b ,0,0},{0,0,c ,0}, {0,0,0,d}}例9.生成5阶单位矩阵。

解:Mathematica 命令 In[14]:=a=IdentityMatrix[5]Out[14]={{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0 0},{0,0,0,1,0},{0,0,0,0,1} } In[15]:=MatrixForm[%] Out[15]=1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 00 0 0 0 15.2向量与矩阵的运算5.2.1基本运算运算功能命令形式矩阵加法和减法将两个同型矩阵相加(减)A B数乘将数与矩阵做乘法kA其中k是一个数,A是一个矩阵矩阵的乘法将两个矩阵进行矩阵相乘A.B其中乘号"."使用键盘上的小数点矩阵的求逆求方阵的逆Inverse[A]A必须为方阵矩阵的转置求矩阵的转置Transpose[A]A可以是任意矩阵向量的数量积(点积) 求同维向量的数量积 v1.v2 其中乘号"."使用键盘上的小数点例题 例10. 计算⎥⎦⎤⎢⎣⎡---+⎥⎦⎤⎢⎣⎡--761232193731解:Mathematica 命令In[16]:= {{1,3,7},{-3,9,-1}}+{{2,3,-2},{-1,6,-7}}Out[16]={{3, 6, 5},{-4, 15, -8}}例11. 计算⎥⎦⎤⎢⎣⎡1533215。

解:Mathematica 命令In[17]:=5{{1,2,3},{3,5,1}}Out[17]={{5, 10, 15}, {15, 25, 5}}例12. 求向量{}c b,a,与{}g f,e,的点积。

解:Mathematica 命令In[18]:= {a , b , c}.{e , f , g} Out[18]= a e + b f + c g例13. 求向量{a ,b ,c}与矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321的乘积。

解:Mathematica 命令In[19]:= {a , b , c}.{{1, 2},{3, 4},{5, 6}} Out[19]={a + 3 b + 5 c , 2 a + 4 b + 6 c}例14. 求矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321与向量{a ,b}的乘积。

解:Mathematica 命令In[20]:={{1,2},{3,4},{5,6}}.{a , b} Out[20]:={a + 2 b , 3 a + 4 b , 5 a + 6 b}注:Mathematica 中不区分行向量和列向量,而是尽可能给出结果。

例15:求矩阵⎥⎦⎤⎢⎣⎡--112031与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--104212100131的乘积。

解:Mathematica 命令In[21]:= a={{1,3,0},{-2,-1,1}}In[22]:=b={{1,3,-1,0},{0,-1,2,1},{2,4,0,1}}In[23]:=a.bOut[23]:={{1, 0, 5, 3}, {0, -1, 0, 0}}例16. 求矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---6201111121324321的逆。

解:Mathematica 命令In[24]:=A={{1,2,3,4},{2,3,1,2},{1,1,1,-1},{1,0,-2,-6}}Out[24]={{1,2,3,4},{2,3,1,2},{1,1,1,-1},{1,0,-2,-6}} In[25]:=Inverse[A]Out[25]={{22,-6,-26,17},{-17,5,20,-13},{-1,0,2,-1},{4,-1,-5,3}}例17. 求矩阵⎥⎦⎤⎢⎣⎡d cb a的逆。

相关文档
最新文档