第8章 MATLAB方程数值求解_习题答案

合集下载

MATLAB习题及参考答案经典.doc

MATLAB习题及参考答案经典.doc

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。

2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。

3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。

4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。

(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。

(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。

(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。

(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。

(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。

(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。

(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。

(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。

matlab-008

matlab-008
s=26.3445
Newton-cotes法 Newton-cotes法求数值积分用quadl()函数,其原理为:
I =

b a
nh n f ( x ) dx ≈ ⋅ ∑ Ai f ( a + ih ) N i=0
其中,Ai为科茨数,可以查表得到 梯形法调用格式为:I=quadl(‘fun’,a,b,tol) ,即用牛顿-科 茨法计算被积函数fun在(a,b)区间内的定积分;tol指定了 迭代精度,默认为.000001
矩阵除法求解
例:采用直接法解方程组:
3 1 0 1 1 −5 2 6 −4 0 1 −1 1 x1 13 7 x2 − 9 = x3 6 −1 x −4 4 0
-0 .1 5 8 7 1 . 1 5 8 6 X = 0 0
-0 .6 4 9 4 -0 .1 2 1 4 + k1 0 .7 3 3 3 -0 .1 6 0 8
+ k2
0 .0 1 8 2 -0 .9 0 0 5 -0 .0 3 8 1 0 .4 3 2 9
例:>>I=quadl('exp(-0.4*x).*cos(x+pi/3)',0,3*pi) I= -0.5874
重积分 二重积分用dblquad()函数求数值积分,其调用格式为: I=dblquad(fun,xmin,xmax,ymin,ymax,tol,method) 三重积分用triplequad()函数求数值积分,其调用格式为: I=triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)

第8章 积分的MATLAB求解

第8章 积分的MATLAB求解

无穷限的反常积分

对于无穷区间上的反常积分通常有两种解决方法,下面分别介绍: 无穷区间逼近 为叙述方便,仅考虑积分 的求解,由于
因此,取

,有
上式中的每个积分都是正常积分,利用前面介绍的方法求解。当
时停止计算。

变量替换
在某些情况下,可以通过变量替换将无穷区间的积分变成有限区间的积分。例如,用 变量替换
1.不定积分的定义
如果在区间 上,可导函数
称为被积函数,
称为被积表达式, 称为积分变量,也

2.不定积分的几何意义
函数 的一个原函数 的图像称为 的一条积分曲线。对于任意常数 , 表示的是一族曲线,我们称这个曲线族为 的积分曲线族。因此, 在几何上表示的是 的积分曲线族,而 正是积分曲线的斜率。积分曲线族中的每一条曲线在对应于同一横 坐标 处的切线都有相同的斜率 ,所以在这些点处,它们的切线相互平行,并且任意 两条积分曲线的纵坐标之间相差一个常数。因此,积分曲线族中的每一条曲线都可以由曲线 沿 轴上下移动而得到,如图所示。
1.无穷限的反常积分
这时也称反常积分 收敛;如果上述极限不存在,则函数 就没有意义,习惯上称为反常积分 发散,这时记号 类似地,设函数 在无穷区间 在区间 上连续,取 上的反常积分,记作 ,如果极限 ,即
在区间 上的反常积分 不再表示数值。 存在,则称此极限为函

这时也称反常积分 设函数 在区间
收敛;如果上述极限不存在,则称反常积分 发散。 上连续,如果反常积分 和 都收敛,则称上述两反常积分之和为函数 在无穷区间 上的反常积分,记作
这时也称反常积分 类似地,设函数 存在,则定义
收敛,如果上述极限不存在,则称反常积分 发散。 在 上连续,点 为函数 的瑕点,取 ,如果极限

Matlab习题答案

Matlab习题答案
(1) (3− 5i)(4 + 2i) (2) sin (2 − 8i)
参考答案: (1) >> (3-5*i)*(4+2*i) ans =
22.0000 -14.0000i
(2) >> sin(2-8*i) ans =
1.3553e+003 +6.2026e+002i
5.判断下面语句的运算结果。 (1) 4 < 20 (2) 4 <= 20 (3) 4 == 20 (4) 4 ~= 20 (5) 'b'<'B' 参考答案: (1) >> 4<20 ans =
y_nearest(i)=interp1(x,y,scalar_x(i),'nearest'); y_linear(i) =interp1(x,y,scalar_x(i),'linear'); y_spline(i) =interp1(x,y,scalar_x(i),'spline'); y_cubic(i) =interp1(x,y,scalar_x(i),'cubic'); end subplot(2,2,1),plot(x,y,'*'),hold on,plot(scalar_x,y_nearest),title('method=nearest'); subplot(2,2,2),plot(x,y,'*'),hold on,plot(scalar_x,y_linear),title('method=linear'); subplot(2,2,3),plot(x,y,'*'),hold on,plot(scalar_x,y_spline),title('method=spline'); subplot(2,2,4),plot(x,y,'*'),hold on,plot(scalar_x,y_cubic),title('method=cubic'); 得到结果为:

第八章matlab解方程

第八章matlab解方程

X
[x,f,h]=fsolve(f,x0)返回一元或者多元函 数f在x0附近的一个零点,其中x0为迭代 初值,f返回f在x0的函数值,应该接近0; h返回值如果大于0,说明计算结果可靠, 否则计算结果不可靠。
例 求函数 y x sin(x2 x 1)在(-2,-0.1)内的零点
>>fun=inline(‘x*sin(x^2-x-1)’,’x’) >>fplot(fun,[-2,-0.1]);grid on >>x1=fzero(fun,[-1,-1.2]),x2=fzero(fun,[-1.2,-0.1]) 或x1=fzero(fun,-1.6),x2=fzero(fun,-0.6) 或[x1,f1,h1]=fsolve(fun,-1.6), [x2,f2,h2]=fsolve(fun,-0.6)
例:>> fzero('sin(x)',10)
>> fzero(@sin,10) >> fzero('x^3-3*x+1',1) >> fzero('x^3-3*x+1',[1,2]) >> fzero('x^3-3*x+1',[-2,0]) >> f=inline('x^3-3*x+1'); >> fzero(f,[-2,0]) >> fzero('x^3-3*x+1=0',1)
非线性方程的根
fzero 的另外一种调用方式
fzero(f,[a,b])
求方程 f=0 在 [a,b] 区间内的根。 方程在 [a,b] 内可能有多个根,但 fzero 只给出一个

matlab编程基础与工程应用第八章课件

matlab编程基础与工程应用第八章课件

【 例 8.1-1】 电 阻 电 路 如 图 8-1 所 示 , 已 知 R1=R2=R3=1Ω , R4=R5=R6=2Ω,uS1=4V,uS2=-2V,求I3。
电阻电路可用回路电流法、支路电流法、节 点电压法等方法求解,本例给出回路电流法。
【解】 解法一:回路电流法。回路电流法以回路电 流为变量,根据基尔霍夫电压定律(KVL), 列写电路的独立回路组的KVL方程。如图81,将3个网孔作为选取的独立回路组,则回 路电流法的KVL方程组为



程序还调用 MATALB 信号处理工具箱中的周期 矩形脉冲的产生函数square。其调用格式为: square(T);产生一个周期为2π的矩形脉冲函数。 其最大值为 1 ,最小值为 -1. 函数自变量取值为 相量T的各元素的值。 square (T, duty);产生一个占空比duty、周期为 2π的矩形脉冲函数。 square(w*T, duty);产生一个占空比duty、周期 为2π/w的矩形脉冲函数。 由以上说明可知,square(w*t, 50)产生一个周 期为 2π/w 、占空比为 50% 、幅值为± 1 的周期 性矩形脉冲。
������ ������������ ������������ //������������ Z 1
电流表的读数即为电流������的模值。
clear clc w=1000; ZR=20; Us=160; ZL=j*w*0.04 ZC=-j*(1/(w*20*1e-6)); Z1=(ZL*ZC)/(ZL+ZC); Z=ZR+Z1; U=Us*(Z1/Z); I=U/ZL; Iy=abs(I) 程序运行结果为 Iy = 3.9801
(R1+ R6+ R2) I1- R6 I3- R2 I2=- uS1 (R2+ R4 + R5) I2- R2 I1- R5 I3=- uS2 (R3+ R5+ R6) I3- R6 I1- R5 I2= uS2

matlab习题答案

matlab习题答案

matlab习题答案MATLAB习题答案近年来,MATLAB(Matrix Laboratory)作为一种强大的数学软件工具,被广泛应用于科学计算、工程设计、数据分析等领域。

它提供了丰富的函数库和强大的计算能力,使得用户能够高效地解决各种数学问题。

然而,在学习和使用MATLAB的过程中,我们常常会遇到一些难题,需要寻找相应的解答。

本文将针对一些常见的MATLAB习题,提供一些解答和思路,以帮助读者更好地理解和应用MATLAB。

一、矩阵运算在MATLAB中,矩阵运算是一项重要的功能。

例如,给定一个矩阵A和一个向量b,我们需要求解线性方程组Ax=b。

可以使用MATLAB中的“\”运算符来实现,即x=A\b。

如果矩阵A是一个方阵且可逆,那么x将是方程组的唯一解。

如果A不可逆,那么x将是方程组的最小二乘解。

另外,MATLAB还提供了矩阵的转置、求逆、乘法等运算。

例如,可以使用“'”运算符来求矩阵的转置,即A'。

使用inv(A)函数可以求矩阵A的逆,使用A*B 可以实现矩阵的乘法。

二、数值积分数值积分是MATLAB中的另一个常见问题。

对于给定的函数f(x),我们需要计算其在某个区间[a, b]上的定积分。

可以使用MATLAB中的quad函数来实现数值积分,即quad(f, a, b)。

该函数会返回定积分的近似值。

如果需要进行多重积分,可以使用MATLAB中的dblquad函数或者triplequad 函数。

这些函数分别用于二重积分和三重积分的计算。

三、数据拟合在实际应用中,我们经常需要根据一组离散的数据点,拟合出一个函数。

MATLAB提供了polyfit函数来实现多项式拟合。

例如,对于给定的数据点x和y,可以使用p = polyfit(x, y, n)来拟合一个n次多项式。

返回的p是一个向量,包含了拟合多项式的系数。

除了多项式拟合,MATLAB还提供了其他拟合方法,如曲线拟合、指数拟合等。

MATLAB第1-8章答案

MATLAB第1-8章答案

第1章一、思考题4. (1) B=A(2:5,1:2:5)(2)A(7)=[](3) A=A+30(4)size(A)(5) t(find(t==0))=eps(6)t=reshape(x,3,4)(7)abs('matlab')(8)char(93)5. A=[97,67,34,10;-78,75,65,5;32,5,-23,-59;0,-12,54,7](1) B=A(1:3,:)C=A(:,1:2)D=A(2:4,3:4)E=B*C(2)A(find(A>=50 & A<=100))二、实验题1.x=-74/180*pi;y=-27/180*pi;sin(x*x+y*y)/sqrt(tan(abs(x+y)))+pi2.a=-3.0:0.1:3.0;exp(-0.3*a).*sin(a+0.3)3.x=[2,4;-0.45,5];log(x+sqrt(1+x.*x))/24. A=[3,54,2;34,-45,7;87,90,15];B=[1,-2,67;2,8,74;9,3,0]; (1)A*Bans =129 432 41977 -407 -1052402 591 12489A.*Bans =3 -108 13468 -360 518783 270 0(2) A^3ans =-28917 240246 -4368137883 -259101 27669171333 252504 38673A.^3ans =27 157464 839304 -91125 343658503 729000 3375(3)A/Bans =-5.8845 5.3549 -0.20286.3554 -5.6596 4.3293-6.6325 6.2078 9.0241B/Aans =30.2855 19.2643 -8.561433.4394 21.1547 -9.3974-0.7443 -0.3938 0.2830(4)[A,B]ans =3 54 2 1 -2 6734 -45 7 2 8 7487 90 15 9 3 0[A([1,3],:);B^2]ans =3 54 287 90 15600 183 -81684 282 72615 6 8255.a=1+2i;b=3+4i;c=exp(pi*i/6)c =0.8660 + 0.5000ic+a*b/(a+b)ans =1.6353 + 1.8462i第2章一、思考题3.s=0;for n=0:63s=s+2^n;enddisp(s)n=0:63;s=sum(2.^n)二、实验题1.x=input('输入一个四位整数:');y=[fix(x/1000),mod(fix(x/100),10),mod(fix(x/10),10),mod(x,10)] z=mod((y+7),10)x=z(3)*1000+z(4)*100+z(1)*10+z(2)2.gh=input('输入工号');h=input('输入工时');dj=84;if h>120gz=dj*120+1.15*dj*(h-120);elseif h<60gz=dj*h-700;elsegz=dj*h;endformat bank;display([gh,gz])3.循环结构n=input('input n:');s=0;for k=1:ns=s+1/k^2;enddisplay(sqrt(s*6))向量运算n=input('input n:');k=1:n;display(sqrt(sum(1./k.^2)*6))4.y=0;k=0;while y<3k=k+1;y=y+1/(2*k-1);enddisplay([k-1,y-1/(2*k-1)])5.x0=0;x=1;k=0;a=input('a=');b=input('b=');while abs(x-x0)>=1e-5 && k<500x0=x;x=a/(b+x0);k=k+1;enddisplay([k,x]);display([(-b+sqrt(b^2+4*a))/2,(-b-sqrt(b^2+4*a))/2]);6.y=fun(40)/(fun(30)+fun(20))(1)函数文件fun.mfunction f=fun(n)f=n+log(n^2+5);(2)函数文件fun.mfunction f=fun(n)a=1:n;f=sum(a.*(a+1));第3章一、思考题4.t=0:0.01:1.5;y=sqrt(3)/2*exp(-4*t).*sin(4*sqrt(3)*t+pi/3);5.x=-10:0.01:10;y=linspace(-6,6,size(x,2))z=x.^3+3*x.*y.^2;plot3(x,y,z)6.x=100:100:400;y=100:100:400;z=[636,697,624,478;698,712,630,478;680,674,598,412;662,626,552,334]; [X,Y]=meshgrid(x,y);mesh(X,Y,z)二、实验题1.(1)x=-10:0.01:10;plot(x,x-x.^3/3/2)(2)plot(x,exp(-x.*x/2)/2/pi)(3)x=-8:0.01:8;plot(x,sqrt((64-x.*x)/2))(4)t=0:pi/100:6*pi;plot(t.*sin(t),t.*cos(t))2. (1)x1=linspace(0,1,100);y1=2*x1-0.5;t=linspace(0,pi,100);x=sin(3*t).*cos(t);y=sin(3*t).*sin(t);plot(x1,y1,'r-',x,y,'b:');text(0.4,1,'y=2x-0.5');text(-0.4,0.5,'x=sin(3t)cos(t)');text(-0.4,0.3,'y=sin(3t)sin(t)');(2)subplot(1,2,1);scatter(x1,y1,10)title('y=2x-0.5');subplot(1,2,2);scatter(x,y,10)3.subplot(1,21);x=1:1:100; y=sin(1./x);plot(x,y)subplot(1,2,2);fplot('sin(1/x)',[1,100])4.subplot(2,2,1);bar(t,y);subplot(2,2,2);stairs(t,y);subplot(2,2,3);stem(t,y)subplot(2,2,4);semilogy(t,y);5.theta=linspace(-pi,pi,100);ro=5.*cos(theta)+4;polar(theta,ro);fi=linspace(0,2*pi,100);a=1r=a.*(1+cos(fi));polar(fi,r);6.t=0:pi/20:2*pi;x=exp(-t./20).*cos(t);y=exp(-t./20).*sin(t);z=t; plot3(x,y,z);t=0:0.01:1;x=t;y=t.^2;z=t.^3;plot3(x,y,z);7.x=-30:0.1:0;y=0:0.1:30;[x,y]=meshgrid(x,y);z=10.*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2); meshc(x,y,z);8.x=linspace(-3,3,100);y=linspace(-3,3,100);[x y]=meshgrid(x,y);fxy=-5./(1+x.^2+y.^2);i=find(abs(x)<=0.8 & abs(y)<=0.5);fxy(i)=NaN;surf(x,y,fxy)9.u=linspace(1,10,100);v=linspace(-pi,pi,100);[u,v]=meshgrid(u,v);x=3.*u.*sin(v);y=2.*u.*cos(v);z=4*u.^2;x=3*u.*sin(v);y=2*u.*cos(v);z=4*u.^2;surf(x,y,z);shading interp;light('position',[1,0,1]);10.t=0:pi/100:2*pi;y=sin(t);comet(t,y)第4章一、思考题5.(1)A=eye(3);(2)C=100+(200-100)*rand(5,6);(3)D=1+sqrt(0.2)*randn(1,500);(4)E=ones(size(A));(5)A=A+30*eye(size(A));(6)B=diag(diag(A))二、实验题1.P=pascal(5);H=hilb(5);Dp=det(P);Dh=det(H);Kp=cond(P);Kh=cond(H);P矩阵的性能更好,因为Kp较小2.A=[1,-1,2,3;0,9,3,3;7,-5,0,2;23,6,8,3]B=[3,pi/2,45;32,-76,sqrt(37);5,72,4.5e-4;exp(2),0,97]A1=diag(A);B1=diag(B);A2=triu(A);B2=triu(B);A3=tril(A);B3=tril(B);rA=rank(A);rB=rank(B);nA=norm(A);nb=norm(B);cA=cond(A);cB=cond(B);3.A=[31,1,0;-4,-1,0;4,-8,-2];[V,D]=eig(A);4.A=diag([-1,-1,-1,-1],-1)+diag([-1,-1,-1,-1],1)+diag([2,2,2,2,2]) b=[1,0,0,0,0]';x1=inv(A)*b;x2=A\b;[L,U]=lu(A);x3=U\(L\b);[Q,R]=qr(a);[Q,R]=qr(A);x4=R\(Q\b)R=chol(A);x5=R\(R'\b)5.B=sparse(A);x1=inv(B)*b;x2=B\b;[L,U]=lu(B);x3=U\(L\b);第5章一、思考题3.A=randn(10,5);mean(A)std(A)max(max(A))min(min(A))sum(A,2)sum(sum(A))sort(A,1)sort(A,2,'descend')二、实验题1.A=rand(1,30000);mean(A)std(A)max(A)min(A)size(find(A>0.5))/size(A)2.h=[466,715,950,1422,1635];w=[7.04,4.28,3.40,2.52,2.13];hh=[500,900,1500];ww=interp1(h,w,hh,'spline')3.x=linspace(1,10,50);y=log(x);f=polyfit(x,y,5);yy=polyval(f,x);plot(x,y,'r-',x,yy,'g.')4.N=64; % 采样点数T=5; % 采样时间终点t=linspace(0,T,N); % 给出N个采样时间ti(I=1:N) x=3*exp(-t); % 求各采样点样本值xdt=t(2)-t(1); % 采样周期f=1/dt; % 采样频率(Hz)X=fft(x); % 计算x的快速傅立叶变换XF=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1) f=f*(0:N/2)/N; % 使频率轴f从零开始plot(f,abs(F),'-*') % 绘制振幅-频率图xlabel('Frequency');ylabel('|F(k)|')5.(1)p1=[1 2 0 0 7];p2=[1 -2];p3=[1 0 0 5 1];p12=conv(p1,p2);p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3];roots(p)(2)A=[-1,4,3;2,1,5;0,5,6];Px=polyval(p,A)Pxm=polyvalm(p,A)6.(1)z=fzero('3*x-sin(x)+1',0)(2)建立函数文件myfun.mfunction F=myfun(X)x=X(1);y=X(2);F(1)=x*x+y*y-9;F(2)=x+y-1;在命令窗口中输入以下命令:x=fsolve(@myfun,[3,0]',optimset('Display','off')) 第6章一、思考题2.fx=inline('1./(1+x.^2)');[I,n]=quad(fx,-100000,100000,1e-3);[I,n]=quadl(fx,-100000,100000,1e-3);x=-100000:0.01:100000;y=1./(1+x.*x);trapz(x,y);3.(1)fx=inline('-2*y+2*x*x+2*x');[t,y]=ode23(fx,[0,0.5],1)(2)fx=inline('y-exp(x)*cos(x)');[t,y]=ode23(fx,[0,3],1)二、实验题1.for x=1:3fx=[x,x^2,x^3;1,2*x,3*x;0,2,6*x];diff(fx)end2.(1)x=0:0.01:1;y=x.^10+10.^x+1./log10(x);dy=diff(y)/0.01;(2)x=0:0.01:1;y=log(1+x);dy=diff(y,2)/0.01;plot(x(1:99),dy)3.(1)fx=inline('x.^2.*sqrt(2*x.*x+3)');quad(fx,1,5)(2)fx=inline('x./sin(x).^2');quad(fx,pi/4,pi/3)(3)fx=inline('abs(cos(x+y))');dblquad(fx,0,pi,0,pi)(4)syms x y ;fx=x*y;int(int(fx,y^2,y+2),-1,2)x 的积分区间为【0,2】时fx=inline('x.*y');dblquad(fx,0,2,-1,2)4.x=0.3:0.2:1.5;y=[0.3895,0.6598,0.9147,1.1611,1.3971,1.6212,1.8325]; trapz(x,y)5.(1)yp=inline('-(1.2+sin(10*x))*y');[t,y]=ode23(yp,[0,5],1);(2)令''3,,21y x y x y x ='==,则可写出原方程的状态方程形式:123233221sin 31)1(2cos 5cos x tx x t t t x x x x x +--++='='='⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡+-+-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡'''t x x x t t t x x x cos 00)1(2cos 51sin 311000103212321 建立函数文件ztfun.mfunction y=ztfun(t,x)b=[0;0;cos(t)];y=[0,1,0;0,0,1;-1/(3+sin(t)),-1,5*cos(2*t)/(t+1)^2]*x+b; 解微分方程组[t,y]=ode23(@ztfun,[0,5],[1;0;2]);6.建立函数文件ztfun.mfunction yy=ztfun(t,y)yy=[y(2)*y(3);-y(1)*y(3);-0.51*y(1)*y(2)];解微分方程组[t,y]=ode23(@ztfun,[0,5],[0;1;1])第7章一、思考题3.(1)数值积分fx=inline('exp(x).*(1+exp(x)).^2');quad(fx,0,log(2))符号积分f=sym('exp(x)*(1+exp(x))^2');v=int(f,0,log(2));eval(v)(2)略二、实验题1.A=sym('[1,2,3;x,y,z;3,2,1]')rank(A)inv(A)det(A)2.(1) y=sym('sqrt(x+sqrt(x+sqrt(x)))');y1=diff(y)y2=diff(y,'x',2)(2) syms x y;fxy=sin(x^2*y)*exp(-x^2-y);diff(diff(fxy,x),y)3.(1) syms xint(1/(1+x^4))(2) syms x tint((-2*x*x+1)/(2*x*x-3*x+1)^2,x,cos(t),exp(2*t)) 4.syms n xsymsum(1/(2*n+1)/(2*x+1)^(2*n+1),n,0,inf)symsum(1/(2*n+1)/(2*x+1)^(2*n+1),n,0,5)5.(1) syms xtaylor((exp(x)+exp(-x))/2,5,0)(2) syms a xtaylor(exp(-5*x)*sin(3*x+pi/3),5,a)6.(1)x=solve(sym('x^3+a*x+1=0'))(2) [x y]=solve(sym('sqrt(x^2+y^2)-100=0,3*x+5*y-8=0'))7. 方程转化为: π21'11't y y y y -=+=⎩⎨⎧符号解[y1,y11]=dsolve('Dy=y1,Dy1+y=1-t^2/pi','y(-2)=5,y1(-2)=5','t') 数值解编写函数文件ztfun.mfunction yy=ztfun(t,y)yy=[y(2);1-t^2/pi-y(1)];在命令窗口输入以下命令[t,y]=ode45(@ztfun,[-2,7],[-5;5]);t=linspace(-2,7,49)y2=y8.[x,y]=dsolve('Dx=3*x+4*y,Dy=-4*x+3*y','x(0)=0,y(0)=1')。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第8章 MATLAB方程数值求解
习题8
一、选择题
1.下列方法中与线性方程组求解无关的是()。

C
A.左除B.矩阵求逆C.矩阵转置D.矩阵分解
2.对于系数矩阵A的阶数很大,且零元素较多的大型稀疏矩阵线性方程组,非常适合采用()求解。

B
A.直接法B.迭代法C.矩阵求逆D.左除
3.已知函数文件fx.m:
function f=fx(x)
f=2*x.^2+5*x-1;
则求f(x)=2x2+5x-1=0在x0=-2附近根的命令是()。

D
A.z=fzero(fx,0.5) B.z=fzero(@fx,0.5)
C.z=fzero(fx,-2); D.z=fzero(@fx,-2);
4.已知:
fx=@(x) 2*x.^2+5*x-1;
则求f(x)=2x2+5x-1=0在x0=-2附近根的命令是()。

C
A.z=fzero(fx,0.5) B.z=fzero(@fx,0.5)
C.z=fzero(fx,-2); D.z=fzero(@fx,-2);
5.下列选项中不能用于求常微分方程数值解的函数是()。

A
A.ode10 B.ode23 C.ode45 D.ode113
二、填空题
1.线性方程组的求解方法可以分为两类,一类是,另一类是。

前者是在没有舍入误差的情况下,通过有限步的初等运算来求得方程组的解;后者是先给定一个解的,然后按照一定的算法不断用变量的旧值递推出新的值。

直接法,迭代法,初始值
2.MA TLAB用函数来求单变量非线性方程的根。

对于非线性方程组,则用函数求其数值解。

fzero,fsolve
3.用数值方法求解常微分方程的初值问题,一般都是用系列函数,包括ode23、ode45等函数,各有不同的适用场合。

ode
4.ode23、ode45等函数是针对一阶常微分方程组的,对于高阶常微分方程,需先将它转化为一阶常微分方程组,即。

状态方程
三、应用题
2
1.分别用矩阵除法以及矩阵分解求线性方程组的解。

⎪⎩⎪⎨⎧=+-=++=++57347310532)1(z y x z y x z y x 12313412
43451
32(2)53241
x x x x x x x x x x x +-=⎧⎪+-=⎪⎨--+=⎪⎪+=-⎩
(1): 矩阵除法:
A=[2,3,5;3,7,4;1,-7,1]; B=[10,3,5];%B 是行向量 x=A\B'%将B 变成列向量 矩阵分解:
A=[2,3,5;3,7,4;1,-7,1]; B=[10,3,5];%B 是行向量 [L,U]=lu(A); x=U\(L\B') (2):
和上面的程序一样。

2.求下列方程的根。

(1)0sin =-x
x
x 在x 0=0.5附近的根。

(2)0x 50xe x 102
=--.sin .在x 0=1.5附近的根。

(1):
先建立函数文件:
function f=xt6_11_1(x) f=x-sin(x)/x; 再输入程序:
fzero('xt6_11_1',0.5) (2):
先建立函数文件:
function f=xt6_11_2(x)
f=((sin(x))^2)*exp(-0.1*x)-0.5*abs(x); 再输入程序:
fzero('xt6_11_2',1.5)
3.求非线性方程组在(0.5,0.5)附近的数值解。

3


⎧=+-=--0sin 3.0cos 6.00
cos 3.0sin 6.0y x y y x x 先建立函数文件:
function F=xt6_12(X) x=X(1); y=X(2);
F(1)=x-0.6*sin(x)-0.3*cos(y); F(2)=y-0.6*cos(x)+0.3*sin(y); 再输入程序:
x=fsolve('xt6_12',[0.5,0.5],optimset('Display','off')) 4.求常微分方程的数值解。

⎪⎩⎪⎨⎧==
-0
)1(22)1(y y x x dx
dy ⎪⎪
⎪⎩
⎪⎪⎪⎨⎧-===++3)1('2)1(024)2(2
22y y y dx dy
x dx y d x 5.洛伦兹(Lorenz )模型的状态方程表示为:
⎪⎪⎩




-+-=+-=+-=)()()()()()()()()()()()(3212.
332.
2321.
1t x t x t x t x t x t x t x t x t x t x t x t x ρσσβ 取σ=10,ρ=28,β=8/3,且初值为x 1(0)=x 2(0)=0,x 3(0)=ε,ε为一个小常数,假设ε=10-10,求解该微分方程,并绘制出时间响应曲线与相平面曲线。

(1)建立Lorenz 模型的函数文件lorenz.m 。

function xdot=lorenz(t,x)
xdot=[-8/3,0,x(2);0,-10,10;-x(2),28,-1]*x;
(2)解微分方程组。

>> x0=[0,0,eps]';
>> [t,x]=ode23(@lorenz,[0,100],x0);
(3)绘制系统相平面图,如图所示。

>> plot3(x(:,1),x(:,2),x(:,3)); >> axis([10,40,-20,20,-20,20]);
Lorenz模型相平面图
4。

相关文档
最新文档