好文档 - 专业文书写作范文服务资料分享网站

intersectab返回向量ab的公共部分

天下 分享 时间: 加入收藏 我要投稿 点赞

triplequad(Fun,a,b,c,d,m,n,?) %三重积分dxdyf(x,y,z)dz

bdn???acm

8.代数方程与常微分方程的求解 (1)代数方程的图解法 如:求解方程:

e?x?10

x2ezplot('exp(x)-x^2-10',[0,5]) hold on ,line([0,5],[0,0])

注:通过局部放大图形,可得到原方程的解,直到曲线与x轴的交点附近完全一致。如下图红圈所示。

(2)代数方程的符号解

solve(eqn) %求解方程eqn=0,输入变量eqn可以是符号表达式或字符串

solve(eqn,'x') %对指定变量x求解eqn(x)=0

solve(eqn1,eqn2, ... ,eqnn) %求解方程:eqn1=0,eqn2=0, ... ,eqnn=0

32

1使用solve函数求解方程:x+4x-4x-1=0 如:○

solve('x^3+4*x^2-4*x-1')

2使用solve函数求解方程组:x+y=1,x-3y=5。 ○

[x,y]=solve('x+y=1','x-3*y=5')

(3)一般非线性方程数值解 x=fsolve(Fun,x0)

其中,Fun应该用M函数文件或inline函数按指定的格式描述,x0为搜索点的初值,方程求根程序从该值开始逐步减小误差搜索出满足方程的实根x。

如:先用图解法观察方程5x2sinx-e-x=0在区间[0,10]内有多少解,然后试用数值方法求之。

ezplot('5*x^2*sin(x)-exp(-x)',[0,10]) hold on line([0,10],[0,0])

从图中可以看出在[0,10]内共有4个解,分别在0,3,6,9附近

从而可以使用fsolve函数求其数值解

fun=inline('5*x.^3.*sin(x)-exp(-x)'); fsolve(fun,[0,3,6,9])

例:求解方程组:x-0.7sinx-0.2cosy=0, y-0.7cosx+0.2siny=0 解:先编制函数文件fu.m function y=fu(x)

y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2))=0; y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2))=0; y=[y(1),y(2)];

在命令窗口调用fu函数,并计算: x=fsolve('fu',[0.5,0.5])

结果为: x=

0.5265 0.5079

(4)常微分方程的符号解(解析解) dsolve(f1,f2, ... fn) dsolve(f1,f2, ... Fn,'x')

其中,fi既可以描述微分方程,又可以描述初始条件或边界条件。在描述微分方程,可以用D4y表示y(4)(t),还可以用D2y(2)=3表示y''(2)=3。如火自变量不是t而是x,则可以用后一个语句指明自变量。

如:求解微分方程y''-y'-ex=0的通解及在初始条件y(0)=1;y'(0)=2下的特解。

dsolve('D2y-Dy-exp(x)=0','x') ans =

C3*exp(x) + exp(x)*(x + C2*exp(-x))

在初始条件y(0)=1;y'(0)=2下:

dsolve('D2y-Dy-exp(x)=0','y(0)=1','Dy(0)=2','x') ans =

exp(x) + x*exp(x)

(5)常微分方程的数值解法

[T,Y]=ode45(Fun,[t0,tf],y0) %在区间[t0,tf]上,用初始条件y0求解显式微分方程:y'=f(t,y),t0默认为0

例:求解微分方程y'=-2y+2x2+2x,0?x?0.5,y(0)=1 fun=inline('-2*y+2*x^2+2*x','x','y'); [x,y]=ode45(fun,[0,0.5],1); plot(x,y) %绘制解函数曲线图

例:考虑描述振荡器的经典Van der Pol方程:

ddt2y2??(y2dy?1)?y?0dt

在初始条件y(0)=1y'(0)=0的解(取μ=7)

intersectab返回向量ab的公共部分

triplequad(Fun,a,b,c,d,m,n,?)%三重积分dxdyf(x,y,z)dzbdn???acm8.代数方程与常微分方程的求解(1)代数方程的图解法如:求解方程:e?x?10x2ezplot('exp(x)-x^2-10',[0,5])holdon,line([0,5],[0,0])
推荐度:
点击下载文档文档为doc格式
6rimv88y5o0mq5e7eayt5nd0e7n2yj017ee
领取福利

微信扫码领取福利

微信扫码分享