求解方程关于变量的数值解.PPT

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
求解方程关于变量的数值解

科学计算软件 第六章 求解方程 6.1 求解代数方程 Solve[方程,变量]:尝试求解关于变量的方程。 注意方程中的等号要用连等号“==”表示 方程的根用列表形式表示:{{x-x1},{x-x2},...},注意符号x并没有用x1取代 例1 当只有一个符号时,在Solve命令中不必列出 Solve[7x+3==3x+8] 6.1 求解代数方程 例2 出现多个符号时,要标明哪些符号是待求变量 Solve[a y+b==c x+d] Solve[a y+b==c x+d,y] Solve[a y+b==c x+d,b] Solve[a y+b==c x+d,d] 6.1 求解代数方程 方程组的求法 例3 Solve[{2x+3y==7,3x+4y==10},{x,y}] Solve[{2x+3y==73x+4y==10}] Solve[2x+3y==73x+4y==10] 6.1 求解代数方程 例4 如果未知数的个数超过方程的个数,则必须指定所希望求解的变量 Solve[{x+2y+z==5,2x+y+3z==7},{y,z}] 例5 Solve同样可以求解非线性方程,下式将得到一元二次方程的求根公式 Solve[a x^2+b x+c==0,x] 6.1 求解代数方程 Solve得到的解以嵌套列表的形式表示,所以不能直接作为其它数学结构的输入。 先将解用一个变量表示,再用替换符号代入 使用Part或[[]]提取列表中的值 例7 求给定的方程组的解,并求Sqrt[x^2+y^2]在这些解上的值 solutions=Solve[{x^2+y==5,x+y==3},{x,y}] Sqrt[x^2+y^2]/.solutions 6.1 求解代数方程 代数方程是未知数和常数进行有限次代数运算所组成的方程。代数方程包括有理方程和无理方程。 与代数方程相对的是超越方程。 代数运算是指包括加、减、乘、除、乘方、开方的以代数式为对象的运算。 代数式就是用字母表示常数或变量的表达式,其中也可包含数字。代数式包括整式和分式。 6.1 求解代数方程 超越方程:等号两边至少有一个含有未知数的初等超越函数式的方程。 如指数方程、对数方程、三角方程、反三角方程等。 例如:2^x=x+1,sin x+x=0。 超越方程一般没有解析解,而只有数值解或近似解,只有特殊的超越方程才可以求出解析解来。 求解超越方程的近似解法有很多。常用的近似解法有牛顿法、割线法、幂级数解法等等 超越函数 自变量之间的关系不能用有限次加、减、乘、除、乘方、开方 运算表示的函数。 如指数函数、对数函数、三角函数和反三角函数等都是超越函数 6.1 求解代数方程 例9 Solve也可以求解超越方程的有限解。这时会得到一条消息,告知它并没有求出所有解 Solve[Sin[x]==1/2,x] 例10 Solve[{2x+3y==5,4x+6y==11}] 6.1 求解代数方程 例11 Mathematica中用-1的幂来表示复数,也可以指定用i表示虚数单位 Solve[x^3==1] Solve[x^3==1]/.(a_-b_):(a-ComplexExpand[b]) 载入软件包Miscellaneous`RealOnly`可以给所有的复根标上Nonreal,即只显示实根的值 Miscellaneous`RealOnly` Solve[x^3==1] 6.1 求解代数方程 并不是所有的代数方程都有符号解,这时要考虑有限精度的数值解 NSolve[方程,变量]:求解方程关于变量的数值解 NSolve[方程,变量,n]:求解方程关于变量的数值解,达到n位精度 6.1 求解代数方程 例 12 equation=x^4-16x^3+61x^2-22x-12==0; Solve[equation] NSolve[equation] NSolve[equation,25] 6.1 求解代数方程 对于NSolve来说,过高的精度有时没有意义,因为Mathematica在内部计算时默认只使用16位有效数字。 此时可以使用N[Solve[方程,变量],n]来指定精度 例13 NSolve[x^(1/3)+Sqrt[x]+x==10,x,20] N[Solve[x^(1/3)+Sqrt[x]+x==10,x],20] 6.1 求解代数方程 Reduce[方程,变量]:简化方程,并尝试求解变量。 如果方程为恒等式,就返回值True 如果方程为矛盾的,则返回False 例 15 Solve[a x==b,x] Reduce[a x==b,x] Reduce[ x^2-9==(x+3) (x-3),x] Reduce[ x^2-10==(x+3) (x-3),x]

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档