- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2 常微分方程求解
第四章 方程求解
1 代数方程(组)求解
1.1 常用求解工具—solve
求解代数方程或代数方程组, 使用Maple中的solve函数. 求解关于x的方程eqn=0的命令格式为:
solve(eqn, x);
求解关于变量组vars的方程组eqns的命令为:
solve(eqns, vars);
eqn:=(x^2+x+2)*(x-1);
solve(eqn,x);
当然, solve也可以求解含有未知参数的方程:
eqn:=2*x^2-5*a*x=1;
solve(eqn,x);
solve函数的第一个参数是有待求解的方程或方程的集合, 当然也可以是单个表达式或者表达式的集合, 如下例:
solve(a+ln(x-3)-ln(x),x);
对于第二个参数, Maple的标准形式是未知变量或者变量集合, 当其被省略时, 函数indets自动获取未知变量. 但当方程中含有参数时, 则会出现一些意想不到的情况:
solve(a+ln(x-3)-ln(x));
很多情况下, 我们知道一类方程或方程组有解, 但却没有解决这类方程的一般解法, 或者说没有解析解. 比如, 一般的五次或五次以上的多项式, 其解不能写成解析表达式. Maple具备用所有一般算法尝试所遇到的问题, 在找不到解的时候, Maple会用RootOf给出形式解.
x^7-2*x^6-4*x^5-x^3+x^2+6*x+4;
solve(%);
solve(cos(x)=x,x);
对于方程组解的个数可用nops命令获得, 如:
eqns:={seq(x[i]^2=x[i],i=1..7)};
nops({solve(eqns)});
但是, 有时候, Maple甚至对一些“显而易见”的结果置之不理, 如:
solve(sin(x)=3*x/Pi,x);
此方程的解为, 但Maple却对这个超越方程无能为力, 即便使用allvalues求解也只有下述结果:
allvalues(%);
另外一个问题是, Maple在求解方程之前,会对所有的方程或表达式进行化简, 而不管表达式的类型, 由此而产生一些低级的错误:
(x-1)^2/(x^2-1);
solve(%);
但是, 大量实验表明, solve的确是一个实用的方程求解工具, 但是也不可盲目相信它给出的一切结果, 特别是对于非线性方程而言, 对于给出的结果需要加以验证.
下面通过几个例子说明在Maple中非线性方程组的求解问题.
例:求解方程组:
eqns:={x^2+y^2=25,y=x^2-5};
vars:={x,y};
solve(eqns,vars);
也可用下面的语句一步求出:
solve({x^2+y^2=25,y=x^2-5},{x,y});
这个问题非常简单, 但通常遇到的非线性问题却不是这么简单, 例如要求解方程组:
eqns:={x^2+y^2=1,sqrt(x+y)=x-y};
vars:={x,y};
sols:=solve(eqns,vars);
可以看出, 方程解的形式是以集合的序列给出的, 序列中的每一个集合是方程的一组解, 这样就很利于我们用subs把解代入原方程组进行检验:
subs(sols[2],eqns);
sols2:=allvalues(sols[1]);
simplify(subs(sols2,eqns));
1.2 其他求解工具
1.2.1 数值求解
对于求代数方程的数值解问题, Maple提供了函数fsolve, fsolve的使用方法和solve很相似:
fsolve(eqns, vars, options);
其中, eqns表示一个方程、方程组或者一个程序, vars表示一个未知量或者未知量集合, options控制解的参数(诸如:complex: 复根; maxsols=n:只找到n阶最小根; intervals:在给定闭区间内求根, 等).
fsolve(x^5-x+1,x);
fsolve(x^5-x+1,x,complex);
fsolve(x^3-3*x+1,x,0..1);
对于多项式方程, fsolve在默认情况下以给出所有的实数解, 如果附加参数complex, 就可以给出所有的解. 但对于更一般的其他形式的方程, fsolve却往往只满足于得到一个解:
eqn:=sin(x)=x/2;
fsolve(eqn);
fsolve(eqn,x,0.1..infinity);
fsolve(eqn,x,-infinity..-0.1);
函数fsolve主要基于两个算法, 通常使用牛顿法, 如果牛顿法无效, 它就改而使用切线法. 为了使fsolve可以求得所有
您可能关注的文档
- (国中部)104学年度上学期第一次月考国二自然与生活科技试题卷.doc
- 070-2015清华大学发展中国家研究博士项目博士生招生简章.doc
- 1 - 暖通空调.doc
- 0605020204与饭店部门合作的步骤及注意事项.ppt
- 03 纳雍县活禽屠宰冷链物流配送中心项目环境 - 毕节市环境保护局.doc
- 1 水冷多联机系统的数学模型 - 空调.doc
- 1 采集标本.doc
- 10 通信原理综合实验报告.doc
- 1 总论 - 衡水信息公开.doc
- 104年实验场所安全卫生查核表.doc
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)