MATLAB作业5参考答案
MATLAB语言基础与应用(第二版)第5章 习题答案
第5章习题与答案5.1用矩阵三角分解方法解方程组123123123214453186920x x x x x x x x x +-=⎧⎪-+=⎨⎪+-=⎩ 解答:>>A=[2 1 -1;4 -1 3;6 9 -1] A =2 1 -1 4 -13 6 9 -1 >>b=[14 18 20]; b =14 18 20 >> [L, U, P]=lu(A) L =1.0000 0 0 0.6667 1.0000 0 0.3333 0.2857 1.0000 U =6.0000 9.0000 -1.0000 0 -7.0000 3.6667 0 0 -1.7143 P =0 0 1 0 1 0 1 0 0 >> y=backsub(L,P*b’) y =20.0000 4.6667 6.0000 >> x=backsub(U,y) x =6.5000 -2.5000 -3.5000 5.2 Cholesky 分解方法解方程组123121332352233127x x x x x x x ++=⎧⎪+=⎨⎪+=⎩ 解答:>> A=[3 2 3;2 2 0;3 0 12] A =3 2 32 2 03 0 12>> b=[5;3;7]b =537>> L=chol(A)L =1.7321 1.1547 1.73210 0.8165 -2.44950 0 1.7321>> y=backsub(L,b)y =-11.6871 15.7986 4.0415>> x=backsub(L',y)x =-6.7475 28.8917 49.93995.3解答:观察数据点图形>> x=0:0.5:2.5x =0 0.5000 1.0000 1.5000 2.0000 2.5000 >> y=[2.0 1.1 0.9 0.6 0.4 0.3]y =2.0000 1.1000 0.9000 0.6000 0.4000 0.3000 >> plot(x,y)图5.1 离散点分布示意图从图5.1观察数据点分布,用二次曲线拟合。
MATLAB作业5参考答案
MATLAB作业5参考答案1、 试求出下面线性微分方程的通解。
543225432()()()()()136415217680()[sin(2)cos(3)]3t d y t d y t d y t d y t dy t y t e t t dt dt dt dt dt π-+++++=++假设上述微分方程满足已知条件(0)1,(1)3,()2,(0)1,(1)2y y y y y π=====,试求出满足该条件的微分方程的解析解。
【求解】先定义t 为符号变量,求出等号右侧的函数,则可以由下面命令求出方程的解析 解,解的规模较大,经常能占数页。
>> syms texp(-2*t)*(sin(2*t+sym(pi)/3)+cos(3*t))ans =exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))>> y=dsolve(['D5y+13*D4y+64*D3y+152*D2y+176*Dy+80*y=',...'exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))'],'y(0)=1','y(1)=3','y(pi)=2',...'Dy(0)=1','Dy(1)=2')略:事实上,仔细阅读求出的解析解就会发现,其中大部分表达式是关于系数的,所以如果能对 系数进行近似则将大大减小解的复杂度。
>> vpa(y)ans =.20576131687242798353909465020576e-2*exp(-2.*t)*cos(3.*t)+.15538705805619602372728107411086e-1*exp(-2.*t)*sin(2.*t)+.76830587084294035590921611166287e-2*exp(-2.*t)*cos(2.*t)-106.24422608844727797303237726774*exp(-2.*t)*t^2+98.159206062620455331994871615083*exp(-2.*t)*t+59.405044899367325888329709780356*exp(-2.*t)*t^3-30.741892776456442808809983330755*exp(-2.*t)+.20576131687242798353909465020576e-2*exp(-2.*t)*sin(3.*t)+31.732152104579289125415500223136*exp(-5.*t)2、 试求解下面微分方程的通解以及满足(0)1,()2,(0)0x x y π===条件下的解析解。
matlab课后习题答案(附图)
matlab课后习题答案(附图)习题2.1画出下列常见曲线的图形y (1)⽴⽅抛物线3x命令:syms x y;ezplot('x.^(1/3)')(2)⾼斯曲线y=e^(-X^2);命令:clearsyms x y;ezplot('exp(-x*x)')(3)笛卡尔曲线命令:>> clear>> syms x y;>> a=1;>> ezplot(x^3+y^3-3*a*x*y)(4)蔓叶线命令:>> clear>> syms x y;>> a=1ezplot(y^2-(x^3)/(a-x))(5)摆线:()()tsin-=,=-by1命令:>> clear>> t=0:0.1:2*pi;>> x=t-sin(t);>>y=2*(1-cos(t)); >> plot(x,y)7螺旋线命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t;>>plot3(x,y,z)(8)阿基⽶德螺线命令:clear>> theta=0:0.1:2*pi;>> rho1=(theta);>> subplot(1,2,1),polar(theta,rho1)(9) 对数螺线命令:cleartheta=0:0.1:2*pi;rho1=exp(theta);subplot(1,2,1),polar(theta,rho1)(12)⼼形线命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1)练习2.21. 求出下列极限值(1)nnn n3→命令:>>syms n>>limit((n^3+3^n)^(1/n)) ans = 3(2))121(lim n n n n ++-+∞→命令:>>syms n>>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0(3)x x x 2cot lim 0→命令:syms x ;>> limit(x*cot(2*x),x,0) ans = 1/2 (4))(coslimcm xx ∞→命令:syms x m ; limit((cos(m/x))^x,x,inf) ans = 1(5))111(lim 1--→exx x命令:syms x>> limit(1/x-1/(exp(x)-1),x,1) ans =(exp(1)-2)/(exp(1)-1) (6))(2lim x x xx -+∞>> limit((x^2+x)^(1/2)-x,x,inf)ans = 1/2练习2.41. 求下列不定积分,并⽤diff 验证:(1)+x dxcos 1>>Clear >> syms x y >> y=1/(1+cos(x)); >> f=int(y,x) f =tan(1/2*x) >> y=tan(1/2*x); >> yx=diff(y ,x); >> y1=simple(yx) y1 =1/2+1/2*tan(1/2*x)^2 (2)+exdx1clear syms x yy=1/(1+exp(x));f=int(y,x) f =-log(1+exp(x))+log(exp(x)) syms x yy=-log(1+exp(x))+log(exp(x)); yx=diff(y,x); y1=simple(yx) y1 = 1/(1+exp(x)) (3)dx x x ?sin 2syms x yy=x*sin(x)^2; >> f=int(y,x) f =x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2 clearsyms x y y=x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2; yx=diff(y,x); >> y1=simple(yx) y1 = x*sin(x)^2 (4)xdx ?sec3syms x y y=sec(x)^3;f=int(y,x) f =1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear syms x yy=1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)); yx=diff(y,x); y1=simple(yx) y1 =1/cos(x)^32. 求下列积分的数值解 1)dx x-10clearsyms xy=int(x^(-x),x,0,1) y =int(x^(-x),x = 0 .. 1) vpa(y,10) ans =1.291285997 2)xdx e x cos3202?πclearsyms xy=int(exp(2*x)*cos(x)^3,x, clear syms xy=int((1/(2*pi)^(1/2))*exp(-x^2/2),x,0,1) y =7186705221432913/36028797018963968*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/0,2*pi) y =22/65*exp(pi)^4-22/65vpa(ans,10)(3)dx xe21221-π>> clear >> syms x>> y=int(1/(2*pi)^(1/2)*exp(-x^2/2),0,1); >> vpa(y,14) ans =.341344746068552(4)>> clear >> syms x>> y=int(x*log(x^4)*asin(1/x^2),1,3); Warning: Explicit integral could not be found. > In sym.int at 58 >> vpa(y,14) ans = 2.45977212823752(5) >> clear >> syms x1判断下列级数的收敛性,若收敛,求出其收敛值。
MATLAB)课后实验答案
实验一 MATLAB 运算基础1、 先求下列表达式得值,然后显示MATLAB 工作空间得使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0、5:2、5 解:4、 完成下列操作:(1) 求[100,999]之间能被21整除得数得个数。
(2) 建立一个字符串向量,删除其中得大写字母。
解:(1) 结果:(2)、 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果就是:实验二 MATLAB 矩阵分析与处理1、 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。
(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。
(3) 计算系数矩阵A 得条件数并分析结论。
解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y 值。
数学建模作业题+答案
数学建模MATLAB 语言及应用上机作业11. 在matlab 中建立一个矩阵135792468101234501234A ⎡⎤⎢⎥⎢⎥=⎢⎥-----⎢⎥⎣⎦答案:A = [1,3,5,7,9;2,4,6,8,10;-1,-2,-3,-4,-5;0,1,2,3,4]2. 试着利用matlab 求解出下列方程的解(线性代数22页例14)123412423412342583692254760x x x x x x x x x x x x x x +-+=⎧⎪--=⎪⎨-+=-⎪⎪+-+=⎩ 答案:A=[2 ,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6]; B=[8;9;-5;0]; X=A\B 或A=[2,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6] b=[8,9,-5,0]' X=inv(A)*b3. 生成一个5阶服从标准正态分布的随机方阵,并计算出其行列式的值,逆矩阵以及转置矩阵。
答案:A=randn(5) det(A) inv(A) A'4. 利用matlab 求解出110430002A -⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦的特征值和特征向量。
答案:A=[-1,1,0;-4,3,0;0,0,2] [V,D]=eig(A)5.画出衰减振荡曲线3sin3t y et -=在[0,4]π上的图像。
要求,画线颜色调整为黑色,画布底面为白色。
(在实际中,很多打印机时黑白的,因此大多数作图要考虑黑白打印机的效果。
) 给出恰当的x ,y 坐标轴标题,图像x 轴的最大值为4π。
6. 生成一个0-1分布的具有10个元素的随机向量,试着编写程序挑选出向量中大于0.5的元素。
数学建模和Matlab 上机作业2(2016-9-20)跟老师做(不用整合进作业中):上机演示讲解:函数,递归的两个例子的写法。
附:1. Fibonacci Sequence (斐波那契数列)在数学上,费波那西数列是以递归的方法来定义: F1= 1;F2= 1;F (n )=F (n-1)+F (n-2) 2. 阶乘举例:数学描述:n!=1×2×……×n ;计算机描述:n!=n*(n-1)!自己做(需要整合进作业中,提交到系统中):1. 写一个m 文件完成分值百分制到5分制的转换(即输入一个百分制,转换后输出一个5级对应的得分,联系条件控制语句)。
数学实验(MATLAB版韩明版)5.1,5.3,5.5,5.6部分答案
数学实验(M A T L A B版韩明版)5.1,5.3,5.5,5.6部分答案-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN练习5.1B的分布规律和分布函数的图形,通过观1、仿照本节的例子,分别画出二项分布()7.0,20察图形,进一步理解二项分布的性质。
解:分布规律编程作图:>> x=0:1:20;y=binopdf(x,20,0.7);>> plot(x,y,'*')图像:yx分布函数编程作图:>> x=0:0.01:20;>>y=binocdf(x,20,0.7)>> plot(x,y)图像:1x观察图像可知二项分布规律图像像一条抛物线,其分布函数图像呈阶梯状。
2、仿照本节的例子,分别画出正态分布()25,2N的概率密度函数和分布函数的图形,通过观察图形,进一步理解正态分布的性质。
解:概率密度函数编程作图:>> x=-10:0.01:10;>> y=normpdf(x,2,5);>> plot(x,y)图像:00.010.020.030.040.050.060.070.08x y分布函数编程作图:>> x=-10:0.01:10;>> y=normcdf(x,2,5);>> plot(x,y)图像:01x y观察图像可知正态分布概率密度函数图像像抛物线,起分布函数图像呈递增趋势。
3、设()1,0~N X ,通过分布函数的调用计算{}11<<-X P ,{}22<<-X P , {}33<<-X P .解:编程求解:>> x1=normcdf(1)-normcdf(-1),x2=normcdf(2)-normcdf(-2),x3=normcdf(3)-normcdf(-3) x1 = 0.6827x2 = 0.9545x3 = 0.9973即:{}6827.011=<<-X P ,{}9545.022=<<-X P ,{}9973.033=<<-X P .4、设()7.0,20~B X ,通过分布函数的调用计算{}10=X P 与{}10<X P .解:编程求解:>> x1=binopdf(10,20,0.7),x2=binocdf(10,20,0.7)-binopdf(10,20,0.7) x1 = 0.0308x2 = 0.0171即:{}0308.010==X P ,{}0171.010=<X P5、设()8~P X ,求:(1){}4≤X P ;(2){}52≤<X P .解:(1)编程求解:>> p=poisscdf(4,8)p = 0.0996即:{}0996.04=≤X P(2)编程求解:>> p=poisscdf(5,8)-poisscdf(2,8)p = 0.1775即:{}1775.052=≤<X P6、(1)设()1,0~N X ,求01.0z ;(2)对2χ分布,求()8205.0χ;(3)对()1305.0t ;(4)对F 分布,求()10,1505.0F 。
matlab课后答案完整版
matlab课后答案完整版ones表⽰1矩阵zeros表⽰0矩阵ones(4)表⽰4x4的1矩阵zeros(4)表⽰4x4的0矩阵zeros(4,5)表⽰4x5的矩阵eye(10,10)表⽰10x10的单位矩阵rand(4,5)表⽰4x5的伴随矩阵det(a)表⽰计算a的⾏列式inv(a)表⽰计算a的逆矩阵Jordan(a)表⽰求a矩阵的约当标准块rank(a)表⽰求矩阵a的秩[v,d]=eig(a)对⾓矩阵b=a’表⽰求a矩阵的转置矩阵sqrt表⽰求平⽅根exp表⽰⾃然指数函数log⾃然对数函数abs绝对值第⼀章⼀、5(1)b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7];>> e=b*ce =5271 11574-11336 6641978 3112(2)a=50:1:100⼆、1 、x=-74;y=-27;z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z =-0.09012、a=-3.0:0.1:3.0;>> b=exp(-0.3*a).*sin(a+0.3)y =0.7218 1.0474-0.2180 1.15624、a*b表⽰a矩阵和b矩阵相乘a.*b表⽰a矩阵和b矩阵单个元素相乘A(m,n)表⽰取a矩阵第m⾏,第n列A(m,:)表⽰取a矩阵第m⾏的全部元素A(:,n)表⽰取a矩阵的第n列全部元素A./B表⽰a矩阵除以b矩阵的对应元素,B.\A等价于A./BA.^B表⽰两个矩阵对应元素进⾏乘⽅运算A.^2表⽰a中的每个元素的平⽅A^2表⽰A*A例:x=[1,2,3];y=[4,5,6];z=x.^yz=1 32 729指数可以是标量(如y=2).底数也可以是标量(如x=2)5、a=1+2i;>> b=3+4i;>> c=exp((pi*i)/6)c =0.8660 + 0.5000id=c+a*b/(a+b)d =1.6353 + 1.8462i第⼆章⼆、4、(1)y=0;k=0;>> while y<3k=k+1;>> display([k-1,y-1/(2*k-1)])ans =56.0000 2.9944第三章⼆1(1) x=0:pi/10:2*pi; >> y=x-x.^3/6; >> plot(x,y)1234567-40-35-30-25-20-15-10-505(2)x=0:pi/10:2*pi; y=(exp(-x.^2/2))/2*pi;plot(x,y)012345670.20.40.60.811.21.41.6(3)x=-8:0.01:8; y=sqrt((64-x.^2)/2);plot(x,y)-8-6-4-2024680123456(4)t=0:0.1:8*pi; >> x=t.*sin(t); >> y=t.*cos(t);-25-20-15-10-50510152025-30-20-10102030例3.4x=0:pi/100:2*pi; y1=exp(-0.5*x);y2=exp(-0.5*x).*sin(2*x); plot(x,y1,x,y2)>> title('x from 0 to 2{\pi} '); >> xlabel('variable x'); >> ylabel('variable y'); >> text(1.5,0.5,'曲线y1=e^(-0.5x)'); >> text(3,0.1,'曲线y2=cos(4{\pi}x)e^{-0.5x}'); >> legend('y1','y2')1234567-0.4-0.20.20.40.60.81x from 0 to 2πvariable xv a r i a b l e y曲线y1=e (-0.5x)曲线y2=cos(4πx)e -0.5xy1y22、(1)y1=2*x-0.5;t=linspace(0,pi,100); x=sin(3*t).*cos(t); y=sin(3*t).*sin(t);>> k=find(abs(y-x)<1e-2); >> t1=t(k) t1 =0 0.7933 1.04722.0944>> z=sin(3.*(t1)).*cos(t1) z =0 0.4841 0.0000 0.0000 -0.0000>> plot(t,x,t,y,'k:',t1,z,'bp');0.511.522.533.5-1-0.8-0.6-0.4-0.200.20.40.60.81(2)subplot(1,2,1); >> scatter(x1,y1,10); >> title('y=2x-0.5'); >> subplot(1,2,2); >> scatter(x,y,10)-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.63、subplot(1,2,1); x=0:0.01:pi; y=sin(1./x); plot(x,y)subplot(1,2,2);fplot('sin(1./x)',[1,100])1234-1-0.8-0.6-0.4-0.200.20.40.60.81204060801000.10.20.30.44、t=0:pi:2*pi; y=1./(1+exp(-t));subplot(2,2,1);%图形窗⼝的分割bar(t,'group'); %绘制柱形图(分组) subplot(2,2,2);barh(t,'stack');%绘制柱形图(堆积) subplot(2,2,3);loglog(t,y); %函数使⽤全对数坐标,x,y 均采⽤常⽤对数刻度 subplot(2,2,4); semilogy(t,y); %函数使⽤半对数坐标,y 轴为常⽤对数刻度,x 轴仍为线性刻度1230246802468123100.5100.710-0.01810-0.0010246810-0.310-0.210-0.15、(1)theta=linspace(-pi,pi,100); ro=5.*cos(theta)+4; polar(theta,ro); (2)x=linspace(0,2*pi,100);a=1>> r=a.*(1+cos(x)); polar(x,r);3021060240902701203001503301806、(1)t=0:pi/10:2*pi;>> x=exp((-t)/20).*cos(t); >> y=exp((-t)/20).*sin(t); >> z=t; >> plot3(x,y,z);-1-0.50.51-1-0.50.5102468(2)t=0:0.01:1; x=t;>> y=t.^2; >> z=t.^3;>> plot3(x,y,z);0.20.40.60.800.20.40.60.817、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);绘制曲⾯图和等⾼线-30-20-10102030-4-202468、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) %绘制三维曲⾯图-4-224-4-224-4-3-2-19、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; surf(x,y,z); shading interp;-40-20-1010200100200300400第五章⼆1、a=rand(1,30000);mean(a) %求平均数 ans =0.5010 >>b=std(a) %求标准差 b =0.2882 >> c=max(a) c =0.9999 >> d=min(a) d =3.5706e-005size(find(a>0.5))/size(a) %求⼤于0.5的随机数个数占总数的百分⽐ans =0.50322、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')ww =6.4903 3.5226 2.3845 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.') 123456789100.511.522.55、(1)、(2) p1=[1,2,0,7]; p2=[1,-2]; p3=[1,0,5,1]; p12=conv(p1,p2); >>p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3]; >> roots(p) ans =-3.4656 0.6128 + 1.6278i 0.6128 - 1.6278i 1.2400-29 291 95 19 -3 697 -13 697 1427 >>y2=polyvalm(p,a)%以矩阵a 为⾃变量 y2 =391 2084 3273 502 2693 4207 720 3775 5892 6、(1)z=fzero('3*x-sin(x)+1',0) %求x=0时附近的根 z =-0.4903 第⼋章⼆、2t=0:pi/20:2*pi; x=sin(t); y=cos(t); x1=sin(7*t); y1=cos(7*t);h=plot(x,y,x1,y1);set(h,'marker','x','linewidth',2); set(gca,'xtick',-1:0.1:1); title('篮筐')-1-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.100.10.20.30.40.50.60.70.80.91 -1-0.8-0.6-0.4-0.200.20.40.60.81篮筐3、x=0:pi/10:5*pi;y=exp(-0.2*x).*cos(x)+2; h=plot(x,y);set(gca,'color','red','linestyle','-','linewidth',3);text(5,2.4,'y=exp(-0.2*x).*cos(x)+2');02468101214161.41.61.822.22.42.62.83y=exp(-0.2*x).*cos(x)+24、t=-pi:pi/100:pi; x=cos(t); y=sin(t); z=t;h=plot(t,x,t,y,t,z);set(h,'linestyle','-','linewidth',3);-4-3-2-101234-4-3-2-101234字符串例ch='Welcome to Beijing';subch=ch(12:18) 选12~18个字符串(空格也算)ans =WELCOME TO BEIJING >> length(k)统计⼩写字母的个数ans = 14 例:已知y=1-1/2+1/3-1/4.........-1/100求y 的值y=0; >> n=100; >> for i=1:100; y=y+(-1)^(i-1)/i; end>> disp(y)0.6882绘制⼆维曲线图x=0:pi/100:2*pi; >> y1=0.2*exp(-0.5*x).*cos(4*pi*x); >> y2=1.5*exp(-0.5*x).*cos(pi*x); >> plotyy(x,y1,x,y2); 7-0.20.20123456-202绘制三维图像例:x=sint+tcost y=cost-tsint z=tt=0:pi/10:10*pi; x=sin(t)+t.*cos(t); y=cos(t)-t.*sin(t); z=t; plot3(x,y,z); axis([-30 30 -30 30 0 35]); 坐标轴的最⼤值与最⼩值title('line in 3-D space'); 图形的题⽬ >> xlabel('x');ylabel('y');zlabel('z'); 标注坐标>> grid on; 加⽹格线 -30-20-10102030-20205101520253035xline in 3-D spaceyz三维例]2/,0[],,0[,cos sin 22ππ∈∈+=y x y x z [x,y]=meshgrid(0:pi/100:pi,0:pi/100:pi/2);>> z=sin(x.^2)+cos(y.^2);>> mesh(x,y,z);>> axis([0 4 0 1.8 -1.5 1.5]); 012340.511.5-1.5-1-0.500.511.5例3.16t=0:pi/20:2*pi; subplot(1,2,1);[x,y,z]=cylinder(sin(t),30);surf(x,y,z); 绘制三维曲⾯图subplot(1,2,2);>> [x,y,z]=peaks(100);>> mesh(x,y,z); 绘制三维⽹格图-11-10100.20.40.60.81-55-505-10-5510多项式求导例:f(x)=1/x^2+5 p=[1];>> q=[1,0,5];>> [p,q]=polyder(p,q)注:c=conv(a,b) 表⽰a 多项式与b 多项式乘积[p,r]=deconv(a,b) 表⽰a 多项式与b 多项式相除其中p 为商向量 r 为余数向量p=polyder(p) 表⽰求p 的导数 p=poleder(p,q) 表⽰求p 乘以q 的导数[p,q]=poleder(p,q) 表⽰p 除以q 的导数多项式求根例:f(x)=2x^4-12x^3+3x^2+5 p=[2,-12,3,0,5]; >> x=roots(p); >> p=[2,-12,3,0,5]; x=roots(p) 求⽅程f(x)=0的根 x =5.7246 0.8997 -0.3122 + 0.6229i -0.3122 - 0.6229i>> g=poly(x) 已知多项式的根求多项式 g =1.0000 -6.0000 1.5000 -0.00002.5000符号求导例7.3x=a(t-tsint)y=b(1-cost) 求y 对x 的⼀阶导数 syms x y a b t;>> f21=a*(t-sin(t)); >> f22=b*(1-cos(t));>> diff(f22)/diff(f21) 求y 对x 的⼀阶导数ans =b*sin(t)/a/(1-cos(t))注:diff(f1,x,2) 表⽰f1对x 的⼆阶导数diff (f3,x )表⽰z 对x 的偏导 diff (f3,y )表⽰z 对y 的偏导求不定积分int(f) 求f 的不定积分 f1=int(f,a,b) 求f 在a ,b 之间的定积分eval (f1)计算积分值符号求极限例7.2 syms x h>> f=(sin(x+h)-sin(x))/h;>> limit(f,h,0) h 趋向于0ans =cos(x)例2f=sym('(1+t/x)^x');limit(f,inf) f趋向于⽆穷ans =exp(t)例3f=sym('x*(sqrt(x^2+1)-x)');limit(f,sym('x'),inf,'left') x 趋向于正⽆穷ans =1/2⼤⼩写ch='Welcome to Beijing';subch=ch(12:18)subch =Beijing>> k=find(ch>='A'&ch<='Z'); ch(k)=ch(k)-('A'-'a');>> char(ch)ans =welcome to beijing>> length(k)ans =2。
MATLAB)课后实验答案-精简版
MATLAB)课后实验答案-精简版实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin 851z e=+(2) 21ln(2z x =+,其中2120.455i x +??=?-??(3) 0.30.330.3sin(0.3)ln,3.0, 2.9,,2.9,3.022aaee a z a a --+=++=--(4) 2242011122123t t z t t t t t ?≤<?=-≤<??-+≤<?,其中t =0:0.5:2.52. 已知:1234413134787,2033657327A B --??==-??求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]3. 设有矩阵A 和B 123453 0166789101769,1112 1314150234 1617181920970212223242541311A B ??-?==-?(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MA TLAB 工作空间的使用情况。
4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R R S A OS +??=。
解: M 文件如下;输出结果:S =1 0 02 A =1.0000 0 0 0.5383 0.4427 0 1.0000 0 0.9961 0.1067 0 0 1.0000 0.0782 0.9619 0 0 0 1.0000 0 0 0 0 02.0000 a =1.0000 0 0 1.0767 1.3280 0 1.0000 0 1.9923 0.3200 0 0 1.0000 0.15642.8857 0 0 0 1.0000 0 0 0 0 0 4.0000 ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0由ans,所以22E R R S A O S +??=?2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。
5章习题答案matlab
张卫华 MATLAB课堂
例13:
分析以下程序, 并运行观察。
clf;x=3*pi*(-1:0.05:1);y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; h=surf(X,Y,Z);colormap(jet); axis off n=12;mmm=moviein(n); for i=1:n rotate(h,[0 0 1],25); mmm(:,i)=getframe; end movie(mmm,5,10)
张卫华 MATLAB课堂
例5程序:
fplot('cos(tan(pi*x))',[ 0,1],1e-4)
张卫华 MATLAB课堂
例6:
绘制r=sin(t)cos(t)的极坐标图,并标记 数据点。
张卫华 MATLAB课堂例6 Nhomakorabea序:t=0:pi/50:2*pi; r=sin(t).*cos(t); polar(t,r,'-*');
title('y1=0.2e^{-0.5x}cos(4\pix) 和y2=2e^{0.5x}cos(4\pix)比较') text(2,2*exp(-1),'\fontsize{20}\bf \leftarrow x_{1}=2,y_{1}=2e^{-1}')
张卫华 MATLAB课堂
例5:
绘制f(x)=cos(tan(πx))的曲线
张卫华 MATLAB课堂
例11:
绘制柱形,剪切掉x、y小于零 的部分
张卫华 MATLAB课堂
例11程序:
t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t); [X,Y,Z]=cylinder(r,60); ii=find(X<0&Y<0); Z(ii)=NaN; surf(X,Y,Z);colormap(spring), shading interp light('position',[-3,-1,3],'style','local')
MATLAB基础习题第五章习题答案
(1)如果当前时间为 7-8 点则提醒用户,该吃早饭了; (2)如果当前时间为 9-11 点则提醒用户,该学习了; (3)如果当前时间为 12-14 点则提醒用户,该午休了; (4)如果当前时间为 14-17 点则提醒用户,该锻炼了; 答: %%程序为:remind.fig、remind.m
6.求解六元线性方程组: (1)方程组的系数矩阵由用户通过键盘输入; (2)得到系数矩阵后给出方程的解; (3)程序要具有友好性 答:
%% %该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给 出方程的解; clc; clear all; close all; %% %方程输入模块 x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'}); A=cell2mat(x); %% y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
you=input('请做出你的选择,石头(1) ,剪刀(2) ,布(3) : '); end disp('您的选择是: '); disp(b(2*you-1:2*you)); compute=ceil(3*rand(1,1)); disp('电脑的选择是:'); disp(b(2*compute-1:2*compute)); %% %%输赢判断模块 %如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢 if you==compute disp('平手'); end switch(you-compute) case{1,-2} disp('您输了'); case{-1,2} disp('您赢了'); end %% %是否继续判别模块 n=input('是否继续玩该游戏?否(0) ,是(1)'); while n~=0&n~=1 disp('您输入的不是正确数字,请正确输入'); n=input('是否继续玩该游戏?否(0) ,是(1)'); end end >> 请选择,石头(1) ,剪刀(2) ,布(3) : 1 您的选择是: 石头 电脑的选择是: 、剪 您赢了 是否继续玩该游戏?否(0) ,是(1)1 请选择,石头(1) ,剪刀(2) ,布(3) : 2 您的选择是: 、剪 电脑的选择是: 石头 您输了 是否继续玩该游戏?否(0) ,是(1)0 >> 5.编写一个日程提醒程序实现如下功能:
MATLAB)课后实验答案-精简版
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e=+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况。
解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
(2).建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果是: 实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
Matlab第五章答案
第一题(1)a=[1 9 8;7 2 5;3 -2 7] %产生矩阵det(a) %检验是否可逆ans=-442,非0,可逆div(a) %求逆矩阵(2)b=[1 0 -7 5;0 -26 7 2;7 4 3 5;8 -3 2 15]det(b)div(b)第二题(1)A=[1 2 3;2 2 5;3 5 1];B=[11 12 31];X=B/A(2) A=[3 1 0 5;0 6 7 3;0 4 3 0;2 -1 2 6];B=[2 4 7 8];X=B/A第三题(1)t=[1 2 3 4 5 6 7 8 9 10]';y=[4.842 4.362 3.754 3.368 3.169 3.083 3.034 3.016 3.012 3.005]';A=[ones(size(t)) exp(-t)];C=A\yT=[0:.1:10]';Y=[ones(size(T)) exp(-T)]*C;plot(T,Y,'-',t,y,'o')title( '采用y(t)≈c1+c2e–t的拟合' )xlabel('\itt'), ylabel('\ity')(2)t=[0 .3 .8 1.1 1.6 2.3]';y=[.82 .72 .63 .60 .55 .50]';A=[ones(size(t)) t.*exp(-t)];C=A\y;T=[0:.1:2.5]';Y=[ones(size(T)) T.*exp(-T)]*C;plot(T,Y,'-',t,y,'o')title('采用y(t)≈d1+d2te–t拟合')xlabel('\itt'), ylabel('\ity')第四题A=[11.59 12.81 15.66; 15.2 4.18 13.61; 10.597.59 9.22];[L,U]=lu(A)[Q R]=qr(A)B=[16.00 4.41 -10.37 -21.61; 0.88 -20.04 12.86 8.56; -1.43 10.71 18.81 -5.99; -12.48 24.35-23.9 10.34];[C,D]=lu(B)[E F]=qr(B)第五题(1)A=[5 -5 -6;3 -2 5;2 -1 -4];x0=[1;-4;5];X=[];for t=0:.01:1X=[X expm(t*A)*x0];endplot3(X(1,:),X(2,:),X(3,:),'-o')grid on(2)A=[1 2 -3 1;3 0 1 -2;1 -2 0 5;2 3 0 1];x0=[1;-1;2;1];X=[];for t=0:.01:1X=[X expm(t*A)*x0];endplot3(X(1,:),X(2,:),X(3,:),'-o')grid on第六题(1)A=[11.59 12.81 15.66; 15.2 4.18 13.61;10.59 7.59 9.22];lambda=eig(A)[V,D]=eig(A)(2)B=[16.00 4.41 -10.37 -21.61; 0.88 -20.04 12.86 8.56; -1.43 10.71 18.81 -5.99; -12.48 24.35 -23.9 10.34];lambda=eig(B)[V,D]=eig(B)第七题(1)x=[1 2 3 4 5 6 7 8 9 10];y=[15.0 39.5 66.0 85.5 89.0 67.5 12.0 -86.4 -236.9 -448.4];p=polyfit(x,y,2);x2=1:.1:10;y2=polyval(p,x2);figure(1)plot(x,y,'o',x2,y2)grid ontitle('二阶多项式曲线拟合')(2)x=[1 2 3 4 5 6 7 8 9 10];y=[15.0 39.5 66.0 85.5 89.0 67.5 12.0 -86.4 -236.9 -448.4];p=polyfit(x,y,3);x2=1:.1:10;y2=polyval(p,x2);figure(1)plot(x,y,'o',x2,y2)grid ontitle('三阶多项式曲线拟合')第八题p1=[1,-2-3,4,2];p2=[1,-7,5,31,-30];p3=[1,-1,-25,25];p4=[-2,3,1,5,8,0];[L1,U1]=lu(p1)r1=roots(p1)[L2,U2]=lu(p2)r2=roots(p2)[L3,U3]=lu(p3)r3=roots(p3)[L4,U4]=lu(p4)r4=roots(p4)第九题p1=[1,-2-3,4,2];p2=[1,-7,5,31,-30];p3=[1,-1,-25,25];p4=[-2,3,1,5,8];p1_x=polyval(p1,[-1.5,2.1,3.5]) p2_x=polyval(p2,[-1.5,2.1,3.5]) p3_x=polyval(p3,[-1.5,2.1,3.5]) p4_x=polyval(p4,[-1.5,2.1,3.5])第十题a=[2,3,-4];b=[4,-2,5];c=[3,0,-2,5,6];d1=conv(a,b)[d2,r2]=deconv(c,a)[d3,r3]=deconv(c,b)第十一题a=[2,3,-4];b=[4,-2,5];c=[3,0,-2,5,6];dao1=polyder(a,b)[dao2,r2]=polyder(c,a)[dao3,r3]=polyder(c,b)第十二题x=-5:.25:5;y=10*exp(-x);xi=-5:5;y1=interp1(x,y,xi,'nearest');y2=interp1(x,y,xi,'linear');y3=interp1(x,y,xi,'spline');y4=interp1(x,y,xi,'cubic'); figure(1);subplot(2,2,1)plot(x,y,'-',xi,y1,'o');title('最邻近内插');grid on;xlabel('x');ylabel('y');subplot(2,2,2)plot(x,y,'-',xi,y2,'o');title('线性内插');grid on;xlabel('x');ylabel('y');subplot(2,2,3)plot(x,y,'-',xi,y3,'o');title('三次样条内插');grid on;xlabel('x');ylabel('y');subplot(2,2,4)plot(x,y,'-',xi,y4,'o');title('三次曲线内插');grid on;xlabel('x');ylabel('y');第十三题x=rand(1,50);y=randn(1,50);minx=min(x)miny=min(y)maxx=max(x)maxy=max(y)avx=mean(x)avy=mean(y)Ex=(std(x)).^2Ey=(std(y)).^2第十四题t=[0 .2 .4 .6 .8 1.0 2.0 5.0 ]';y=[1.0 1.51 1.88 2.13 2.29 2.40 2.60 24.00]'; X1=[ones(size(t)) t t.^2];a=X1\y;X2=[ones(size(t)) exp(-t) t.*exp(-t)];b=X2\y;T=[0:.1:6]';Y1=[ones(size(T)) T T.^2]*a;Y2=[ones(size(T)) exp(-T) T.*exp(-T)]*b; figure(1)subplot(1,2,1)plot(T,Y1,'-',t,y,'o'),grid ontitle('多项式回归')subplot(1,2,2)plot(T,Y2,'-',t,y,'o'),grid ontitle('指数函数回归')第十五题t=0:1/119:1;x=3*sin(2*pi*20*t)+10*sin(2*pi*200*t+pi/4)+10*randn(size(t)); y=fft(x);m=abs(y);f=(0:length(y) -1)'*119/length(y);figure(1)subplot(2,1,1),plot(t,x),grid ontitle('被噪声污染的信号')ylabel('Input \itx'),xlabel('Time ')subplot(2,1,2),plot(f,m)ylabel('Abs. Magnitude'),grid onxlabel('Frequency (Hertz)')第十六题w=input('w=');t=0:1/119:1;x1=sin(w.*t)+randn(size(t));x2=cos(w.*t)+randn(size(t));x3=sin(w.*t)+randn(size(t));a=corrcoef(x1,x2)b=corrcoef(x1,x3)若没有正弦分量w=input('w=');t=0:1/119:1;x1=randn(size(t));x2=randn(size(t));x3=randn(size(t));a=corrcoef(x1,x2)b=corrcoef(x1,x3)第十七题z1=quad('exp(-2*t)',0,2)z2=quad('exp(2*t)',0,2)z3=quad('exp(t.^2-3*t+.5)',-1,1)第十八题function y=five(x)y=exp(-x)-1.5*exp(2*cos(2*x));%主函数x0=input('x0='); %执行时,按要求输入[-1,1]z=fzero('five',x0)第十九题function f=five(x,y)f=exp(-x.*y)-2*x.*y;%主函数z=dblquad('five',0,1,-1,1)第二十题function dy=five(t,y)dy=[0.5-y(1);y(1)-4*y(2)];%主函数X0=[1; -0.5];tspan=[0,25];[T,X]=ode45('five',tspan,X0);figure(1)subplot(2,1,1),plot(T,X(:,1),'r'),title('x_{1}'),grid onsubplot(2,1,2),plot(T,X(:,2),'k'),title('x_{2}'),grid onfigure(2)plot(X(:,1),X(:,2)),title('系统轨迹'),grid onxlabel('x_{1}'),ylabel('x_{2}')。
MATLAB习题参考答案(胡良剑,孙晓君)
% 如图(4.31) % 如图(4.32)
图(4.31)error
4 2 2 2
图(4.32)
(4)曲面 z = x + 3 x + y − 2 x − 2 y − 2 x y + 6, x < 3,−3 < y < 13 解: >> xa=linspace(-3,3,100);ya=linspace(-3,13,100); >> [x,y]=meshgrid(xa,ya); >> z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6; >> mesh(x,y,z) >> surf(x,y,z)
解:建立 M 文件 pxy 如下: xa=-2:0.05:2;ya=xa; nx=length(xa);ny=length(ya); [x,y]=meshgrid(xa,ya); z=zeros(nx,ny); [a1,b1]=find(x+y>1); %第 a1 列 b1 行对应的 x+y>1 (x 对应列;y 对应行) %第 a1 列对应的 x 值是 xa(a1);第 b1 行对应的 y 值是 ya(b1) z((a1-1)*ny+b1)=0.5457*exp(-0.75*ya(b1).^2-3.75*xa(a1).^2-1.5*xa(a1)); [a2,b2]=find(x+y<=1&x+y>-1); z((a2-1)*ny+b2)=0.7575*exp(-ya(b2).^2-6*xa(a2).^2); [a3,b3]=find(x+y<=-1); z((a3-1)*ny+b3)=0.5457*exp(-0.75*ya(b3).^2-3.75*xa(a3).^2+1.5*xa(a3)); surf(x,y,z); 命令窗口: >> pxy 运行结果如右图: 或者 M 文件如下: clear;close; xa=-2:0.1:2;ya=-2:0.1:2;[x,y]=meshgrid(xa,ya); z=zeros(size(x)); k1=find(x+y>1); z(k1)=0.5457*exp(-0.75*y(k1).^2-3.75*x(k1).^2-1.5*x(k1)); k2=find(x+y<=1&x+y>-1); z(k2)=0.7575*exp(-y(k2).^2-6*x(k2).^2); k3=find(x+y<-1); z(k3)=0.5457*exp(-0.75*y(k3).^2-3.75*x(k3).^2+1.5*x(k3)); mesh(x,y,z); 6、运行 demo 解:>>demo 7、查询 trapz 的功能、用法、目录、程序结构、相同目录下其它文件 解: >> help trapz ――功能用法 >> type trapz――程序结构,源码 >> which trapz――所在目录 >> help C:\MATLAB6p5\toolbox\matlab\datafun――该目录下其它文件
MATLAb与数学实验 第五章习题解答
01 10 00 0 -2
(1,1)
1
(3,2)
1
(2,3)
2
(1,4)
-1
(3,5)
3
A2 =
1 0 0 -1 0 00200
01003 (3) A1 =
(1,1)
1
(5,1)
2
(4,2)
3
(3,3)
1
(2,4)
3
(1,5)
2
(5,5)
1
A2 =
10002 00030 00100 03000 20001 18.创建一个 4 阶稀疏矩阵,使副对角线上元素为 1 答 A=sparse(1:4,1:4,1)
B=
-2 0 0 010 004
C=
-2 1 4
14 47 7 10
D=
-2 0 0 -2 1 4 010147 0 0 4 4 7 10
F=
-2 1 4 147 4 7 10 -2 0 0 010 004
(4) C=[-2 1 4;1 4 7;4 7 10] C(:,1)=[]
C=
-2 1 4 147 4 7 10
A=
(1,1)
1
(2,2)
1
(3,3)
1
(4,4)
1
19.创建如下稀疏矩阵,查看其信息,并将其还原成全元素矩阵
1 0 2 0 0 1 0 1 0 1 0 0
0 1 0 2 0
0 2 0 2 0
2
0
(1) 3 0 1 0 2 (2) 0 0 3 0 3 0 3
工种
天数 在木工家的工作天数 在电工家的工作天数 在油漆工家的工作天数
木工
2 4 4
MATLAB语言与控制系统仿真-参考答案-第5章
控制系统的时域响应MATLAB 仿真实训实训目的1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法;2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法;3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法;4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法;5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。
实训内容1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。
162.316)(21++=s s s G 164.216)(22++=s s s G 166.116)(23++=s s s G 1616)(24++=s s s G 解:>> n1=16; >> d1=[1,,16]; >> sys1=tf(n1,d1); >> step(sys1)>> n2=16; >> d2=[1,,16]; >> sys2=tf(n2,d2); >> step(sys2)>> n3=16;>> d3=[1,,16]; >> sys3=tf(n3,d3); >> step(sys3)>> n4=16;>> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)表5-5序号ξn ωm ax cp ts t (%5=∆)计算值实验计算值实验计算值实验值1 42 43 44 4w=4;cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=(z1*w); [cmax1,tp1,ts1] ans =>> z2=;w=4;cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=(z2*w); [cmax2,tp2,ts2] ans =>> z3=; w=4;cmax3=1+exp(-z3*pi/sqrt(1-z3^2)); tp3=pi/(w*sqrt(1-z3^2)); ts3=(z3*w); [cmax3,tp3,ts3] ans =>> z4=; w=4;cmax4=1+exp(-z4*pi/sqrt(1-z4^2)); tp4=pi/(w*sqrt(1-z4^2)); ts4=(z4*w); [cmax4,tp4,ts4] ans =说明:对于二阶欠阻尼系统(10<<ξ),若系统的闭环传递函数为2222)(nn ns s s Φωξωω++=则系统单位阶跃响应的输出最大值21max 1ξξπ--+=ec峰值时间21ξωπ-=n p t调整时间估算值ns t ξω5.3=(以5%为误差带)ns t ξω4.4=(以2%为误差带)2.已知二阶系统的闭环传递函数如下,编程求取系统的单位阶跃响应并完成表5-6,记录相关曲线。
matlab课后练习习题及答案详解
matlab课后习题及答案详解第1章MATLAB概论与其余计算机语言对比较,MATLAB语言突出的特色是什么?MATLAB拥有功能强盛、使用方便、输入简捷、库函数丰富、开放性强等特色。
MATLAB系统由那些部分构成?MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
安装MATLAB时,在选择组件窗口中哪些部分一定勾选,没有勾选的部分此后怎样补安装?在安装MATLAB时,安装内容由选择组件窗口中个复选框能否被勾选来决定,能够依据自己的需要选择安装内容,但基本平台(即MATLAB选项)一定安装。
第一次安装没有选择的内容在补安装时只要依据安装的过程进行,不过在选择组件时只勾选要补装的组件或工具箱即可。
MATLAB操作桌面有几个窗口?怎样使某个窗口离开桌面成为独立窗口?又怎样将离开出去的窗口从头搁置到桌面上?在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是封闭窗口的Close按钮,一个是能够使窗口成为独立窗口的Undock 按钮,点击Undock按钮就能够使该窗口离开桌面成为独立窗口,在独立窗口的view菜单中选择Dock,,菜单项就能够将独立的窗口从头防备的桌面上。
怎样启动M文件编写/调试器?在操作桌面上选择“成立新文件”或“翻开文件”操作时,M文件编写/调试器将被启动。
在命令窗口中键入edit命令时也能够启动M文件编写/调试器。
储存在工作空间中的数组能编写吗?怎样操作?储存在工作空间的数组能够经过数组编写器进行编写:在工作空间阅读器中双击要编写的数组名翻开数组编写器,再选中要改正的数据单元,输入改正内容即可。
命令历史窗口除了能够察看前方键入的命令外,还有什么用途?命令历史窗口除了用于查问从前键入的命令外,还能够直接履行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
怎样设置目前目录和搜寻路径,在目前目录上的文件和在搜寻路径上的文件有什么差别?目前目录能够在目前目录阅读器窗口左上方的输入栏中设置,搜寻路径能够经过选择操作桌面的file菜单中的SetPath菜单项来达成。
MATLAB课后习题集附标准答案
第2章 MATLAB概论1、与其他计算机语言相比较,MATLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MATLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.矚慫润厲钐瘗睞枥庑赖。
4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?聞創沟燴鐺險爱氇谴净。
答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.残骛楼諍锩瀨濟溆塹籟。
5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.酽锕极額閉镇桧猪訣锥。
6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。
7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.謀荞抟箧飆鐸怼类蒋薔。
MATLAB数学实验课后答案
数学实验MATLAB参考答案(重要部分)P20,ex1(5) 等于[exp(1),exp(2);exp(3),exp(4)](7) 3=1*3, 8=2*4(8) a为各列最小值,b为最小值所在的行号(10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture(11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10)(12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10)P20, ex2(1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码P20,ex3>> r=2;p=0.5;n=12;>> T=log(r)/n/log(1+0.01*p)T =11.5813P20,ex4>> x=-2:0.05:2;f=x.^4-2.^x;>> [fmin,min_index]=min(f)fmin =-1.3907 %最小值min_index =54 %最小值点编址>> x(min_index)ans =0.6500 %最小值点>> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点f1 =0.0328x1_index =24>> x(x1_index)ans =-0.8500>> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点f2 =0.0630x2_index =65>> x(x2_index)ans =1.2500P20,ex5>> z=magic(10)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6679 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59>> sum(z)ans =505 505 505 505 505 505 505 505 505 505 >> sum(diag(z))ans =505>> z(:,2)/sqrt(3)ans =57.157746.188046.765450.229553.693613.85642.88683.46416.928210.3923>> z(8,:)=z(8,:)+z(3,:)z =92 99 1 8 15 67 74 51 58 40 98 80 7 14 16 73 55 57 64 41 4 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 34 17 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6683 87 101 115 119 83 87 101 115 11910 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59P 40 ex1先在编辑器窗口写下列M函数,保存为eg2_1.m function [xbar,s]=ex2_1(x)n=length(x);xbar=sum(x)/n;s=sqrt((sum(x.^2)-n*xbar^2)/(n-1));例如>>x=[81 70 65 51 76 66 90 87 61 77];>>[xbar,s]=ex2_1(x)xbar =72.4000s =12.1124P 40 ex2s=log(1);n=0;while s<=100n=n+1;s=s+log(1+n);endm=n计算结果m=37P 40 ex3clear;F(1)=1;F(2)=1;k=2;x=0;e=1e-8; a=(1+sqrt(5))/2;while abs(x-a)>ek=k+1;F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1); enda,x,k计算至k=21可满足精度P 40 ex4clear;tic;s=0;for i=1:1000000s=s+sqrt(3)/2^i;ends,toctic;s=0;i=1;while i<=1000000s=s+sqrt(3)/2^i;i=i+1;ends,toctic;s=0;i=1:1000000;s=sqrt(3)*sum(1./2.^i);s,tocP 40 ex5t=0:24;c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...31 32 31 29 27 25 24 22 20 18 17 16];plot(t,c)P 40 ex6(1)clear;fplot('x^2*sin(x^2-x-2)',[-2,2])x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y)y=inline('x^2*sin(x^2-x-2)');fplot(y,[-2 2]) (2)参数方法t=linspace(0,2*pi,100);x=2*cos(t);y=3*sin(t); plot(x,y)(3)x=-3:0.1:3;y=x;[x,y]=meshgrid(x,y);z=x.^2+y.^2;surf(x,y,z)(4)x=-3:0.1:3;y=-3:0.1:13;[x,y]=meshgrid(x,y);z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;surf(x,y,z)(5)t=0:0.01:2*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z)(6)theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20); [theta,fai]=meshgrid(theta,fai);x=2*sin(fai).*cos(theta);y=2*sin(fai).*sin(theta);z=2*cos(fai);surf(x,y,z)(7)x=linspace(0,pi,100);y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)page41, ex7x=-1.5:0.05:1.5;y=1.1*(x>1.1)+x.*(x<=1.1).*(x>=-1.1)-1.1*(x<-1.1);plot(x,y)page41,ex8分别使用which trapz, type trapz, dir C:\MATLAB7\toolbox\matlab\datafun\page41,ex9clear;close;x=-2:0.1:2;y=x;[x,y]=meshgrid(x,y);a=0.5457;b=0.7575;p=a*exp(-0.75*y.^2-3.75*x.^2-1.5*x).*(x+y>1);p=p+b*exp(-y.^2-6*x.^2).*(x+y>-1).*(x+y<=1);p=p+a*exp(-0.75*y.^2-3.75*x.^2+1.5*x).*(x+y<=-1);mesh(x,y,p)page41, ex10lookfor lyapunovhelp lyap>> A=[1 2 3;4 5 6;7 8 0];C=[2 -5 -22;-5 -24 -56;-22 -56 -16]; >> X=lyap(A,C)X =1.0000 -1.0000 -0.0000-1.0000 2.0000 1.0000-0.0000 1.0000 7.0000Chapter 3%Exercise 1>> a=[1,2,3];b=[2,4,3];a./b,a.\b,a/b,a\bans =0.5000 0.5000 1.0000ans =2 2 1ans =0.6552 %一元方程组x[2,4,3]=[1,2,3]的近似解ans =0 0 00 0 00.6667 1.3333 1.0000%矩阵方程[1,2,3][x11,x12,x13;x21,x22,x23;x31,x32,x33]=[2,4,3]的特解Exercise 2(1)>> A=[4 1 -1;3 2 -6;1 -5 3];b=[9;-2;1];>> rank(A), rank([A,b]) %[A,b]为增广矩阵ans =3ans =3 %可见方程组唯一解>> x=A\bx =2.38301.48942.0213Exercise 2(2)>> A=[4 -3 3;3 2 -6;1 -5 3];b=[-1;-2;1]; >> rank(A), rank([A,b])ans =3ans =3 %可见方程组唯一解>> x=A\bx =-0.4706-0.2941Exercise 2(3)>> A=[4 1;3 2;1 -5];b=[1;1;1];>> rank(A), rank([A,b])ans =2ans =3 %可见方程组无解>> x=A\bx =0.3311-0.1219 %最小二乘近似解Exercise 2(4)>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1 2 3]';%注意b的写法>> rank(a),rank([a,b])ans =3ans =3 %rank(a)==rank([a,b])<4说明有无穷多解>> a\bans =110 %一个特解Exercise 3>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]'; >> x=null(a),x0=a\bx =-0.62550.6255-0.20850.4170x0 =11%通解kx+x0Exercise 4>> x0=[0.2 0.8]';a=[0.99 0.05;0.01 0.95]; >> x1=a*x, x2=a^2*x, x10=a^10*x >> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> x0=[0.8 0.2]';>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> [v,e]=eig(a)v =0.9806 -0.70710.1961 0.7071e =1.0000 00 0.9400>> v(:,1)./xans =1.17671.1767 %成比例,说明x是最大特征值对应的特征向量Exercise 5%用到公式(3.11)(3.12)>> B=[6,2,1;2.25,1,0.2;3,0.2,1.8];x=[25 5 20]';>> C=B/diag(x)C =0.2400 0.4000 0.05000.0900 0.2000 0.01000.1200 0.0400 0.0900>> A=eye(3,3)-CA =0.7600 -0.4000 -0.0500-0.0900 0.8000 -0.0100-0.1200 -0.0400 0.9100>> D=[17 17 17]';x=A\Dx =37.569625.786224.7690%Exercise 6(1)>> a=[4 1 -1;3 2 -6;1 -5 3];det(a),inv(a),[v,d]=eig(a) ans =-94ans =0.2553 -0.0213 0.04260.1596 -0.1383 -0.22340.1809 -0.2234 -0.0532v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766%Exercise 6(2)>> a=[1 1 -1;0 2 -1;-1 2 0];det(a),inv(a),[v,d]=eig(a) ans =1ans =2.0000 -2.0000 1.00001.0000 -1.0000 1.00002.0000 -3.0000 2.0000v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i -0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i%Exercise 6(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> det(A),inv(A), [v,d]=eig(A)ans =1ans =68.0000 -41.0000 -17.0000 10.0000 -41.0000 25.0000 10.0000 -6.0000 -17.0000 10.0000 5.0000 -3.0000 10.0000 -6.0000 -3.0000 2.0000v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887%Exercise 6(4)、(以n=5为例)%关键是矩阵的定义%方法一(三个for)n=5;for i=1:n, a(i,i)=5;endfor i=1:(n-1),a(i,i+1)=6;endfor i=1:(n-1),a(i+1,i)=1;enda%方法二(一个for)n=5;a=zeros(n,n);a(1,1:2)=[5 6];for i=2:(n-1),a(i,[i-1,i,i+1])=[1 5 6];enda(n,[n-1 n])=[1 5];a%方法三(不用for)n=5;a=diag(5*ones(n,1));b=diag(6*ones(n-1,1));c=diag(ones(n-1,1));a=a+[zeros(n-1,1),b;zeros(1,n)]+[zeros(1,n);c,zeros(n-1,1)] %下列计算>> det(a)ans =665>> inv(a)ans =0.3173 -0.5865 1.0286 -1.6241 1.9489-0.0977 0.4887 -0.8571 1.3534 -1.62410.0286 -0.1429 0.5429 -0.8571 1.0286 -0.0075 0.0376 -0.1429 0.4887 -0.5865 0.0015 -0.0075 0.0286 -0.0977 0.3173 >> [v,d]=eig(a)v =-0.7843 -0.7843 -0.9237 0.9860 -0.9237 0.5546 -0.5546 -0.3771 -0.0000 0.3771 -0.2614 -0.2614 0.0000 -0.1643 0.0000 0.0924 -0.0924 0.0628 -0.0000 -0.0628 -0.0218 -0.0218 0.0257 0.0274 0.0257d =0.7574 0 0 0 00 9.2426 0 0 00 0 7.4495 0 00 0 0 5.0000 00 0 0 0 2.5505%Exercise 7(1)>> a=[4 1 -1;3 2 -6;1 -5 3];[v,d]=eig(a) v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766>> det(v)ans =-0.9255 %v行列式正常, 特征向量线性相关,可对角化>> inv(v)*a*v %验算ans =-3.0527 0.0000 -0.00000.0000 3.6760 -0.0000-0.0000 -0.0000 8.3766>> [v2,d2]=jordan(a) %也可用jordanv2 =0.0798 0.0076 0.91270.1886 -0.3141 0.1256-0.1605 -0.2607 0.4213 %特征向量不同d2 =8.3766 0 00 -3.0527 - 0.0000i 00 0 3.6760 + 0.0000i>> v2\a*v2ans =8.3766 0 0.00000.0000 -3.0527 0.00000.0000 0.0000 3.6760>> v(:,1)./v2(:,2) %对应相同特征值的特征向量成比例ans =2.44912.44912.4491%Exercise 7(2)>> a=[1 1 -1;0 2 -1;-1 2 0];[v,d]=eig(a)v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i>> det(v)ans =-5.0566e-028 -5.1918e-017i %v的行列式接近0, 特征向量线性相关,不可对角化>> [v,d]=jordan(a)v =1 0 11 0 01 -1 0d =1 1 00 1 10 0 1 %jordan标准形不是对角的,所以不可对角化%Exercise 7(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> [v,d]=eig(A)v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887>> inv(v)*A*vans =0.0102 0.0000 -0.0000 0.00000.0000 0.8431 -0.0000 -0.0000-0.0000 0.0000 3.8581 -0.0000-0.0000 -0.0000 0 30.2887%本题用jordan不行, 原因未知%Exercise 7(4)参考6(4)和7(1), 略%Exercise 8 只有(3)对称, 且特征值全部大于零, 所以是正定矩阵. %Exercise 9(1)>> a=[4 -3 1 3;2 -1 3 5;1 -1 -1 -1;3 -2 3 4;7 -6 -7 0]>> rank(a)ans =3>> rank(a(1:3,:))ans =2>> rank(a([1 2 4],:)) %1,2,4行为最大无关组ans =3>> b=a([1 2 4],:)';c=a([3 5],:)';>> b\c %线性表示的系数ans =0.5000 5.0000-0.5000 1.00000 -5.0000%Exercise 10>> a=[1 -2 2;-2 -2 4;2 4 -2]>> [v,d]=eig(a)v =0.3333 0.9339 -0.12930.6667 -0.3304 -0.6681-0.6667 0.1365 -0.7327d =-7.0000 0 00 2.0000 00 0 2.0000>> v'*vans =1.0000 0.0000 0.00000.0000 1.0000 00.0000 0 1.0000 %v确实是正交矩阵%Exercise 11%设经过6个电阻的电流分别为i1, ..., i6. 列方程组如下%20-2i1=a; 5-3i2=c; a-3i3=c; a-4i4=b; c-5i5=b; b-3i6=0; %i1=i3+i4;i5=i2+i3;i6=i4+i5;%计算如下>> A=[1 0 0 2 0 0 0 0 0;0 0 1 0 3 0 0 0 0;1 0 -1 0 0 -3 0 0 0;1 -1 0 0 0 0 -4 0 0;0 -1 1 0 0 0 0 -5 0;0 1 0 0 0 0 0 0 -3;0 0 0 1 0 -1 -1 0 0;0 0 0 0 -1 -1 0 1 0;0 0 0 0 0 0 -1 -1 1];>>b=[20 5 0 0 0 0 0 0 0]'; A\b ans =13.34536.44018.54203.3274-1.18071.60111.72630.42042.1467>> A=[1 2 3;4 5 6;7 8 0];>> left=sum(eig(A)), right=sum(trace(A))left =6.0000right =6>> left=prod(eig(A)), right=det(A) %原题有错, (-1)^n应删去left =27.0000right =27>> fA=(A-p(1)*eye(3,3))*(A-p(2)*eye(3,3))*(A-p(3)*eye(3,3)) fA =1.0e-012 *0.0853 0.1421 0.02840.1421 0.1421 0-0.0568 -0.1137 0.1705>> norm(fA) %f(A)范数接近0ans =2.9536e-013roots([1 1 1])%Exercise 1(2)roots([3 0 -4 0 2 -1])%Exercise 1(3)p=zeros(1,24);p([1 17 18 22])=[5 -6 8 -5];roots(p)%Exercise 1(4)p1=[2 3];p2=conv(p1, p1);p3=conv(p1, p2);p3(end)=p3(end)-4; %原p3最后一个分量-4roots(p3)%Exercise 2fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x'); fzero(fun,2)】%Exercise 3fun=inline('x^4-2^x');fplot(fun,[-2 2]);grid on;fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)%Exercise 4fun=inline('x*sin(1/x)','x');fplot(fun, [-0.1 0.1]);x=zeros(1,10);for i=1:10, x(i)=fzero(fun,(i-0.5)*0.01);end;x=[x,-x]%Exercise 5fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);1 6*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2]','x');[a,b,c]=fsolve(fun,[0 0 0])%Exercise 6fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))]; [a,b,c]=fsolve(fun,[0.5 0.5])%Exercise 7clear; close; t=0:pi/100:2*pi;x1=2+sqrt(5)*cos(t); y1=3-2*x1+sqrt(5)*sin(t);x2=3+sqrt(2)*cos(t); y2=6*sin(t);plot(x1,y1,x2,y2); grid on; %作图发现4个解的大致位置,然后分别求解y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 1.5,2])y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 1.8,-2])y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 3.5,-5])y4=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[ 4,-4])%Exercise 8(1)clear;fun=inline('x.^2.*sin(x.^2-x-2)');fplot(fun,[-2 2]);grid on; %作图观察x(1)=-2;x(3)=fminbnd(fun,-1,-0.5);x(5)=fminbnd(fun,1,2);fun2=inline('-x.^2.*sin(x.^2-x-2)');x(2)=fminbnd(fun2,-2,-1);x(4)=fminbnd(fun2,-0.5,0.5);x(6)=2feval(fun,x)%答案: 以上x(1)(3)(5)是局部极小,x(2)(4)(6)是局部极大,从最后一句知道x(1)全局最小,x(2)最大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB
作业5参考答案
1、 试求出下面线性微分方程的通解。
543225432()()()()()136415217680()[sin(2)cos(3)]3
t d y t d y t d y t d y t dy t y t e t t dt dt dt dt dt π-+++++=++假设上述微分方程满足已知条件(0)1,(1)3,()2,(0)1,(1)2y y y y y π=====,试求出满足该条件的微分方程的解析解。
【求解】先定义t 为符号变量,求出等号右侧的函数,则可以由下面命令求出方程的解析 解,解的规模较大,经常能占数页。
>> syms t
exp(-2*t)*(sin(2*t+sym(pi)/3)+cos(3*t))
ans =
exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))
>> y=dsolve(['D5y+13*D4y+64*D3y+152*D2y+176*Dy+80*y=',...
'exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))'],'y(0)=1','y(1)=3','y(pi)=2',...
'Dy(0)=1','Dy(1)=2')
略:
事实上,仔细阅读求出的解析解就会发现,其中大部分表达式是关于系数的,所以如果能对 系数进行近似则将大大减小解的复杂度。
>> vpa(y)
ans =
.20576131687242798353909465020576e-2*exp(-2.*t)*cos(3.*t)+
.15538705805619602372728107411086e-1*exp(-2.*t)*sin(2.*t)+
.76830587084294035590921611166287e-2*exp(-2.*t)*cos(2.*t)-
106.24422608844727797303237726774*exp(-2.*t)*t^2+
98.159206062620455331994871615083*exp(-2.*t)*t+
59.405044899367325888329709780356*exp(-2.*t)*t^3-
30.741892776456442808809983330755*exp(-2.*t)+
.20576131687242798353909465020576e-2*exp(-2.*t)*sin(3.*t)+
31.732152104579289125415500223136*exp(-5.*t)
2、 试求解下面微分方程的通解以及满足(0)1,()2,(0)0x x y π===条件下的解析解。
66()5()4()3()sin(4)2()()4()6()cos(4)t t x t x t x t y t e t y t y t x t x t e t --⎧+++=⎨+++=⎩
【求解】可以用下面的语句得出微分方程组的通解。
>> syms t
[x,y]=dsolve('D2x+5*Dx+4*x+3*y=exp(-6*t)*sin(4*t)',...
'2*Dy+y+4*Dx+6*x=exp(-6*t)*cos(4*t)')
解略。
将已知初始条件代入,则可以得出下面的特解。
>> syms t
[x,y]=dsolve('D2x+5*Dx+4*x+3*y=exp(-6*t)*sin(4*t)',...
'2*Dy+y+4*Dx+6*x=exp(-6*t)*cos(4*t)','x(0)=1','x(pi)=2','y(0)=0')
>> vpa(x), vpa(y)
解略。
3、 试求出微分方程2511()(2)()(1)()x y x y x y x x e
x x ---+-=的解析解通解,并求出满足
边界条件(1),()1y y ππ==的解析解。
【求解】微分方程的通解可以由下面的函数直接求出
>> syms x
y=dsolve('D2y-(2-1/x)*Dy+(1-1/x)*y=x^2*exp(-5*x)','x')
y =
exp(x)*C2+exp(x)*log(x)*C1+1/1296*(6*exp(6*x)*Ei(1,6*x)+11+30*x+36*x^2)*exp(-5*x)
若需要求取满足边界条件的特解,需要在求解时代入边界条件,这样就可以由下面的语句得出微分方程的特解。
>> syms x
y=dsolve('D2y-(2-1/x)*Dy+(1-1/x)*y=x^2*exp(-5*x)',...
'y(1)=pi','y(pi)=1','x')
y =
-1/1296*exp(x)*(6*exp(1)*Ei(1,6)+77*exp(-5)-1296*sym(pi))/exp(1)+
1/1296*exp(x)*log(x)*(6*Ei(1,6)*exp(6*sym(pi)+6)+77*exp(6*sym(pi))-
1296*sym(pi)*exp(6*sym(pi)+5)+3*sqrt(-1)*pi*csgn(sym(pi))*exp(6*sym(pi)+6)-
6*Ei(1,6*sym(pi))*exp(6*sym(pi)+6)-3*sqrt(-1)*pi*exp(6*sym(pi)+6)-
3*sqrt(-1)*pi*csgn(6*sqrt(-1)*sym(pi))*exp(6*sym(pi)+6)-30*sym(pi)*exp(6)+
3*sqrt(-1)*pi*csgn(sym(pi))*csgn(6*sqrt(-1)*sym(pi))*exp(6*sym(pi)+6)-
36*sym(pi)^2*exp(6)-11*exp(6)+1296*exp(5*sym(pi)+6))/log(sym(pi))*exp(-6*sym( pi)-6)+
1/1296*(6*exp(6*x)*Ei(1,6*x)+11+30*x+36*x^2)*exp(-5*x)
由于使用了sym(pi) 这样精确的表示,其实还可以用数值解的方法对各个系数进行近似,这样可以得出如下结果。
>> vpa(y,10)
ans =
1.155578411*exp(x)-.9717266142*exp(x)*log(x)+
.7716049383e-3*(6.*exp(6.*x)*Ei(1,6.*x)+11.+30.*x+36.*x^2)*exp(-5.*x)
还可以对该结果进行图形显示,得出如图所示的解曲线,可见,该曲线通过两个给定 点。
>> x1=0.5:0.01:4; y1=subs(y,x,x1);
plot(x1,y1,1,pi,'o',pi,1,'o')
4、 Lotka-Volterra 扑食模型方程为()4()2()()()()()3()x t x t x t y t y t x t y t y t =-⎧⎨=-⎩
,且初值为(0)2,(0)3x y ==,试求解该微分方程,并绘制相应的曲线。
【求解】用下面命令可以立即解出微分方程的模型,并绘制出解的时间响应曲线和相平面曲 线,分别如图所示。
>> f=inline('[4*x(1)-2*x(1)*x(2); x(1)*x(2)-3*x(2)]','t','x');
[t,x]=ode45(f,[0,10],[2;3]);
5、 是给出求解下面微分方程的MA TLAB 命令,
(3)22,(0)2,(0)(0)0ty y tyy t yy e y y y -++====
并绘制出()y t 曲线。
试问该方程存在解析解吗?选择四阶定步长Runge-Kutta 算法求解该方程时,步长选择多少可以得出较好的精度,MATLAB 语言给出的现成函数在速度、精度上进行比较。
【求解】因为该方程为含有非线性项的微分方程,所以一般来说该方程不能有解析解,只能 求解其数值解。
要求解该方程。
,则需要引入状态变量x 1, x 2 ,x 3,这样可以写出一阶微分方程组。
就可以用下面的语句求解微分方程,并绘制出状态变量的时域响应曲线,可见,时变微分方程也可以容易地求解。
>> f=inline('[x(2); x(3); -t^2*x(1)*x(2)-t^2*x(2)*x(1)^2+exp(-t*x(1))]','t','x');
[t,x]=ode45(f,[0,10],[2;0;0]);。