收藏 分销(赏)

Mathematica的基本运算.doc

上传人:pc****0 文档编号:9440191 上传时间:2025-03-26 格式:DOC 页数:5 大小:87.50KB 下载积分:10 金币
下载 相关 举报
Mathematica的基本运算.doc_第1页
第1页 / 共5页
Mathematica的基本运算.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
第3章Mathematica的基本运算 3.1 多项式的表示形式 可认为多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica提供一组按不同形式表示代数式的函数。 Expand[ploy] 按幂次展开多项式ploy ExpandAll[ploy] 全部展开多项式ploy Factor[ploy] 对多项式poly 进行因式分解 FactorTerms[ploy,{x,y,…}] 按变量 x,y,…进行分解 Simplify[poly] 把多项式化为最简形式 FullSimplify[ploy] 把多项式化简 Collect[poly,x] 把多项式poly按x幂展开 Collect[poly,{x,y…}] 把多项式poly按x,y….的幂次展开 1.下面是一些例子 (1) 对x 8 -1 进行分解 In[1]:=Factor[x^8-1] Out[1]=(-1+x)(1+x)(1+x 2)(1+x4) (2) 展开多项式 (1+x) 5 In[2]:= Expand[(1+x)^5] Out[2]=1+5x+10x 2+10x 3+5x 4+x5 (3) 展开多项式 (1+x+3y) 4 In[3]:= Expand[(1+x+3y)^4] Out[3]=1+4x+6x 2+4x 3+x 4+12y+36xy+36x 2y+12x 3y+54y 2 +108xy 2+54x 2y 2+108y 3+108xy 3+81y 4 (4) 展开并化简(2+x) 4 (1+x) 4 (3+x) 3 In[4]:= Simplify[Expand[(2+x)^4(1+x)^4(3+x)^3]] Out[4]=(3+x) 3 (2+3x+x 2 ) 4 2.多项式的代数运算 多项式的运算有加、减、乘、除运算:+,-,*,/ 下面通过例子说明。 (1) 多项式的加 运算a 2 +3a+2与a+1相加(后面例子中也使用这两个多项式运算) In[5]:=(a^2+3*a+2)+(a+1) 括号可以不要 Out[5]= 3+4a+ a 2 或者In[5]:=p1= a^2+3*a+2;p2= a+1;p1+p2 Out[5]= 3+4a+ a 2 (2) 多项式相减 In[6]:=(a^2+3*a+2)-(a+1) Out[6]= 1+2a+ a 2 或者In[6]:=p1-p2 Out[6]= 1+2a+ a 2 (3) 多项式相乘 In[7]:=(a^2+3*a+2)*(a+1) Out[7]= (1+ a) (2+3a+ a2) 或者In[7]:=p1*p2 Out[7]= (1+ a) (2+3a+ a2) In[8]:=Expand[p1*p2] Out[8]=2+5a+4a 2+a 3 (4) 多项式相除 In[9]:=(a^2+3*a+2)/(a+1) Out[9]= 或者In[9]:=p1/p2 Out[9]= (5) 另外使用Cancel函数可以约去公因式 In[10]:=Cancel[p1/p2] Out[10]=2+a 两个多项式相除,总能写成一个多项式和一个有理式相加Mathematic中提供两个函数PolynomialQuotient和PolynomialRemainder分别返商式和余式。 例如: In[11]:=PolynomialQuotient[x^2, 1+2x,x] Out[11]= 商的整式部分 In[12]:= PolynomialRemainder[x^2, 1+2x,x] Out[12]= 商的余式部分 3.2方程及其根的表示 因为Mathematica把方程看作逻辑语句。在数学方程式表示为形如“x 2 -2x -3=0”的形式。在Mathematica中“=”用作赋值语句,这样在Mathematica中用“==”(两个等号中间没有空格)表示逻辑等号,则方程应表示为“x^2 -2x -3==0” 。方程的解同原方程一样被看作是逻辑语句。例如用Roots[lhs==rhs,vars]求方程x 2-3x+2=0的根显示为: In[1]:=Roots[x^2-3x+3==0,x] Out[1]=x==1||x==2 这种表示形式说明x取1或2均可 而用Solve[lhs==rhs,vars]可得解集形式: In[2]:=Solve[x^2-3x+3==0,x] Out[2]={{x→1},{x→2}} 1 求解一元代数方程 下面是常用的一些方程求解函数: Solve[lhs==rhs,vars] 给出方程的解集 NSolve[lhs==rhs,vars] 直接给出方程的数值解集 Roots[lhs==rhs,vars] 求表达式的根 FindRoot[lhs==rhs,{x,x 0}] 求x在x 0附近的方程的数值解 先看Solve函数例子: In[3]:=Solve[x^2-2x-3==0,x] Out[3]= {{x→-1},{x→3}} Solve函数可处理的主要方程是多项式方程。Mathematica总能对不高于四次的方程进行精确求解,对于三次或四次方程,解的形式可能很复杂。 例如求x 3 +5x+3=0 In[4]:=Solve[x^3+5x+3==0,x] 这时可用N函数近似数值解: In[5]:=N[%] Out[5]= {{x→-0.5641},{x→0.28205-2.28881i},{x→0.28205+2.28881i}} 当方程中有一些复杂的函数时,Mathematica可能无法直接给出解来。在这种情况下我们可用FindRoot[]来求解,但要给出起始条件。 例如求3Cosx=lnx的解: In[6]:=FindRoot[3*Cos[x]==Log[x],{x,1}] Out[6]= {x→1.44726} 但只能求出x=1附近的解,如果方程有几个不同的解,当给定不同的条件时,将给出不同的解。如上例若求x=10附近的解命令为: In[7]:=FindRoot[3*Cos[x]==Log[x],{x,10}] Out[7]= {x→13.1064} 因此确定解的起始位置是比较关键,一种常用的方法是,先绘制图形观察后再解。 In[8]:=Plot[{3*Cos[x],Log[x]},{x,1,15}] Out[8]= - Graphics - 如上例通过图形可断定在x=5附近有另一根: In[9]:=FindRoot[3*Cos[x]==Log[x],{x,5}] Out[9]= {x→5.30199} 2.求方程组的根 使用Solve,NSolve和FindRoot也可求方程组的解,只是使用时格式略有不同,下面给出一个Solve函数的例子: 求解 In[10]:=Slove[{2*x+3*y==9,x-2*y==1},{x,y}] Out[10]= {{x→3, y→1}} 3求方程的全解 如果我们求ax 2 +bx+c=0的根,我们用Solve函数解的结果是: In[11]:=Solve[a*x^2+b*x+c==0,x] Out[11]={{ x→},{ x→}} 这显然是不合理的,因为对不同的a,b,c方程的解有不同的情况,而上面只是给出部分解如果要解决这个问题可用Reduce命令,它可根据a,b,c的取值给出全部值。 In[12]:=Reduce[a*x^2+b*x+c==0,x] Out[12]= a≠0 && (x==|| x==|| a==0 && b≠0 && x==||c==0 && b==0 && a==0 因此Solve,Roots只给出方程的一般解,而Reduce函数数可以给出方程的全部可能解。 4.解条件方程 在作方程计算时,可以把一个方程看作你要处理的主要方程,而把其他方程作为必须满足的辅助条件,你将会发现这样处理很方便。譬如在求解像x 4 + bx 2 +c = 0这样的方程时,通常我们采用x 2 = y的代换方法,使求解方程得到简化。 在Mahematica中,我们通常是首先命名辅助条件组,然后用名字把辅助条件包含在你要用函数Solve[] 求解的方程组中。 用Sc定义方程:sin 2 x + cos 2 x = 1,在这种条件下,求解方程cosx + 2sinx = 1。 In[1]:=Sc=Sin[x]^2+Cos[x]^2==1 Out[1]=Cos[x] 2 +Sin[x] 2 ==1 In[2]:=Solve[{Cos[x]+2Sin[x]==1,Sc},{Sin[x],Cos[x]}] Out[2]={{Sin[x]→0,Cos[x]→1},{Sin[x]→,Cos[x]→}} 3.3求和与求积 在Mathematica中,数学上的和式符号用Sum表示,连乘符号用Product表示。下面列出求和与求积函数的形式和意义: Sum[f,{i,imin,imax}] 求和 Sum[f,{i,imin,imax,di}] 以步长di增加i求和 Sum[f,{i,imin,imax},{j,jmin,jmax}] 嵌套求和 Product[f,{i,imain,imax}] 求积 Product [f,{i,imin,imax,di}] 以步长di增加i求积 Product[f,{I,imin,imax},{j,jmin,jmax}] 嵌套求积 Nsum[f,{i,imin,Infinity}] 求近似值 NProduct[f,{i,imin,Infinity}] 求近似值 一些例子: 求1到9的奇数和: In[1]:=Sum[2i-1,{i,1,9}] Out[1]=81 若下限是1,可以省略: In[2]:=Sum[2i-1,{i, 9}] Out[2]=81 下式构造一个多项式: In[3]:=Sum[i*x^i,{i,1,9,2}] Out[3]=x +3x 3 +5x 5 +7x 7 +9x 9 Mathematic可以给出和的精确结果: In[4]:=Sum[1/n!,{n,1,11}] Out[4]= In[5]:=N[%] Out[5]=1.71828
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服