- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.matlab在求解方程中的应用
在求解方程中的应用 许海洋 * * 6.1 代数方程 6.2 微分方程 6.3 非线性方程求解 求多项式零点 6.4 常微分方程数值解法 6.1 代数方程 solve (f,t) 功能:对变量t 解方程f=0,t 缺省时默认为x 或最接近字母x 的符号变量。 例:求解一元二次方程f=a*x^2+b*x+c的实根 syms a b c x f=a*x^2+b*x+c; solve (f,x) ans= [1/2/a*(-b+(b^2-4*a*c)^ (1/2))] [1/2/a*(-b-(b^2-4*a*c)^ (1/2))] g1=x+y+z-1; g2=x-y+z-2; g3=2*x-y-z-1; [x,y,z]=solve(g1,g2,g3) x = 2/3 y = -1/2 z = 5/6 求解方程组 6.2 微分方程 dsolve(‘eq’, ’s1’, ’s2’,…, ’x’) 其中eq为方程;s1,s2,……为初始条件,缺省时给出含任意常数c1,c2,……的通解;x为自变量,缺省时默认为t 。 例:求微分方程的通解 dsolve(Dy=1+y^2) ans= tan(t+c1) y的一阶导数—— Dy, y的二阶导数—— D2y 微分方程符号解 y = dsolve(Dy=1/(1+x^2)-2*y^2,y(0) = 0,x) y = 2*x/(2*x^2+2) 符号解: pretty(y) y(x)= x / (1 + x 2) ezplot(y,-6,6) syms P t P=dsolve(DP=0.02*P*(1-P/500),P(0)=76) P = 500/(1+106/19*exp(-1/50*t)) ezplot(P,0,200) pretty(P) 例 P’ =0.02P ( 1 – P/500 ) 初始条件: P(0)=76 求一元函数零点 fzero(fun, x0) X = fzero(fun, x0)寻找fun在x0附近的零点 6.3 非线性方程求解 已知函数 f(x),求 x 使 f(x)=0 x y (k = 1,2,·······) 例 x = tan x f=inline(x-tan(x)) x=fzero(f,3.5) x = 4.4934 求多项式零点: roots(p) 例1 求方程 x3 – 4x + 5 = 0 的解 P=[1 0 -4 5]; roots(P) ans = -2.4567 1.2283 + 0.7256i 1.2283 - 0.7256i 例2 求 x3 –8x2 +6x– 30=0的解 P=[1 -8 6 -30]; r=roots(P) r = 7.7260 0.1370 + 1.9658i 0.1370 - 1.9658i 6.4 常微分方程数值解法 求解微分方程初值问题 在区间[t0,tf]的数值解的函数为 [t,x]=ode23(‘fun’,[t0,tf],x0,’选项’) ----2/3阶RKF(Runge-Kutta-Felhberg)法 [t,x]=ode45(‘fun’,[t0,tf],x0,’选项’) ----4/5阶RKF(Runge-Kutta-Felhberg)法 其中函数fun的编写格式如下: function xdot=fun(t,x) 编写函数文件verderpol.m: function xprime = verderpol(t,x) global MU xprime = [x(2);MU*(1-x(1)^2)*x(2)-x(1)]; 再在命令窗口中执行: global MU MU = 7; Y0=[1;0] [t,x] = ode45(verderpol,0,40,Y0); x1=x(:,1);x2=x(:,2); plot(t,x1,t,x2) 图形结果 例2 食饵-捕食者模型 其中x(t),y(t)分别表示食饵和捕食者t时刻的数量。 求r=1,d=0.5,a=0.1,b=0.02,x0=25,y0=2时的数值解,并画出x(
文档评论(0)