1 / 30

初等代数运算命令与例题

初等代数运算命令与例题. 数学 CAI 授课课件. 1 多项式运算. 多项式是我们最熟悉的简单表达式, n 次一元多项式的一般形式为 : Pn(x) =a 0 +a1x+ a2x 2 +…+a nx n 在 Mathematica 中 , 有关表达式的任何运算都可以应用到多项式中,特别,多项式的加减乘除四则运算只要用 Mathematica 中的加减乘除号来连接两个多项式即可 , 如 : 数学形式 Mathematica 输入形式 多项式相加 (3+x 2) + (1-2x5 ) (3+x^2)+(1-2*x^5)

isolde
Download Presentation

初等代数运算命令与例题

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 初等代数运算命令与例题 数学CAI授课课件

  2. 1多项式运算 • 多项式是我们最熟悉的简单表达式,n 次一元多项式的一般形式为: Pn(x) =a 0 +a1x+ a2x 2 +…+a nx 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)

  3. 下面列举其中的常用函数及功能: 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,…的最小公倍数

  4. 例1:展开多项式(2+3x)4,并取出它的第3项。 • 解: Mathematica 命令为: • In[1]:= p=Expand[(2+3x)^4] • Out[1]=16+96x +216x 2 +216x3 +81x4 • In[2]:= Part[p, 3] • Out[2]= 216 x2

  5. 例2:设多项式q=(1+2x - y)2,做 (1)展开多项式q (2)按y的同次幂合并形式展开多项式q (3)取出多项式q中y和xy的系数 解: Mathematica 命令为: In[3]:= q=Expand[(1+2x - y)^2] Out[3]= 1 + 4 x + 4 x2 - 2 y - 4 x y + y2 In[4]:= Collect[(1+2x-y)^2, y ] Out[4]= 1 + 4 x + 4 x2 + (-2 - 4 x) y + y2 In[5]:= Coefficient[q, y] Out[5]= -2 - 4 x In[6]:= Coefficient[q, x*y] Out[6]= - 4

  6. 例3:对多项式120 - 46x - 19 x 2 + 4 x 3 +x 4进行因式分解。 解: Mathematica 命令为: In[7]:= Factor[120 - 46x - 19 x^2+ 4 x^3 +x^4] Out[7]= (-3 + x) (-2 + x) (4 + x) (5 + x) 例4:设多项式p=1 - 4x - 19 x2 + 4 x3,q=1 - 3x , 1)计算p÷q的商; 2) 计算p÷q的余式 解: Mathematica 命令为: In[8]:= p=1-4x – 19x^2+4x^3; q=1-3x; In[9]:= PolynomialQuotient[p, q, x] Out[9]= 89/27+ 53 x/9 - 4 x2/ 3 In[10]:= PolynomialRemainder[p, q, x] Out[10]= -62/27

  7. 例5:设多项式p=120 - 46x - 19 x 2 + 4 x 3 +x 4,q=20x+9x2+x 3 1)求多项式p,q的最大公因子; 2) 求多项式p,q的最小公倍数 解: Mathematica 命令为: In[11]:= p=120 - 46x - 19 x^2+ 4 x^3 +x^4; q=20x+9x^2+x^3; In[12]:= PolynomialGCD[p, q] Out[12]=20+ 9 x + x2 In[13]:= PolynomialLCM[p, q] Out[13]= 120 x - 46 x2 - 19 x3 + 4 x4 + x5

  8. 2有理函数运算 • 两个多项式相除构成有理函数,它的一般形式为: 在Mathematica 中提供了有理函数运算的一些函数,常用的函数有: Mathematica 函数形式 功能 1) Together[expr] 对expr进行通分 2) Apart[expr] 把expr写成简单分式之和 3) Cancel[expr] 对expr进行约分 4) Simplify[expr] 对expr进行化简 5) Numerator[有理函数] 取出有理函数的分子 6) Denominator[有理函数] 取出有理函数的分母

  9. 例6:设有理函数之和为: 1)对r(t)通分; 2) 取出r(t)的分子; 3) 取出r(t)的分母 • 解: Mathematica 命令为: • In[14]:= r=6/t-3/(1+t)- (3t+3)/(1+t^2);In[15]:= s=Together[r] In[16]:= Numerator[s] • Out[16]=6 • In[17]:= Denominator[s] • Out[17]=t (1 + t) (1 + t )2

  10. 例7:设有理函数为 • 1) 把q(x)写成简单分式之和; 2) 对q{x}进行约分; 3) 对q(x)进行化简: • 解: Mathematica 命令为: • In[18]:= q=(1-x^2)/(9+21x+16x^2+4x^3); • In[19]:= Apart[r] • In[20]:= Cancel[q] • In[21]:= Simplify[q]

  11. 3连续求和与连续求积运算 • 在数学中,有时需要计算n个有规律的数相加或相乘,这就是数学中由符号表示求和运算和由符号表示的求积运算,即: 上式中 ai 称为通项.Mathematica 提供了这种快速求和和求积运算命令。 1 连续求和命令 连续求和命令的一般形式为 Sum[ 通项, 求和范围 ] 或 NSum[ 通项, 求和范围 ]

  12. 命令形式1: Sum[f(i) , {i ,imin,imax,h }] 功能:计算和 f(imin) +f(imin +h)+ f(imin +2h)+……+f(imin +nh)} imax – h  imin + nh  imax , h>0 例如:计算和12 +3 2 + … +19 2 , 由连加的规律, 知通项为i2 Mathematica命令: In[22]: = Sum [ i^2 , { i , 1, 19 , 2} ] Out[22]= 1330

  13. 命令形式2: Sum[ f(i) , { I,imin,imax }] 功能: 计算和 f(imin) +f(imin +1)+f(imin+2)+……+f(imax) 例如:计算 Mathematica命令: In[23]: = s=Sum[1/(k^2-1), {k, 3 , 20} Out[23]=103/280

  14. 命令形式3: Sum[ f(i , j),{{i,imin,imax},{j, jmin,jmax}] 功能:计算二重和式 例如 :计算 Mathematica 命令: In[24]: =Sum[(i-j)^3, {i, 1 , 20}, {j, 1 , 10}] Out[24]= 149500

  15. 例8:计算: 解: Mathematica 命令为: In[25]: = s1=Sum[Sin[k], {k, 1 , 5}] Out[25]= Sin[1] + Sin[2] + Sin[3] + Sin[4] + Sin[5] In[26]: = s1=NSum[Sin[k], {k, 1 , 5}] Out[26]= 0.176162 In[27]: = s2=NSum[1/k^2 , {k, 1,Infinity}] Out[27]= 1.64493

  16. 例9:设 用Sum命令生成s1(x), s3(x), s6(x),并在同一个坐标系中画出s1(x), s3(x), s6(x)在[-1,1]上的图形 解:Mathematica 命令为: • In[28]:= s1=Sum[(k+1)*x^k, {k, 0, 1}] • Out[28]=1+2x • In[29]:= s3=Sum[(k+1)*x^k, {k, 0, 3}] • Out[29]=1+2x+3x 2+4x3 • In[30]:= s6=Sum[(k+1)*x^k, {k, 0, 6}] • Out[30]=1+2x+3x2+4x3+5x 4+6x5+7x 6 • In[31]:= Plot[{s1,s3,s6},{x,-1,1}]

  17. 2 连续求积命令 • 求积命令的一般形式为 Product[ 通项, 求积范围 ] 或 NProduct[ 通项, 求积范围 ] 式中的范围与求和命令Sum相同,具体形式有 命令形式1: Product [f(i) , {i ,imin,imax,h }] 功能: 计算和 f(imin)f(imin +h) f(imin +2h) ……f(imin +nh)} imax – h  imin + nh  imax , h>0 例如:计算和1232 …19 2, 由连乘的规律, 知通项为i2 Mathematica命令: In[32]: = Product [ i^2 , { i , 1, 19 , 2} ] Out[32]= 428670161650355625

  18. 命令形式2: Product [ f(i) , { i ,imin,imax }] 功能:计算和 f(imin) f(imin +1) f(imin +2) ……f(imax) 命令形式3: Product[ f(i , j),{{i,imin,imax}, {j ,jmin,jmax}] 功能:计算二重和式

  19. 例:计算 Mathematica命令: • In[33]: = s=Product[1/(k^2-1), {k, 2 , 15}] • Out[33]= 1/912006534786239692800000 例:计算 解:Mathematica 命令为: In[34]: = s=Product[Cos[k], {k, 1 , 4}] Out[34]= Cos[1] Cos[2] Cos[3] Cos[4] In[35]: = s=NProduct[Cos[k], {k, 1 ,4}] Out[35]= -0.145498

  20. 4方程求根 在数学中, 函数等于零的式子就称为方程。 f(x)= 0 (1) 就称为一元函数方程. 类似的有多元函数方程组: 1(x1 ,x2 ,… ,x n) = 0 2(x1 ,x2 ,… ,x n) = 0 …………. (2) n(x1 ,x2 ,… ,x n) = 0

  21. 4.1 求多项式方程的根 n次多项式方程的一般形式为: a0 +a1x+ a2x2 +…+anx n = 0 式中a0 ,a1, a2,…,an为常数。 求多项式方程的根的一般形式为 • Solve [ 方程或方程组, 变量或变量表 ] 或 NSolve [ 方程或方程组, 变量或变量表 ] 具体形式有: 命令形式1: Solve[eqn, x] 功能:求多项式方程eqn的所有根,当多项式方程的次数n4时,给出eqn所有根的准确形式, 当n>4时,不一定能求出所有的根, 此时,命令输出形式为 {ToRules[Roots[eqn, x ]]}

  22. 命令形式2: Solve[{eqn1, eqn2, …, eqnk}, {x1, x2,…, xk}] 功能:求多项式方程组{eqn1, eqn2, …, eqnk}的所有根, 当其中每个多项式方程的次数n4时, 给出所有根的准确形式: {ToRules[Roots[{eqn1, eqn2, …, eqnk}, {x1, x2,…, xk} ]]} 命令形式3: NSolve[eqn, x] 功能:求多项式方程eqn的所有根的近似形式。 命令形式4: NSolve[{eqn1, eqn2, …, eqnk}, {x1, x2,…, xk}] 功能:求多项式方程组{eqn1, eqn2, …, eqnk}所有根的近似形式。

  23. 例:求方程 x3 -4x 2 +9x - 10 = 0的所有根 解:Mathematica 命令为: In[36]: = Solve[x^3-4x^2+9x-10==0 , x] Out[36]= {{x -> 1 - 2 I}, {x -> 1 + 2 I}, {x -> 2}} 所以,所求全部根为 x1=1-2I,x2=1+2I , x3=2, I为虚数单位。 例:求方程x 2 -ax - 4b=0的所有根,a,b 为常数。 解:Mathematica 命令为: In[37]: = Solve[x^2-a*x-4*b==0 , x] a - Sqrt[a2 +16b] a + Sqrt[a2 + 6b] Out[37]= {{x -> -----------------------}, {x -> ------------------------}} 2 2 所求全部根为 a - Sqrt[a2 +16b] a + Sqrt[a2 + 6b] x1= -----------------------, x2 = ------------------------ 2 2

  24. 例:求方程组 x+3y=0 x2+y2=1 的所有根。 解: Mathematica 命令为: In[38]: = Solve[{x+3y==0,x^2+y^2==1}, {x, y}] -3 1 3 1 Out[38]= {{x -> -------------, y -> ---------- }, {x -> ----------, y -> - (------)}} Sqrt[10] Sqrt[10] Sqrt[10] Sqrt[10] 所求全部根为 -3 1 3 1 {x1= --------- , y1= ----------}, {x2= ---------- , y2= - (-----------)} Sqrt[10] Sqrt[10] Sqrt[10] Sqrt[10]

  25. 例: 求方程 x6 -x2 +2x - 3 = 0 的所有根。 解: Mathematica 命令为: In[39]: = Solve[x^6-x^2+2x-3==0 , x] Out[39]= {ToRules[Roots[2 x – x2 + x6 = = 3, x]]} In[40]: = NSolve[x^6-x^2+2x-3==0 , x] Out[40]= { {x -> -1.40825}, {x -> -0.465869 - 1.19413 I}, {x -> -0.465869 + 1.19413 I}, {x -> 0.608047 - 0.885411 I}, {x -> 0.608047 + 0.885411 I}, {x -> 1.12389} } 得所求全部6个近似根为 x1=-1.40825, x2=-0.465869- 1.19413 I x3=-0.465869 + 1.19413 I, x4= 0.608047 - 0.885411 I, x5= 0.608047 + 0.885411 I, x6= 1.12389 , I为虚数单位。

  26. 例: 求方程组 a1+a2=1 x1 a1+x2a2=1/4 x12a1+x22 a2=1/9 x13a1+x23 a2=1/16 的所有根,这里x1 ,x2,a1,a2 是变量。 解: Mathematica 命令为: In[41]:=Solve[{a1+a2==1,x1*a1+x2*a2==1/4,x1^2*a1+x2^2*a2==1/9, x1^3*a1+x2^3*a2==1/16}, {a1,a2,x1,x2}] 212 - 9 Sqrt[106] 212 + 9 Sqrt[106] Out[41]= {{a1 -> -----------------------, a2 -> -------------------- , 424 424 15 - Sqrt[106] 180 + 12 Sqrt[106] x2 -> ----------------, x1 -> ------------------------ }, 42 504

  27. In[42]: = N[%] Out[42]={{a1 -> 0.281461, a2 -> 0.718539, x2 -> 0.112009, x1 -> 0.602277}, {a1 -> 0.718539, a2 -> 0.281461, x2 -> 0.602277, x1 -> 0.112009} In[43]: = N[%, 8] Out[43]= {{a1 -> 0.28146068, a2 -> 0.71853932, x2 -> 0.11200881, x1 -> 0.60227691}, {a1 -> 0.71853932, a2 -> 0.28146068, x2 -> 0.60227691, x1 -> 0.11200881}}

  28. 4.2 求超越方程的根 求超越方程的根的一般形式为 FindRoot [ 方程或方程组, {变量或变量表, 初值} ] 具体形式有 命令形式1: FindRoot[eqn, {x, x0}] 功能:求方程eqn的在初值x0附近的一个近似根。 命令形式2: FindRoot[{eqn1,eqn2, ... }, {x, x0}, {y, y0}, ... ] 功能:求方程组{eqn1, eqn2, …}在初值(x0,y0,…)附近的一个近似根。

  29. 例:求方程组 x= y2 y=cos x 在(1,2)附近的根 解: Mathematica 命令为: In[44]: = FindRoot[{x== y^2, y==Cos[x]}, {x,1},{y,2}] Out[44]= {x -> 0.641714, y -> 0.801071} 所求的根为 x= 0.641714, y = 0.801071。

  30. 例:求方程x sin x = 1在[0, 5]内的所有根。 解: Mathematica 命令为: In[45]: =Plot[x*Sin[x] - 1 ,{ x, 0, 5}] In[46]: = FindRoot[x*Sin[x] – 1 ==0, {x, 1}] (*方程在1附近的根) Out[46]= {x -> 1.11416} In[47]: = FindRoot[x*Sin[x] – 1 ==0, {x, 3}] (*方程在3附近的根) Out[47]= {x -> 2.7726} 所求根为x1 = 1.11416 , x2= 2.7726。

More Related