MATLAB作业3参考答案
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 的最大值、最小值、均值和标准差。
(完整word版)含答案《MATLAB实用教程》
第二章 MATLAB 语言及应用实验项目实验一 MATLAB 数值计算三、实验内容与步骤1.创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a(1(2)用(3)用(42.矩阵的运算(1)利用矩阵除法解线性方程组。
⎪⎪⎩⎪⎪⎨⎧=+++=-+-=+++=+-12224732258232432143214321421x x x x x x x x x x x x x x x 将方程表示为AX=B ,计算X=A\B 。
(2)利用矩阵的基本运算求解矩阵方程。
已知矩阵A 和B 满足关系式A -1BA=6A+BA ,计算矩阵B 。
其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=7/10004/10003/1A ,Ps: format rata=[1/3 0 0;0 1/4 0;0 0 1/7];b=inv(a)*inv(inv(a)-eye(3))*6*a(3)计算矩阵的特征值和特征向量。
已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1104152021X ,计算其特征值和特征向量。
(4)Page:322利用数学函数进行矩阵运算。
已知传递函数G(s)=1/(2s+1),计算幅频特性Lw=-20lg(1)2(2w )和相频特性Fw=-arctan(2w),w 的范围为[0.01,10],按对数均匀分布。
3.多项式的运算(1)多项式的运算。
已知表达式G(x)=(x-4)(x+5)(x 2-6x+9),展开多项式形式,并计算当x 在[0,20]内变化时G(x)的值,计算出G(x)=0的根。
Page 324(2)多项式的拟合与插值。
将多项式G(x)=x 4-5x 3-17x 2+129x-180,当x 在[0,20]多项式的值上下加上随机数的偏差构成y1,对y1进行拟合。
对G(x)和y1分别进行插值,计算在5.5处的值。
Page 325 四、思考练习题1.使用logspace 函数创建0~4π的行向量,有20个元素,查看其元素分布情况。
Ps: logspace(log10(0),log10(4*pi),20) (2) sort(c,2) %顺序排列 3.1多项式1)f(x)=2x 2+3x+5x+8用向量表示该多项式,并计算f(10)值. 2)根据多项式的根[-0.5 -3+4i -3-4i]创建多项式。
matlab课后习题答案第三章
第3章数值数组及其运算习题3及解答1 要求在闭区间]2,0[ 上产生具有10个等距采样点的一维数组。
试用两种不同的指令实现。
〖目的〗●数值计算中产生自变量采样点的两个常用指令的异同。
〖解答〗%方法一t1=linspace(0,2*pi,10)%方法二t2=0:2*pi/9:2*pi %要注意采样间距的选择,如这里的2*pi/9.t1 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.2832t2 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.28322 由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
〖目的〗●数组下标的不同描述:全下标和单下标。
●sub2ind, int2str, disp的使用。
●随机发生器的状态控制:保证随机数的可复现性。
〖解答〗rng('default')A=rand(3,5)[ri,cj]=find(A>0.5);id=sub2ind(size(A),ri,cj);ri=ri';cj=cj';disp(' ')disp('大于0.5的元素的全下标')disp(['行号 ',int2str(ri)])disp(['列号 ',int2str(cj)])disp(' ')disp('大于0.5的元素的单下标')disp(id')A =0.8147 0.9134 0.2785 0.9649 0.95720.9058 0.6324 0.5469 0.1576 0.48540.1270 0.0975 0.9575 0.9706 0.8003大于0.5的元素的全下标行号 1 2 1 2 2 3 1 3 1 3列号 1 1 2 2 3 3 4 4 5 5大于0.5的元素的单下标1 2 4 5 8 9 10 12 13 153 采用默认全局随机流,写出产生长度为1000的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出 -1码的数目。
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
汽车理论作业 MA TLAB 过程010203040506070809010050001000015000汽车驱动力与阻力平衡图u a /km.h -1F /N10203040506070809010002468101214加速度倒数-速度曲线图u1/a0102030405060708090100102030405060u/(km/h)P /k W汽车功率平衡图10203040506070809010012141618202224最高档等速百公里油耗曲线Ua/(km/h)Q s /L2324252627282912131415161718燃油积极性-加速时间曲线燃油经济性(qs/L)动力性--原地起步加速时间 (s t /s )源程序:《第一章》m=3880; g=9.8; r=0.367; x=0.85; f=0.013; io=5.83; CdA=2.77; If=0.218; Iw1=1.798; Iw2=3.598; Iw=Iw1+Iw2;ig=[6.09 3.09 1.71 1.00]; %变速器传动比 L=3.2; a=1.947; hg=0.9; n=600:1:4000;T=-19.313+295.27*n/1000-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; Ft1=T*ig(1)*io*x/r;%计算各档对应转速下的驱动力Ft2=T*ig(2)*io*x/r;Ft3=T*ig(3)*io*x/r;Ft4=T*ig(4)*io*x/r;u1=0.377*r*n/(io*ig(1));u2=0.377*r*n/(io*ig(2));u3=0.377*r*n/(io*ig(3));u4=0.377*r*n/(io*ig(4));u=0:130/3400:130;F1=m*g*f+CdA*u1.^2/21.15;%计算各档对应转速下的驱动阻力F2=m*g*f+CdA*u2.^2/21.15;F3=m*g*f+CdA*u3.^2/21.15;F4=m*g*f+CdA*u4.^2/21.15;figure(1);plot(u1,Ft1,'-r',u2,Ft2,'-m',u3,Ft3,'-k',u4,Ft4,'-b',u1,F1,'-r',u2,F2,'-m',u3,F3,'-k',u4,F4,'-b','LineWidth',2)title('汽车驱动力与阻力平衡图');xlabel('u_{a}/km.h^{-1}')ylabel('F/N')gtext('F_{t1}')gtext('F_{t2}')gtext('F_{t3}')gtext('F_{t4}')gtext('F_{f}+F_{w}')%由汽车驱动力与阻力平衡图知,他们无交点,u4在最大转速时达到最大umax=u4(3401)Ft1max=max(Ft1);imax=(Ft1max-m*g*f)/(m*g)disp('假设是后轮驱动');C=imax/(a/L+hg*imax/L) % 附着率delta1=1+(Iw1+Iw2)/(m*r^2)+If*ig(1)*r^2*io^2*x/(m*r^2);delta2=1+(Iw1+Iw2)/(m*r^2)+If*ig(2)*r^2*io^2*x/(m*r^2);delta3=1+(Iw1+Iw2)/(m*r^2)+If*ig(3)*r^2*io^2*x/(m*r^2);delta4=1+(Iw1+Iw2)/(m*r^2)+If*ig(4)*r^2*io^2*x/(m*r^2);a1=(Ft1-F1)/(delta1*m); %加速度a2=(Ft2-F2)/(delta2*m);a3=(Ft3-F3)/(delta3*m);a4=(Ft4-F4)/(delta4*m);h1=1./a1; %加速度倒数h2=1./a2;h3=1./a3;h4=1./a4;figure(2);plot(u1,h1,u2,h2,u3,h3,u4,h4,'LineWidth',2); title('加速度倒数-速度曲线图');xlabel('u')ylabel('1/a')gtext('1/a1')gtext('1/a2')gtext('1/a3')gtext('1/a4')%由加速度倒数-速度曲线图可知u1min=min(u1);u1max=max(u1);u2min=u1max;u2min=min(u2);u2max=max(u2);u3min=u2max;u3max=max(u3);u4min=u3max;u4max=70;x1=[];x2=[];x3=[];x4=[];y=3401;for i=1:3401;if u3(i)<=u3min;x1=[i];endendq1=max(x1);ua3=u3(q1:y);a3=h3(q1:y);for i=1:3401;if u4(i)<=u4min;x2=[i];elseif u4(i)<=u4max;x3=[i];endendq2=max(x2);q3=max(x3);ua4=u4(q2:q3);a4=h4(q2:q3);s1=trapz(h2,u2 ); %二挡运行时间s2=trapz(ua3,a3);s3=trapz(ua4,a4);s=[s1 s2 s3];disp('积分得')t=sum(s)*1000/3600 %总时间《第二章》Pe1=Ft1.*u1./3600;%计算各档对应转速下的功率Pe2=Ft2.*u2./3600;Pe3=Ft3.*u3./3600;Pe4=Ft4.*u4./3600;P1=F1.*u1./(3600*x);%计算各档对应的各个车速下的行驶功率P2=F2.*u2./ (3600*x);P3=F3.*u3./ (3600*x);P4=F4.*u4./ (3600*x);figure(3);plot(u1,Pe1,'-r',u2,Pe2,'-m',u3,Pe3,'-k',u4,Pe4,'-b',u1,P1,'k',u2,P2,'k',u3,P3,'k', u4,P4,'k','linewidth',2);gtext('Pe1')gtext('Pe2')gtext('Pe3')gtext('Pe4')xlabel('u/(km/h)');ylabel('P/kW');title('汽车功率平衡图');n=[815 1207 1614 2012 2603 3006 3403 3804];Ua=[];Ua=0.377*r*n./(io*ig(4))ft=[];ft=m*g*f+(2.77/21.15)*Ua.^2;%计算各转速对应的各个车速下的行驶阻力Pe(1)=ft(1).*Ua(1)./(3600*x);%计算各转速对应的各个车速下的行驶阻力功率Pe(2)=ft(2).*Ua(2)./(3600*x);Pe(3)=ft(3).*Ua(3)./(3600*x);Pe(4)=ft(4).*Ua(4)./(3600*x);Pe(5)=ft(5).*Ua(5)./(3600*x);Pe(6)=ft(6).*Ua(6)./(3600*x);Pe(7)=ft(7).*Ua(7)./(3600*x);Pe(8)=ft(8).*Ua(8)./(3600*x)B0=[1326.8 1354.7 1284.4 1122.9 1141.0 1051.2 1233.9 1129.7];B1=[-416.46 -303.98 -189.75 -121.59 -98.893 -73.714 -84.478 -45.291];B2=[72.739 36.657 14.525 7.0035 4.4763 2.8593 2.9788 0.7113];B3=[-5.8629 -2.0533 -0.51184 -0.18517 -0.091077 -0.05138 -0.047449 -0.00075215];B4=[0.17768 0.043072 0.0068164 0.0018555 0.00068906 0.00035032 0.00028230-0.000038568];b1=(B0(1))+(B1(1)*Pe(1))+(B2(1)*Pe(1)^2)+(B3(1)*Pe(1)^3)+(B4(1)*Pe(1)^4);b2=(B0(2))+(B1(2)*Pe(2))+(B2(2)*Pe(2)^2)+(B3(2)*Pe(2)^3)+(B4(2)*Pe(2)^4);b3=(B0(3))+(B1(3)*Pe(3))+(B2(3)*Pe(3)^2)+(B3(3)*Pe(3)^3)+(B4(3)*Pe(3)^4);b4=(B0(4))+(B1(4)*Pe(4))+(B2(4)*Pe(4)^2)+(B3(4)*Pe(4)^3)+(B4(4)*Pe(4)^4);b5=(B0(5))+(B1(5)*Pe(5))+(B2(5)*Pe(5)^2)+(B3(5)*Pe(5)^3)+(B4(5)*Pe(5)^4);b6=(B0(6))+(B1(6)*Pe(6))+(B2(6)*Pe(6)^2)+(B3(6)*Pe(6)^3)+(B4(6)*Pe(6)^4);b7=(B0(7))+(B1(7)*Pe(7))+(B2(7)*Pe(7)^2)+(B3(7)*Pe(7)^3)+(B4(7)*Pe(7)^4);b8=(B0(8))+(B1(8)*Pe(8))+(B2(8)*Pe(8)^2)+(B3(8)*Pe(8)^3)+(B4(8)*Pe(8)^4);p=0.7;Qs=[];Qs(1)=(Pe(1)*b1)/(1.02*Ua(1).*p*g);Qs(2)=(Pe(2)*b2)/(1.02*Ua(2).*p*g);Qs(3)=(Pe(3)*b3)/(1.02*Ua(3).*p*g);Qs(4)=(Pe(4)*b4)/(1.02*Ua(4).*p*g);Qs(5)=(Pe(5)*b5)/(1.02*Ua(5).*p*g);Qs(6)=(Pe(6)*b6)/(1.02*Ua(6).*p*g);Qs(7)=(Pe(7)*b7)/(1.02*Ua(7).*p*g);Qs(8)=(Pe(8)*b8)/(1.02*Ua(8).*p*g);M=polyfit(Ua,Qs,2);UA=0.377*r*600/(ig(4)*io):1:0.377*r*4000/(ig(4)*io);%UA表示车速QS=polyval(M,UA);%QS表示油耗figure(4);plot(UA,QS,'linewidth',2);title('最高档等速百公里油耗曲线');xlabel('Ua/(km/h)');ylabel('Qs/L');《第三章》io=[5.17 5.43 5.83 6.17 6.33];Va=0.377*r*n(7)./(io.*ig(4));Ps=46.9366;disp('假设以最高档,较高转速(n取3401 ),最经济负荷(即90%负荷大约 46.9366Kw)行驶时油耗')qs=[];qs(1)=(Ps*b7)/(1.02*Va(1).*p*g);qs(2)=(Ps*b7)/(1.02*Va(2).*p*g);qs(3)=(Ps*b7)/(1.02*Va(3).*p*g);qs(4)=(Ps*b7)/(1.02*Va(4).*p*g);qs(5)=(Ps*b7)/(1.02*Va(5).*p*g);st=[ 17.5813 16.2121 14.5126 13.3775 12.9185];%加速时间:(这里以最高档〈四档〉、速度由0加速到94.93Km/h 的时间)因与题1.3第三问求法相同,这里不在累述,可直接有计算机求得:figure(5);plot(qs,st,'+','linewidth',2)hold on plot(qs,st,); gtext('5.17') gtext('5.43') gtext('5.83') gtext('6.17') gtext('6.33')title('燃油积极性-加速时间曲线'); xlabel('燃油经济性(qs/L)');ylabel('动力性--原地起步加速时间 (st/s)');《第四章》 4-31)前轴利用附着系数为:gf zh b zL +=βϕ后轴利用附着系数为: ()gr zh a zL --=βϕ1空载时:g h b L -=βϕ0=413.0845.085.138.095.3-=-⨯所以0ϕϕ>空载时后轮总是先抱死。
数学建模作业题+答案
数学建模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实验三答案详解
实验三选择结构程序设计实验内容1.程序代码function f(x)if x<0&x~=-3y=x*x+x-6;elseif x>0&x<5&x~=2&x~=3y=x*x-5.*x+6;elsey=x*x-x-1endy运行结果>> f(-7)y =36>> f(2.5)y =-0.2500>> f(90)y =80092.程序代码score=input('分数=');if score<=100&score>=0switch fix(score/10)case{9,10}grade='A';case{8}grade='B';case{7}grade='C';case{6}grade='D';otherwisegrade='E';endgradeelsedisp('输入有误,请输入正确的百分制成绩');end运行结果>> 分数=56grade =E>> f分数=345输入有误,请输入正确的百分制成绩3.程序代码time=input('工作时间=');switch timecase{time>120}wage=(time-120)*(1+15/100)*84+120*84;case{time<60}wage=time*84-700;otherwisewage=time*84end运行结果>> f工作时间=150wage =12600>> f工作时间=50wage =4200>> f工作时间=110wage =92404.程序代码A=10+90*rand(5);a=fix(A(3,3))b=fix(A(2,4))x=input('输入一个运算符号','s');switch xcase {'+'}c=a+b;case{'-'}c=a-b;case{'*'}c=a*b;case{'/'}c=a/b;otherwisec='无效'endc运行结果>> fa =55b =59输入一个运算符号+c =114>> fa =77b =14输入一个运算符号/c =5.5000>> fa =30b =58输入一个运算符号#c =无效c =无效5.程序代码A=input('输入一个5行6列的矩阵A=');n=input('输入一个正整数n=');if n<5&n>0disp(A(n,:));elsedisp(A(5,:));endlasterr运行结果>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 9 2 2 2 3;11 2 11 9 7 3;2 3 4 5 6 7] 输入一个正整数n=62 3 4 5 6 7ans =Undefined function or variable 'clcl'.>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输入一个正整数n=32 2 2 2 2 3ans =Undefined function or variable 'clcl'.。
matlab课后习题与答案
习题二1.如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。
因此,矩阵是MATLAB最基本、最重要的数据对象。
2.设A和B是两个同维同大小的矩阵,问:(1)A*B和A.*B的值是否相等?答:不相等。
(2)A./B和B.\A的值是否相等?答:相等。
(3)A/B和B\A的值是否相等?答:不相等。
(4)A/B和B\A所代表的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。
3.写出完成下列操作的命令。
(1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。
答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])(2)删除矩阵A的第7号元素。
答:A(7)=[](3)将矩阵A的每个元素值加30。
答:A=A+30;(4)求矩阵A的大小和维数。
答:size(A);ndims(A);(5)将向量t的0元素用机器零来代替。
答:t(find(t==0))=eps;(6)将含有12个元素的向量x转换成34矩阵。
答:reshape(x,3,4);(7)求一个字符串的ASCII码。
答:abs(‘123’); 或double(‘123’);(8) 求一个ASCII 码所对应的字符。
答:char(49);4. 下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;...L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0]L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0]L4的值为[4, 5, 6]5. 已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦完成下列操作:(1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32⨯子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E 。
Matlab实验三答案
Matlab实验三答案实验三 MATLAB语⾔的程序设计⼀、实验⽬的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计⽅法3、函数⽂件的编写和设计4、了解和熟悉跨空间变量传递和赋值⼆、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是⼩数,只须符合数学逻辑。
while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执⾏循环体语勾。
若表达式的值为真,执⾏循环体语句⼀次、在反复执⾏时,每次都要进⾏判断。
若表达式的值为假,则程序执⾏end之后的语句。
2、为了避免因逻辑上的失误,⽽陷⼊死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执⾏。
(执⾏循环体的次数不确定;每⼀次执⾏循环体后,⼀定会改变while 后⾯所跟关系式的值。
)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endelse if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是⼀个条件分⽀语句,若满⾜表达式的条件,则往下执⾏;若不满⾜,则跳出if结构。
2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。
3.注意:每⼀个if都对应⼀个end,即有⼏个if,记就应有⼏个end。
switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后⾯的表达式可以是任何类型,如数字、字符串等。
2.当表达式的值与case后⾯常量表达式的值相等时,就执⾏这个case后⾯的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执⾏otherwise后的执⾏语句。
机械原理matlab分析大作业3-28
机械原理第一题:求C点的位移、速度及加速度。
由封闭形ABCDEA与AEFA得:L6+L4+L3 =L1+L2L1’=L6+L4’(1)位置分析机构的封闭矢量方程式写成在两坐标上的投影表达式:由以上方程求出θ2 、θ3 、θ4 、L1’1.主程序:%输入已知数据l2=60;l3=35;l4=75;l5=50;l6=40;l7=70;hd=pi/180;du=180/pi;omega1=10;alpha1=0;%调用子函数计算角位移,角速度及角加速度for n1=1:66 %曲柄转角范围theta1(n1)=(n1-1)*hd;ll=[l2,l3,l4,l5,l6,l7];[theta,omega,alpha]=six_bar(theta1(n1),omega1,ll);l1(n1)=theta(1);theta2(n1)=theta(2);theta4(n1)=theta(3);theta3(n1)=theta(4);v1(n1)=omega(1);omega2(n1)=omega(2);omega3(n1)=omega(3);omega4(n1)=omega(4);a1(n1)=alpha(1);alpha2(n1)=alpha(2);alpha3(n1)=alpha(3);alpha4(n1)=alpha(4);e nd%图像输出figure(1);n1=1:66;t=(n1-1)*2*pi/360;subplot(2,2,1);%滑块F线位移L1图像输出plot(theta1*du,l1,'k');title('L1线位移图');xlabel('角位移\theta_1/\circ')ylabel('线位移/mm')grid on;hold on;gtext('L1')pause(1);subplot(2,2,2);%theta2、theta3、theta4角位移图像输出plot(theta1*du,theta2*du,'g',theta1*du,theta3*du,'r',theta1*du,th eta4*du);title('\theta_2、\theta_3、\theta_4角位移图');xlabel('角位移\theta_1/\circ')ylabel('角位移/\circ')grid on;hold on;legend('\theta_2','\theta_3','\theta_4');pause(1);subplot(2,2,3);%滑块F的速度图像输出plot(theta1*du,v1,'k');title('滑块F的速度图');xlabel('角位移\theta_1/\circ')ylabel('速度/mm\cdots^{-1}')grid on;hold on;gtext('v1')pause(1);subplot(2,2,4);%滑块F的加速度图像输出plot(theta1*du,a1,'k');title('滑块F的加速度图');axis auto;xlabel('角位移\theta_1/\circ')ylabel('加速度/mm\cdots^{-2}')grid on;hold on;gtext('a1');pause(5);figure(2);subplot(1,2,1);%omega2、omega3和omega4角位移图像输出plot(theta1*du,omega2,'g',theta1*du,omega3,'r',theta1*du,omega4,' b');title('\omega_2、\omega_3、\omega_4角速度图');axis auto;grid on;hold on;xlabel('角位移\theta_1/\circ')ylabel('角速度/rad\cdots^{-1}')box on;legend('\omega_2','\omega_3','\omega_4');pause(1);subplot(1,2,2);%alpha2、alpha3和alpha4角加速度图像输出plot(theta1*du,alpha2,'g',theta1*du,alpha3,'r',theta1*du,alpha4,' b');title('\alpha_2、\alpha_3、\alpha_4角加速度图');axis auto;grid on;hold on;xlabel('角位移\theta_1/\circ')ylabel('角加速度/rad\cdots^{-2}')box on;legend('\alpha_2','\alpha_3','\alpha_4');pause(5);figure(3);xC=-l6*cos(theta1+pi)+l5*cos(theta3);yC=l6*sin(theta1+pi)+l5*sin(theta3);% rC=sqrt(xC.*xC+yC.yC)vCX=-omega1*l6*sin(theta1+pi)-omega3*l5.*sin(theta3);vCY=omega1*l6*cos(theta1+pi)+omega3*l5.*cos(theta3);% v3=sqrt(vCX.*vCX+vCY.*vCY);subplot(2,2,1);hold on;grid on;%C点x、y方向位移图像输出plot(theta1*du,xC,'r',theta1*du,yC);axis auto;hold on;grid on;title('C点位移图');xlabel('角位移\theta_1/\circ')ylabel('位移/mm')grid on;hold on;legend('xC','yC');pause(1);subplot(2,2,2);grid on;hold on;%C点x、y方向速度图像输出plot(theta1*du,vCX,'k',theta1*du,vCY);title('C点速度图');xlabel('角位移\theta_1/\circ')ylabel('速度/mm\cdots^{-1}')legend('vCX','vCY');pause(1);aCX=omega1*omega1*l6*cos(theta1)-omega3.*omega3.*l5.*cos(theta3)-alpha3.*l5.*sin(theta3);aCY=omega1*omega1*l6*sin(theta1)-omega3.*omega3.*l5.*sin(theta3)+ alpha3.*l5.*cos(theta3);%a3=sqrt(aCX.*aCX+aCY.*aCY);subplot(2,2,3);%C点x、y方向加速度图像输出plot(theta1*du,aCX,'r',theta1*du,aCY,'b');title('C点加速度图');grid on;hold on;xlabel('角位移\theta_1/\circ')ylabel('加速度/mm\cdots^{-2}')box on;legend('aCX','aCY');%主程序结束2.子程序:%子函数function[theta,omega,alpha]=six_bar(theta1,omega1,ll)l2=ll(1);l3=ll(2);l4=ll(3);l5=ll(4);l6=ll(5);l7=ll(6);%1.计算角位移和线位移l1=l7*cos(theta1)+sqrt((l7*cos(theta1))*(l7*cos(theta1))-l7*l7+l2 *l2);theta2=asin((l1*sin(theta1))/l2);A=2*l4*(l6*sin(theta1)-l3*sin(theta2).*sin(theta2));B=2*l4*(l6*cos(theta1)+l7-l3*cos(theta2));C=l4*l4-l5*l5+l6*l6+l7*l7+l3*l3-2*l3*l6*(cos(theta1)*cos(theta2)+ sin(theta1)*sin(theta1))-2*l7*l3*cos(theta2)+2*l6*l7*cos(theta1); theta4=2*atan((A+sqrt(A.*A+B.*B-C.*C))/(B-C));theta3=asin((l6*sin(theta1)+l4*sin(theta4)-l3*sin(theta2))/l5); theta(1)=l1;theta(2)=theta2;theta(3)=theta4;theta(4)=theta3;%2利用矩阵计算角速度和线速度D=[-l5*sin(theta3),l4*sin(theta4),-l3*sin(theta2+pi),0l5*cos(theta3),-l4*cos(theta4),-l3*cos(theta2+pi),00,0,l2*sin(theta2),cos(theta1)0,0,-l2*cos(theta2),sin(theta1)];E=[l6*sin(theta1+pi);-l6*cos(theta1+pi);l1*sin(theta1);-l1*cos(theta1)];omega=D\(omega1*E);v1=omega(4);omega2=omega(3);omega3=omega(1);omega4=omega(2);%3利用矩阵计算角加速度和加速度Dt=[-l5*omega3*cos(theta3),l4*omega4*cos(theta4),-l3*omega2*cos(t heta2),0-l5*omega3*sin(theta3),l4*omega4*sin(theta4),-l3*omega2*sin(theta 2),00,0,l2*omega2*cos(theta2),-omega1*sin(theta1)0,0,l2*omega2*sin(theta2),omega1*cos(theta1)];Et=[l6*omega1*cos(theta1);l6*omega1*sin(theta1);l1*omega1*cos(theta1)+v1*sin(theta1);l1*omega1*sin(theta1)-v1*cos(theta1)];alpha=D\(-Dt*omega+omega1*Et);a1=alpha(4);alpha2=alpha(3);alpha3=alpha(1);alpha4=alpha(2);%3子程序结束3.图像输出:%1.滑块F线位移L1图像输出%2.theta2、theta3、theta4角位移图像输出%3.滑块F的速度图像输出%4.滑块F的加速度图像输出%5.omega2、omega3和omega4角位移图像输出%6.alpha2、alpha3和alpha4角加速度图像输出%7.C点x、y方向位移图像输出%8.C点x、y方向速度图像输出%9.C点x、y方向加速度图像输出。
matlab课后习题及答案详解
matlab课后习题及答案详解第1章练习题1.安装matlab时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?在安装matlab时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即matlab选项)必须安装。
第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
2.matlab操作方式桌面存有几个窗口?如何并使某个窗口瓦解桌面沦为单一制窗口?又如何将瓦解过来的窗口再次置放至桌面上?与其他计算机语言相比较,matlab语言注重的特点就是什么?matlab系统由那些部分共同组成?在matlab操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择dock……菜单项就可以将独立的窗口重新防止的桌面上。
matlab具备功能强大、使用方便、输出简便、库函数多样、开放性弱等特点。
matlab系统主要由开发环境、matlab数学函数库、matlab语言、图形功能和应用程序接口五个部分组成。
3.如何设置当前目录和搜寻路径,在当前目录上的文件和在搜寻路径上的文件存有什么区别?命令历史窗口除了可以观测前面键入的命令外,除了什么用途?当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的setpath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
命令历史窗口除了用作查阅以前键入的命令外,还可以轻易执行命令历史窗口中选取的内容、将选取的内容拷贝到剪贴板中、将选取内容轻易拷贝到m文件中。
matlab作业3参考答案
matlab作业3参考答案Matlab作业3参考答案Matlab作业3是一个综合性的编程任务,要求学生运用Matlab的各种功能和工具来解决实际问题。
本文将提供Matlab作业3的参考答案,并对其中的关键步骤和思路进行详细解释。
一、问题描述在本次作业中,学生需要解决一个关于图像处理的问题。
具体来说,给定一张彩色图像,学生需要编写Matlab代码来实现以下功能:1. 将彩色图像转换为灰度图像;2. 对灰度图像进行高斯滤波;3. 对滤波后的图像进行边缘检测;4. 对边缘图像进行二值化处理。
二、解决方案1. 将彩色图像转换为灰度图像首先,我们需要读取彩色图像。
可以使用Matlab的imread函数来实现。
然后,使用rgb2gray函数将彩色图像转换为灰度图像。
代码如下:```matlabrgbImage = imread('image.jpg');grayImage = rgb2gray(rgbImage);```2. 对灰度图像进行高斯滤波接下来,我们需要对灰度图像进行高斯滤波。
高斯滤波是一种常用的图像平滑方法,可以有效地去除图像中的噪声。
Matlab提供了fspecial函数来生成高斯滤波器。
代码如下:```matlabh = fspecial('gaussian', [3 3], 1);filteredImage = imfilter(grayImage, h);```3. 对滤波后的图像进行边缘检测在这一步中,我们需要对滤波后的图像进行边缘检测。
边缘检测可以帮助我们找到图像中的边缘和轮廓。
Matlab提供了多种边缘检测算法,如Sobel算子和Canny算子。
代码如下:```matlabedgeImage = edge(filteredImage, 'canny');```4. 对边缘图像进行二值化处理最后,我们需要对边缘图像进行二值化处理,将图像中的边缘转换为黑白两种颜色。
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 =2、a=-3.0:0.1:3.0;>> b=exp(-0.3*a).*sin(a+0.3)3、x=[2 4;-0.45 5];y=log(x+sqrt(1+x.^2))/2y = 4、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 =d=c+a*b/(a+b)d =第二章二、4、(1)y=0;k=0;>> while y<3k=k+1;y=y+1/(2*k-1);end>> display([k-1,y-1/(2*k-1)])ans =第三章二1(1)x=0:pi/10:2*pi;>> y=x-x.^3/6;>> plot(x,y)(2)x=0:pi/10:2*pi; y=(exp(-x.^2/2))/2*pi;plot(x,y)(3)x=-8:0.01:8;y=sqrt((64-x.^2)/2);plot(x,y)(4)t=0:0.1:8*pi; >> x=t.*sin(t);>> y=t.*cos(t); >> plot(x,y)x=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')variable xvariabley2、(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 =>> z=sin(3.*(t1)).*cos(t1) z =>> plot(t,x,t,y,'k:',t1,z,'bp');(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,2,1);x=0:0.01:pi;y=sin(1./x);plot(x,y)subplot(1,2,2);fplot('sin(1./x)',[1,100])4、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轴仍为线性刻度101010101010105、(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);2706、(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);(2)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; surf(x,y,z); shading interp;第五章二1、a=rand(1,30000);mean(a) %求平均数 ans = >>b=std(a) %求标准差 b =>> c=max(a) c =>> d=min(a) d =size(find(a>0.5))/size(a)ans =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')ww =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.')5、(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.46561.2400(3) a=[-1,4,3;2,1,5;0,5,6]; >>y1=polyval(p,a) %以矩阵a 的每一个元素为自变量 y1 =-29 291 95 19 -3 697 -13 697 1427 >>y2=polyvalm(p,a) %以矩阵a 为自变量 y2 =391 2084 3273502 2693 4207720 3775 5892 6、(1)z=fzero('3*x-sin(x)+1',0) %求x=0时附近的根z =第八章二、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('篮筐')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'); 4、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);字符串例ch='Welcome to Beijing';subch=ch(12:18) 选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 =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)绘制二维曲线图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);绘制三维图像例:x=sint+tcosty=cost-tsintz=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; 加网格线xz三维例]2/,0[],,0[,cossin22ππ∈∈+=yxyxz[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]);t=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); 绘制三维网格图多项式求导例:f(x)=1/x^2+5p=[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+5p=[2,-12,3,0,5];>> x=roots(p);>> p=[2,-12,3,0,5];x=roots(p) 求方程f(x)=0的根x =5.72460.8997>> g=poly(x) 已知多项式的根求多项式g =符号求导x=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)计算积分值符号求极限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课堂习题2一、求方程组⎪⎩⎪⎨⎧=-+=++=-+234326454510243z y x z y x z y x 的解,用三种方法。
4.建模作业_MATLAB(3)
《数学建模》课程作业题第七章MATLAB(3)1.MATLAB图形处理的高级技术都有哪些?颜色映像。
1)colormap函数进行调用颜色映像;2)Pcolor、rgbplot、colorbar等函数用户可以条用所定义的颜色映像为图形服务;3)pcolor一般与函数shading相结合,用于以不同方式为图形着色;4)Rgbplot是一种直接显示颜色的函数;5)第三个用来显示颜色映像最常用的函数是colorbar。
视角与光照。
1)视角控制函数view,viewmtx及rotate3D;2)光照控制函数lighting‘光源模式’;3)图像处理。
2.MATLAB图形处理的基本技术都有哪些?1)图像控制坐标控制:axis([xmin,xmax,ymin,ymax])平面坐标网格函数:grid on/grid off2)图形的标注①.坐标轴标注:xlabel(‘标注’,’属性’),ylabel,zlabel②.文本标注:text(x,y,’标注文本及控制字符串’)③.交互式文本标注:gtext④.图例标注:legend (‘标注1’,‘标注2’) 3)图形的保持与子图:hold on,hold off,subplot(m,n,p) 3.3. 编写如下问题的M 文件7.4.1绘制下列曲线.(1) 21100x y +=, 运行程序:clear; clc; x=0:0.1:1; y=100./(1+x.^2); plot(x,y);(2) 2221xe y -=π, 运行程序 clear;clc; x=0:0.01:1;y=(1/(2*pi))*exp(((-x.^2)/2)); plot(x,y);(3) 122=+y x ,ezplot('x^2+y^2=1')(4) ⎩⎨⎧==325ty t x . t=0:1:50; x=t.^2; y=t.^3; plot(x,y)title('参数方程 ');7.4.2绘制下列极坐标图.(1) 4cos 5+=θρ,clear; clc;x=0:0.01*pi:2*pi; y=5*cos(x)+4; polar(x,y)(2) θρ12=,clear; clc;x=0:0.01*pi:2*pi; y=12./sqrt(x); polar(x,y);(3) 7cos 5-=θρ, clear; clc;x=0:0.01*pi:2*pi; y=5./cos(x)-7; polar(x,y)(4) 23θπρ=.clear;clc;x=0:0.01*pi:2*pi; y=pi/3*x.^2; polar(x,y)7.4.3绘制下列三维图形.(1) ⎪⎩⎪⎨⎧===t z t y t x sin cos ,clear; clc;t=0:0.01*pi:2*pi; x=cos(t); y=sin(t); z=t;plot3(x,y,z)(2) ⎪⎩⎪⎨⎧=+=+=u z v u y v u x sin sin )cos 1(cos )cos 1(,u=0:pi/20:10*pi; v=0:pi/20:10*pi; x2=(1+cos(u)).*cos(v); y2=(1+cos(u)).*sin(v); z2=sin(u); plot3(x,y,z)(3) 5=z ,[x3,y3]=meshgrid(-100:100);%形成一个100×100的网格z3=5*ones(size(x3));%将Z与上面网格对应起来mesh(x3,y3,z3)(4) 半径为10的球面.x0=2;y0=3;z0=0;%球心r=10;%半径[x,y,z]=sphere;mesh(r*x+x0,r*y+y0,r*z+z0);axis equal7.4.4在同一图形窗口采用子图形式分别绘制正方形、圆、三角形和六边形.ord=[3 4 6 2^20] for i=1:4 subplot(2,2,i)theta=linspace(pi/ord(i),2*pi+pi/ord(i),ord(i)+1);%%圆等分点 plot(cos(theta),sin(theta));xlim(1.5*[-1,1]);ylim(1.5*[-1,1]);axis equal ; end7.4.5分别用plot 和fplot 函数绘制下列分段函数的曲线:⎪⎩⎪⎨⎧<--+=>+++=0 ,510 ,00 ,51)(342x x x x x x x x ffunction y=work414(x) y=[];%定义空矩阵 for i = x if i > 0y = [y, i^2+(1+i)^0.25+5]; %将算出值与矩阵y 结合形成新矩阵y elseif i == 0 y = [y, 0]; elsey = [y, i^3+sqrt(1-i)-5]; end end endclearclcx=-10:0.5:10;y=work414(x);subplot(2, 1, 1);plot(x,y)grid on; title('plot');subplot(2, 1, 2);fplot(@(x)work414(x),[-5,5])grid on; title('fplot');7.4.6某工厂2005年度各季度产值(单位:万元)分别为:450.6、395.9、410.2、450.9,试绘制折线图和柄状图,并说明图形的实际意义.subplot(1, 1, 1); clear; clc;x = 1 : 4;y = [450.6, 395.9, 410.2, 450.9];subplot(1, 2, 1);plot(x, y);title('折线图-四个季度产值变化'); xlabel('第i个季度'); ylabel('产值/万元'); grid on; axis([0, 5, 360, 480]);subplot(1, 2, 2);pie(y);title('饼图-每个季度占总产值的百分比');意义:第一季度与第四季度产值高,二三季度产值偏低7.4.7绘制一个长方形,将长方形3等份,每等份分别着不同的颜色.vert = [0, 0; 1, 0; 2, 0; 3, 0; 3, 1; 2, 1; 1, 1; 0, 1]; %画最大长方形fac = [1, 8, 7, 2; 2, 7, 6, 3; 3, 6, 5, 4];%区域涂色分割mc = jet(3);patch('Vertices', vert, 'Faces', fac, 'FaceVertexCData', mc, 'FaceColor', 'flat'); %着色函数7.4.8生成一个长方体,每小面着不同颜色,并进行光照和材质处理.clear;clc;vert = [0, 0, 0; 1, 0, 0; 1, 1, 0; 0, 1, 0; 0, 0, 1; 1, 0, 1; 1, 1, 1; 0, 1, 1];fac = [1, 5, 6, 2; 2, 6, 7, 3; 3, 7, 8, 4; 4, 8, 5, 1; 1, 4, 3, 2;5, 8, 7, 6];mc = jet(6);patch('Vertices', vert, 'Faces', fac, 'FaceVertexCData', mc,'FaceColor', 'Flat'); % 顶点集,小面上定点axis([-0.5, 2.5, -0.5, 2.5, -0.5, 2.5]); grid on; axis square;xlabel('x-axis'); ylabel('y-axis'); zlabel('z-axis');title('方块');light('Color', 'b', 'Style', 'local', 'Position', [1, 1, 1]);lighting flat; % 均匀入射光material shiny; % 镜面反射光hold on;plot3(2, 2, 2, 'p'); text(2, 2, 2, 'light');hold off7.4.9气象变换情况的可视化:下表是气象学家测量得到的气象数据,它们分别表示在南半球地区按不同纬度、不同月份的平均气旋数字,根据这些数据,绘制出气旋分布曲面图,并计算2月份在纬度11度处的气旋值.南半球气旋数据表clear;clc;x=1:12;y=5:10:85;z=[2.4 1.6 2.4 3.2 1.0 0.5 0.4 0.2 0.5 0.8 2.4 3.6 ;18.7 21.4 16.2 9.2 2.8 1.7 1.4 2.4 5.8 9.2 10.3 16;20.8 18.5 18.2 16.6 12.9 10.1 8.3 11.2 12.5 21.1 23.9 25.5;22.1 20.1 20.5 25.1 29.2 32.6 33.0 31.0 28.6 32.0 28.1 25.6;37.3 28.8 27.8 37.2 40.3 41.7 46.2 39.9 35.9 40.3 38.2 43.4;48.2 36.6 35.5 40 37.6 35.4 35 34.7 35.7 39.5 40 41.9;25.6 24.2 25.5 24.6 21.1 22.2 20.2 21.2 22.6 28.5 25.3 24.3;5.3 5.3 5.4 4.9 4.9 7.1 5.3 7.3 7 8.66.3 6.6;0.3 0 0 0.3 0 0 0.1 0.2 0.3 0 0.1 0.3];[xi,yi]=meshgrid(1:12,5:1:85);zi=interp2(x,y,z,xi,yi,'cubic');z=interp2(x,y,z,2,11,'cubic')mesh(xi,yi,zi)hold on;plot3(2,11,z,'*r')xlabel('月份'),ylabel('纬度'),zlabel('气旋'),axis([0 12 0 90 0 50])title('南半球气旋可视化图形')红点表示2月份在纬度11度处的气旋值z =16.2040。
MATLAB第三章和第四章作业
习题三1.选择题(1)已知a=4,b='4',下面说法错误的为C 。
A. 变量a比b占用的存储空间大B. 变量a和b可以进行加、减、乘、除运算C. 变量a和b的数据类型相同D. 变量b可以用eval命令执行(2)已知s='显示"hello"',则s的元素个数是B 。
A. 12B. 9C. 7D. 18(3)运行命令>>a=sym('pi','d')则对于变量a的描述D是正确的。
A. a是符号变量B. a显示为10位的数值C. a显示为32位的数值D. a不存在(4)对于符号表达式g=sym('sin(a*z)+cos(w*v)'),如果运行命令diff(g),则求导自变量是D。
A. aB. zC. wD. v(5)运行命令>>a=double(sym('sin(pi/2)')),则变量a是 C。
A. 符号变量B. 字符串'1'C. double型的数值1D. 出错(6)运行命令>>y=dsolve('x*D2y-3*Dy=x^2','t')求解微分方程,则D。
A. Dy是指dy/dxB. 得出的y是通解有一个常数符C1C. D2y是指d2y/dxD. 得出的y是通解有两个常数符C1和C2(7)有一个2行2列的元胞数组c,则c(2)是指C 。
A. 第1行第2列的元素内容B. 第2行第1列的元素内容C. 第1行第2列的元素D. 第2行第1列的元素(8)对于一个2行2列的元胞数组c,如果要删除第二列的元素,应该使用的命令是B 。
A.c{:,2}=[]B.c(:,2)=[]C.A、B两种方式均可D.A、B两种方式均不可(9)有一个3行10列的构架数组student,每个构架有name(姓名)、scores两个字段,其中scores是以1×5数组表示的五门课的成绩,那么要查看第4个学生的第2门课成绩,采用的命令中达不到要求的是。
MATLAB作业3参考答案
MA TLAB 作业三参考答案1、 请将下面给出的矩阵A 和B 输入到MA TLAB 环境中,并将它们转换成符号矩阵。
若某一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。
576516535501232310014325462564206441211346,39636623515212107600774101201724407734737812486721711076815A B ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦【求解】矩阵的输入与转换是很直接的。
>> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A) A =[ 5, 7, 6, 5, 1, 6, 5] [ 2, 3, 1, 0, 0, 1, 4] [ 6, 4, 2, 0, 6, 4, 4] [ 3, 9, 6, 3, 6, 6, 2] [ 10, 7, 6, 0, 0, 7, 7] [ 7, 2, 4, 4, 0, 7, 7] [ 4, 8, 6, 7, 2, 1, 7]>> B=[3,5,5,0,1,2,3; 3,2,5,4,6,2,5; 1,2,1,1,3,4,6; 3,5,1,5,2,1,2; 4,1,0,1,2,0,1; -3,-4,-7,3,7,8,12; 1,-10,7,-6,8,1,5]; B=sym(B) B =[ 3, 5, 5, 0, 1, 2, 3] [ 3, 2, 5, 4, 6, 2, 5] [ 1, 2, 1, 1, 3, 4, 6] [ 3, 5, 1, 5, 2, 1, 2] [ 4, 1, 0, 1, 2, 0, 1][ -3, -4, -7, 3, 7, 8, 12] [ 1, -10, 7, -6, 8, 1, 5]2、 利用MA TLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是否为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。
matlab作业练习及答案(有程序和截图)
1. 给出如下方程组:16323313915111081697612534141543s u p w s u p w s u p w s u p w +++=+++=+++=+++=求s ,u ,p ,w 的值,并求出系数行列式。
[答案:s =-0.1258,u =-8.7133,p =11.2875,w =-0.0500。
行列式=7680。
]>> A=[16 32 33 13;5 11 10 8;9 7 6 12;34 14 15 1];>> B=[91 16 5 43]';>> C=A\B2. 求矩阵H1()H X X X X -''=其中1731565419289121110X ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦〔答案:H =〔0.7294,0.9041,0.4477,0.9188〕'〕>> X=[17 31 5;6 5 4;19 28 9;12 11 10]; >> H=X/(X'*X)*X'>> X=[17 31 5;6 5 4;19 28 9;12 11 10]; >> H=X*inv((X'*X))*X'3.用MA TLAB语言实现下面的分段函数,()/,||,h x Dy f x h Dx x Dh x D>⎧⎪==≤⎨⎪-<-⎩。
y=h*(x>D)+h/D*x.x>=-D&x<=D)-h*(x<-D)4.636263 0S=2124822 ii==++++++∑①试不采用循环的形式,用数值方法求出上式的解。
②由于数值方法采用double形式进行计算,难以保证有效数字,试采用符号运算的方法求该式的精确解。
并给出保留16位有效数字的结果。
>> sum(2.^[1:63])>> sum(sym(2).^[1:63])5.编写一个矩阵相加函数mat_add(),使其具体的调用格式为,要求该函数能接受任意多个矩阵进行加法运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 作业三参考答案1、 请将下面给出的矩阵A 和B 输入到MA TLAB 环境中,并将它们转换成符号矩阵。
若某一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。
576516535501232310014325462564206441211346,39636623515212107600774101201724407734737812486721711076815A B ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦【求解】矩阵的输入与转换是很直接的。
>> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A) A =[ 5, 7, 6, 5, 1, 6, 5] [ 2, 3, 1, 0, 0, 1, 4] [ 6, 4, 2, 0, 6, 4, 4] [ 3, 9, 6, 3, 6, 6, 2] [ 10, 7, 6, 0, 0, 7, 7] [ 7, 2, 4, 4, 0, 7, 7] [ 4, 8, 6, 7, 2, 1, 7]>> B=[3,5,5,0,1,2,3; 3,2,5,4,6,2,5; 1,2,1,1,3,4,6; 3,5,1,5,2,1,2; 4,1,0,1,2,0,1; -3,-4,-7,3,7,8,12; 1,-10,7,-6,8,1,5]; B=sym(B) B =[ 3, 5, 5, 0, 1, 2, 3] [ 3, 2, 5, 4, 6, 2, 5] [ 1, 2, 1, 1, 3, 4, 6] [ 3, 5, 1, 5, 2, 1, 2] [ 4, 1, 0, 1, 2, 0, 1] [ -3, -4, -7, 3, 7, 8, 12] [ 1, -10, 7, -6, 8, 1, 5]2、 利用MA TLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是否为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。
【求解】以A 矩阵为例,可以对其进行如下分析。
>> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A); rank(A) ans =7 >> det(A) ans =-35432>> trace(A)ans =27>> B=inv(A);>> A*Bans =[ 1, 0, 0, 0, 0, 0, 0][ 0, 1, 0, 0, 0, 0, 0][ 0, 0, 1, 0, 0, 0, 0][ 0, 0, 0, 1, 0, 0, 0][ 0, 0, 0, 0, 1, 0, 0][ 0, 0, 0, 0, 0, 1, 0][ 0, 0, 0, 0, 0, 0, 1]3、试求出习题1中给出的A和B矩阵的特征多项式、特征值与特征向量,并对它们进行LU 分解。
【求解】仍以A 矩阵为例。
>> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2;10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A);eig(A)ans =5.009396680079366526215873006955228.679593193974410579078264020229.27480714110743938760483528351799e-1+1.1755376247101009492093136044131*i-1.6336795424500642956747726147329+6.9740721596526560301948635104611*i-3.4765922173751363914655588544224-1.6336795424500642956747726147329-6.9740721596526560301948635104611*i.27480714110743938760483528351799e-1-1.1755376247101009492093136044131*i>> p=poly(A)p =x^7-27*x^6-18*x^5-1000*x^4+3018*x^3+24129*x^2+2731*x+35432>> p=sym2poly(p)p =1 -27 -18 -1000 3018 24129 2731 35432>> [L U]=lu(A)L =0.5000 0.5072 0.5556 0.1099 0.5000 0.5376 1.00000.2000 0.2319 -0.7500 0.6429 0.5702 1.0000 00.6000 -0.0290 -0.9444 1.0000 0 0 00.3000 1.0000 0 0 0 0 01.0000 0 0 0 0 0 00.7000 -0.4203 1.0000 0 0 0 00.4000 0.7536 0.2778 0.6484 1.0000 0 0U =10.0000 7.0000 6.0000 0 0 7.0000 7.00000 6.9000 4.2000 3.0000 6.0000 3.9000 -0.10000 0 1.5652 5.2609 2.5217 3.7391 2.0580 0 0 0 5.0556 8.5556 3.4444 1.7407 0 0 0 0 -8.7692 -8.0110 2.5751 0 0 0 0 0 3.8534 1.5794 0 0 0 0 0 0 -1.92044、试求下面齐次方程的基础解系。
123451234123451234512345647302786045680343692149026122727170x x x x x x x x x x x x x x x x x x x x x x x x ++--=⎧⎪---+=⎪⎪-++-+=⎨⎪-++-+=⎪---++=⎪⎩ 【求解】可以将方程写成矩阵形式,得出的两列向量为方程的基础解系。
>> A=[6,1,4,-7,-3; -2,-7,-8,6,0; -4,5,1,-6,8; -34,36,9,-21,49; -26,-12,-27,27,17]; A=sym(A); rank(A) ans =3>> null(A) ans =[ 191/34, 95/17] [ 0, 1] [ 1, 0] [ 109/34, 103/34] [ 173/34, 151/34]5、试求下面线性代数方程的解析解与数值解,并检验解的正确性。
2932114010110503848246303356684953X -----⎡⎤⎡⎤⎢⎥⎢⎥----⎢⎥⎢⎥=⎢⎥⎢⎥---⎢⎥⎢⎥------⎣⎦⎣⎦【求解】求出A , [A;B ] 两个矩阵的秩,可见二者相同,所以方程不是矛盾方程,应该有无穷多解。
>> A=[2,-9,3,-2,-1; 10,-1,10,5,0; 8,-2,-4,-6,3; -5,-6,-6,-8,-4]; B=[-1,-4,0; -3,-8,-4; 0,3,3; 9,-5,3]; [rank(A), rank([A B])] ans =4 4用下面的语句可以求出方程的解析解,并可以验证该解没有误差。
>> x0=null(sym(A));x_analytical=sym(A)\B; syms a; x=a*[x0 x0 x0]+x_analytical x =[ a+967/1535, a-943/1535, a-159/1535][ -1535/1524*a, -1535/1524*a, -1535/1524*a][ -3659/1524*a-1807/1535,-3659/1524*a-257/1535,-3659/1524*a-141/1535] [ 1321/508*a+759/1535, 1321/508*a-56/1535, 1321/508*a-628/1535] [ -170/127*a-694/307, -170/127*a+719/307, -170/127*a+103/307] >> A*x-B ans =[ 0, 0, 0] [ 0, 0, 0] [ 0, 0, 0] [ 0, 0, 0]用数值解方法也可以求出方程的解,但会存在误差,且与任意常数a 的值有关。
>> x0=null(A); x_numerical=A\B; syms a; x=a*[x0 x0 x0]+x_numerical; vpa(x,10) ans =[ .2474402553*a+.1396556436, .2474402553*a-.6840666849, .2474402553*a-.1418420333][-.2492262414*a+.4938507789,-.2492262414*a+.7023776988e-1,-.2492262414*a+.3853511888e-1][ -.5940839201*a, -.5940839201*a, -.5940839201*a][ .6434420813*a-.7805411315, .6434420813*a-.2178190763,.6434420813*a-.5086089095][-.3312192394*a-1.604263460, -.3312192394*a+2.435364854, -.3312192394*a+.3867176824] >> A*x-B ans =[ 1/18014398509481984*a, 1/18014398509481984*a, 1/18014398509481984*a] [ -5/4503599627370496*a, -5/4503599627370496*a, -5/4503599627370496*a][ -25/18014398509481984*a, -25/18014398509481984*a, -25/18014398509481984*a] [ 13/18014398509481984*a, 13/18014398509481984*a, 13/18014398509481984*a]6、试判定下面的线性代数方程是否有解。