- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
代数方程和微分方程求解
第4章:代数方程和微分方程求解 代数方程组的符号解 代数方程组的符号求解函数为solve函数,函数调用格式为 x=solve(fun1,fun2,…,funm,var1,…,varm) 其中fun1, fun2,…为符号表达式。var1,var2,….为符号变量,指明所求解的变量。如果不指明所求解的变量,则系统根据变量在英文字母中与x的接近程度选择。 solve函数还有另一种调用形式 x=solve(eq1,eq2,…,eqm,var1,…,varm); 其中 eq 是字符串,定义方程。 var也是字符串,指明所求解的变量。 例4.1 求解线性方程组 参考程序 syms x y z a [u,v,w]=solve(a*x+y+z-1,x+a*y+z-... 2,x+y+a*z-3,x,y,z) 输出结果: u = (a - 4)/(a^2 + a - 2) v = 2/(a + 2) w = (3*a)/(a^2 + a - 2) 也可以利用下面的语句求解 s=solve(a*x+y+z-1,x+a*y+z-2,x+y+a*z-3,x,y,z) s = x: [1x1 sym] y: [1x1 sym] z: [1x1 sym] 其中,s是结构形数据。可以用下面的方法显示求得的解 s.x ans = (a - 4)/(a^2 + a - 2) 方程组的符号求解得到的是解析式。其优点是可以得到含未知参数的解,有利于进一步的分析。缺点是计算效率低,且复杂的问题一般得不到解析解。 常微分方程组的符号求解 常微分方程(组)的符号运算函数为dsolve,调用格式为 变量=dsolve(eq1,eq2,…); 其中equ1, equ2等是字符串,描述微分方程。方程形式与solve语句中类似,其中的导数项利用D表示,Dy,D2y分别描述y的一阶和二阶导数。初值和边值条件也利用方程描述。 例4.2:求微分方程 的通解和在初始条件y(0)=1,y’(0)=2下的特解 y=dsolve(D2y-2*Dy+2*y=0) y = C24*exp(t)*cos(t) + C25*exp(t)*sin(t) y=dsolve(D2y-2*Dy+2*y=0,... y(0)=1,Dy(0)=2) y = exp(t)*cos(t) + exp(t)*sin(t) 代数方程的数值方法 多项式 在matlab语言中,多项式利用行向量表示。如向量 u=[1 2 0 -5 4] 用作多项式函数时,与多项式 对应。因此,多项式运算对应向量的相关运算,如多项式的加法对应向量的加法等。 多项式求根 多项式运算的几个常用函数: P=conv(p1,p2); %多项式乘法 [d,r]=deconv(p1,p2); %多项式除法 Dp=polyder(p); %多项式的导数 Ip=polyint(p) %多项式的积分(原函数) Y=polyval(p,x) %输出多项式p在向量x的值 多项式求根的函数为 r=roots(p) 求得多项式p的所有根。 例4.3:求多项式 的根并在多项式图形中表示。 参考程序: q =[1 -20 138 -328 -223 1692 -1260]; r=roots(q); x=-2.2:0.05:8; y=polyval(q,x); y1=polyval(q,r); plot(x,y,r,y1,p) xlim([-2.2,8]) legend(polynomial,roots) 线性方程组的求解 线性方程组 Ax=b 可以利用矩阵除法直接得到。但当系数矩阵为稀疏矩阵时,利用稀疏矩阵函数可以得到更高的计算效率。 稀疏矩阵利用函数 A1=sparse(A); 定义。 例4.4:求解n阶线性方程组 对n=1000,分别利用正常方法和稀疏矩阵求解,并比较计算时间。 参考程序: n=1000; A=diag(2*ones(1,n))+diag(ones(1,n-1),1)+diag(ones(1,n-1),-1); A(n,1)=1;b=ones(n,1); tic x=A\b; toc A1=sparse(A); tic x=A1\b; toc 输出结果: Elapsed time is 0.144504 seconds. Elapsed time is 0.009240 seconds.
文档评论(0)