MATLAB考试复习题及例题 下载本文

F=[cos(a*x) sin((a+b)2*x)] [-sin(b*x) en]; 用 fzero 命令求解函数 x ) ? x 4 ? 4 x ? 5 的零点 f(( 1)建立函数 f(x)的 M 文件。 function y=fun1(x) y=x.^4-4*x-5;

( 2)建立水平横轴的 M 文件。 function y=fun2(x) y=0;

( 3)用作图法估计函数零点位置。 >> fplot('fun1',[-5,5],'r') >> hold on

>> fplot('fun2',[-5,5],'r')

( 4)用 zoom 和 ginput 命令获得零点的初始近似值

在程序中输入下列命令,可得到函数的局部放大图及鼠标操作线。 zoom on %局部放大命令 [tt]=ginput(1)

[yy]=ginput(1) %用鼠标获取 2 个零点猜测值 zoom off %恢复原来图形大小

显示所得零点初始猜测值,结果为: tt =

-0.9838 0.0001 yy =

1.8762 0.0091

(5)用函数 fzero 命令求函数的精确零点

[x,fval,exitflag]=fzero(’fun1’,tt(1),[]) %靠近 tt(1)点处的精确零点

[x,fval,exitflag]=fzero(’fun1’,yy(1),[]) %靠近 yy(1)点处的精确零点 结果为: Zero found near tt. x = -1

fval = 0

exitflag = 1

求方程组 ?? x1 ? 0 .7 sin x 1 ? 0 .2 cos x 2 ? 0

?x2?0.7cosx1?0.2sinx2?0首先编制函数文件fc.m function y=fc(x)

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

然后用fsolve求解

>>[x,fval,exitflag,output,jacob]=fsolve(‘fc’, [1.,1.],[]) %[1.,1.]为初值 x =

0.3367 0.5553 fval =

1.0e-008 *

0.2029 0.5242 exitflag = 1 output =

firstorderopt: 5.7877e-009 iterations: 5 funcCount: 16 cgiterations: 4

algorithm: [1x43 char] jacob =

(1,1) 0.3393 (2,1) 0.2313 (1,2) -0.1700 (2,2) 1.1700

求方程组 ?? sin x ? y ? 0 的解。

?x?6y?0初始零点猜测值为:[x0,y0]=[0.0, -0.0058] 的根。

用fsolve 函数命令求精确解

fun=’[sin(x(1))+x(2),x(1)+6*x(2)]’; %用字符串表达式形式命令。

注意自变量必须写成x(1)和 x(2) fun 函数也可用 M 函数文件的形式

function yy=fun(x) yy(1)=sin(x(1))+x(2); yy(2)=x(1)+6*x(2);

[XX,YY]=fsolve(fun,[x0(1),y0(1)]) %解此非线性方程组 XX =

1.0e-016 *

-0.5464 0.1214 YY =

1.0e-016 *

-0.4250 0.1821

求非线性方程组 解:

[x,y,z]=solve('x^2+sqrt(2)*x+2=0','x+3*z=4','y*z=-1','x','y','z') x =

[ (-1/2+1/2*i*3^(1/2))*2^(1/2)] [ (-1/2-1/2*i*3^(1/2))*2^(1/2)] y=

[-51/73+3/73*i*3^(1/2)-27/146*(-1/2+1/2*i*3^(1/2))*2^(1/2)-3/146*2^(1/2)]

?x2?2x?2?0? ? x ? 3 z ? 4 ?yz??1? 的解 。

[ -51/73-3/73*i*3^(1/2)-27/146*(-1/2-1/2*i*3^(1/2))*2^(1/2)-3/146*2^(1/2)] z =

[ -1/3*(-1/2+1/2*i*3^(1/2))*2^(1/2)+4/3] [ -1/3*(-1/2-1/2*i*3^(1/2))*2^(1/2)+4/3] 求 d fdt

? f ? g

, dgd t ? ? f ? g , f(0)=1, 的解。

S = dsolve(’Df = f + g’,’Dg = -f + g’,’f(0) = 1’,’g(0) = 2’) S = f: [1x1 sym] g: [1x1 sym] S.f

ans = exp(t)*(cos(t)+2*sin(t)) S.g

ans =

exp(t)*(-sin(t)+2*cos(t))

上机 练习(6)

1)求解下列微分方程

a. y’=(x+y)(x-y)

b. xy’=ytg(y/x),y(10)=1

g(0)=2