版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作业一4、写出完成下列操作的命令。(1)将矩阵A第25行中第1,3,5列元素赋给矩阵B。>> M=0:1:48;>> A=reshape(M,7,7)A = 0 7 14 21 28 35 42 1 8 15 22 29 36 43 2 9 16 23 30 37 44 3 10 17 24 31 38 45 4 11 18 25 32 39 46 5 12 19 26 33 40 47 6 13 20 27 34 41 48>> B=A(2:5,1:2:5)B = 1 15 29 2 16 30 3 17 31 4 18 32(2)删除矩阵A的第七行元素。
2、>> A(7,:)=A = 0 7 14 21 28 35 42 1 8 15 22 29 36 43 2 9 16 23 30 37 44 3 10 17 24 31 38 45 4 11 18 25 32 39 46 5 12 19 26 33 40 47(3)将矩阵A的每个元素值加30。>> A=A+30A = 30 37 44 51 58 65 72 31 38 45 52 59 66 73 32 39 46 53 60 67 74 33 40 47 54 61 68 75 34 41 48 55 62 69 7635 42 49 56 63 70 77(4求矩
3、阵A的大小和维素。sizeA = size(A) dA = ndims(A)sizeA = 6 7dA = 2(5)将向量t的0元素用机器零来代替。>> t=1 2 3 4 0 5;t = 1 2 3 4 0 5>> find(t=0)ans = 5>> t(5)=epst =1.0000 2.0000 3.0000 4.0000 0.0000 5.0000(6)将含有12个元素的向量x转换成3*4矩阵。>> x=0:11x = 0 1 2 3 4 5 6 7 8 9 10 11>> y=reshape(x,3,4)y = 0 3 6
4、 9 1 4 7 10 2 5 8 11(7)求一个字符串的ASCII。>> abs('a')ans =97(8)求一个ASCII所对应的字符。>> char(99)ans =c5、已知A97 67 34 10-78 75 65 532 5 -23 -590 = -12 54 7写出完成下列操作的命令。(1) 取出A的前3列构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E。>> B=A(1:3,:)B = 97 67 34 10 -78 75 65 5 32 5 -23 -59>> C=A(:,1
5、:2)C = 97 67 -78 75 32 5 0 -12>> D=A(2:4,3:4)D = 65 5 -23 -5954 7>> E=B*CE = 5271 11574 -11336 664 1978 3112(2) 输出【50,100】范围的全部元素。>> find(A>=50 & A<=100)ans = 1 5 6 1012>> output = A(1) A(5) A(6) A(10) A(12)output = 97 67 75 65 54二、实验题>> x = -74*pi/180;y=-27*p
6、i/180; sin(x*x+y*y)/(sqrt(tan(abs(x+y)+pi)ans = 0.1987 - 0.1434i>> a = -3.0:0.1:3.0, exp(-0.3.*a).*sin(a+0.3) >> x=2 4;-0.45 5; 0.5*log(x+sqrt(1+x.*x)ans = 0.7218 1.0474 -0.2180 1.1562>> A = 3 54 2;34 -45 7;87 90 15, B = 1 -2 67;2 8 74;9 3 0>> A*B A.*Bans = 129 432 4197 7 -40
7、7 -1052 402 591 12489ans = 3 -108 134 68 -360 518 783 270 0>> A3 A.3>> A/B BA>> A,B A(1,3,:);B2>> a=1+2i,b=3+4i,c=exp(pi/6*i) c+a*b/(a+b)作业二1、 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;然后将第1位数和第3位数交换,第2位数和第4位数交换。M 文件名为:Untitled1.m程序:x=input('输入一个四位整数:');y=
8、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)结果:输入一个四位整数:1234y =1 2 3 4z =8 9 0 1x =1892、 硅谷公司员工的工资计算方法如下。(1) 工作时数超过120h者,超过部分加发15%。(2) 工作时数低于60h者,扣发700元。(3) 其余按每小时84元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。程序:gonghao=input('输入工号');hour=input(
9、'输入工时');every=84;if hour>120gongzi=every*120+1.15* every *(hour-120);elseif hour<60gongzi=every*hour-700;elsegongzi=devery*hour;endformat bank;display(gonghao,gongzi)(1)结果:输入工号12输入工时130ans =12.00 11046.00(2)结果:输入工号12输入工时56ans = 12.00 4004.00(3)结果:输入工号12输入工时80ans =12.00 6720.003、 根据,求的近
10、似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sun函数)来实现。(1)程序:(循环结构):n=input('input n:');s=0;for i=1:ns=s+1/i2;pai= sqrt(s*6);enddisplay(pai)input n:100pai = 3.1321(2)程序:(向量结构):n=input('input n:');i=1:n;pai= sqrt(sum(1./i.2)*6);display(pai);结果:input n:100pai = 3.13214、 根据,求:(1) y3时
11、的最大n值;(2) 与(1)的n值对应的y值。y=0;k=0;while y<3 k=k+1; y=y+1/(2*k-1);enddisplay(k-1,y-1/(2*k-1)结果:ans = 56.00 2.995、 考虑一下迭代公式:其中,a、b为正的常数。(1) 编写程序求迭代的结果,迭代的终止条件为|,迭代初值,迭代次数不超过500次。程序:x0=1.0;a=input('a=');b=input('b=');x= a/(b+x0); m=1;while abs(x-x0)>1e-5 & m<500x0=x;x=a/(b+x0)
12、;m=m+1;enddisplay(m,x);display(-b+sqrt(b2+4*a)/2,(-b-sqrt(b2+4*a)/2); 结果:a=5b=5ans = 7.0000 0.8541ans = 0.8541 -5.8541(2) 如果迭代过程收敛于r,那么r的准确值是,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。a=1b=1ans = 13.0000 0.6180ans = 0.6180 -1.6180a=8b=3ans = 13.0000 1.7016ans = 1.7016 -4.7016a=10b=0.1ans = 424.
13、0000 3.1127ans =3.1127 -3.21276、已知(1) 当时,y的值是多少?程序:该题使用了function的调用。函数文件f.mfunction b=f(n);b=n+10*log(n2+5);结果:y=f(40)/(f(30)+f(20)y = 0.6390(2) 当时,y的值是多少?程序:函数文件fun.mfunction f=fun(n)f=sum(1:n.*(1:n+1);结果:y=fun(40)/(fun(30)+fun(20)y =1.7662作业三1、 绘制下列曲线。(1) (2)(3) (4)解:(1)程序:x=-5:0.001:5; y=x-x.3/(3
14、*2*1); plot(x,y);(2)程序:x=-10:0.01:10; y= exp(-x.*x/2)/(2*pi);>> plot(x,y);(3) 程序:f='x.2+2*y.2-64'ezplot(f,-10,10,-10,10);ezplot('x.2+2*y.2-64',-10,10,-10,10);(4)程序:t=0:0.1:8*pi;>> x=t.*sin(t);>> y=t.*cos(t);>> plot(x,y);已知,完成下列操作:(1) 在同一坐标系下用不同的颜色和线型绘制两条曲线,给曲线
15、添加文字说明;解:程序: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,'k:',x,y,'bp');>> text(0.5,1,'y=2x-0.5');>> text(-0.5,0.5,'x=sin(3t)cos(t)');>> text(-0.5,
16、0.4,'x=sin(3t)sin(t)');(2) 以子图形式,分别用条形图和散点图绘制两条曲线,并为各子图添加函数标题。程序:subplot(1,2,1);bar(x1,'group');title('y1=2x-0.5');subplot(1,2,2);barh(t,'stack');title('stack');subplot(1,2,1);>> scatter(x1,y1,10);>> title('y=2x-0.5');>> subplot(1,2,2
17、);>> scatter(x,y,10);>> title('x=sin(3t)cos(t),y=sin(3t)cos(t)');2、 分别用plot和fplot函数绘制函数的曲线,分别分析两条曲线的差别。解:程序:subplot(1,2,1);x=1:1:100;y=sin(1./x);plot(x,y);subplot(1,2,2);>> fplot('sin(1/x)',1,100);3、 设,在同一图形窗口采用子图的形式绘制条形图、阶梯图、杆图和对数坐标图。解:程序:t=-pi:0.01:pi;>> y=1
18、./(1+exp(-t);>> bar(t,y);>> subplot(2,2,2);>> stairs(t,y);>> subplot(2,2,3);>> stem(t,y);>> subplot(2,2,4);>> semilogy(t,y);结果:4、 绘制下列极坐标图。(1) (2),解:(1)程序:theta=linspace(-pi,pi,100);ro=5.*cos(theta)+4;polar(theta,ro);(2)程序:fi=linspace(0,2*pi,100);a=1r=a.*(1+
19、cos(fi);polar(fi,r);6、绘制下列三维图线。(1) (2)解:(1)程序:t=0:pi/20:2*pi;x=exp(-t./20).*cos(t);y=exp(-t./20).*sin(t);z=t;plot3(x,y,z);结果:(3) 程序: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
20、、已知,绘制其曲面图,并将部分镂空。解:程序: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,0.1,100);v=linspace(-pi,pi,1000);u,v=meshgrid(u,v);x=3.*u.*sin(v);y=2.*u.*cos(v);z=4
21、*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,1,1);10、设计一个蓝色球体沿正弦曲线运动的动画。解:程序:t=0:pi/250:10*pi;y=sin(t);plot(t,y,'m');h=line('color',0,0,1,'marker','.','markersize',50);for i=1:length(t); set(h,'xdata',t
22、(i),'ydata',y(i); M(i)=getframe;endmovie(M); 第四次作业P103 思考题5、写出完成下列操作的命令。(1)建立3阶单位矩阵A。A=eye(3)A = 1 0 0 0 1 0 0 0 1(2)建立5*6随机矩阵A,其元素为100,200范围内的随机整数。a=100; b=200; A=fix(a+(b-a)*rand(5,6)A = 195 176 161 140 105 120 123 145 179 193 135 119 160 101 192 191 181 160 148 182 173 141 100 127 189 144
23、 117 189 113 119(3)产生均值为1、方差为0.2的500个正态分布的随机数。y=1+sqrt(0.2)*randn(25,20)(4)产生和A同样大小的幺矩阵。B=ones(size(A)(5)将矩阵A的对角线的元素加30。A=1,2,3,4,5,6;5,6,2,1,3,5;7,8,9,4,5,6A = 1 2 3 4 5 6 5 6 2 1 3 5 7 8 9 4 5 6>> A=A+30*eye(size(A)A = 31 2 3 4 5 6 5 36 2 1 3 5 7 8 39 4 5 6(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B。C=diag
24、(diag(A)C = 31 0 0 0 36 0 0 0 39实验题:4、分别用矩阵求逆、左除运算符、矩阵分解等方法求下列对角方程组,并分析程序的执行时间。其中A = 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2>> b=1;0;0;0;0b = 1 0 0 0 0解:程序:%矩阵求逆ticx1=inv(A)*b toc%左除运算ticx2=Ab toc%矩阵分解%Q、R分解ticQ,R=qr(A);x4=R(Qb);toc%L、U分解ticL,U=lu(A);x3=U(Lb)toc%Cholesky分解tic
25、R=chol(A);x5=R(R'b)toc结果:P121 第五章实验题1、 利用,MATLAB提供的rand函数生成30000个符合均匀的随机数,然后检验随机数的性质。(1) 均值和标准方差。解:A=rand(1,30000);>> mean(A)std(A)(2) 最大元素和最小元素。max(A)min(A)(3) 大于0.5的随机数个数占总数的百分比。size(find(A>0.5)/size(A)ans =0.4992、在某处测的海洋不同深部处水温度数据如表。用插值法求出水深500m,900m和1500m处的水温()。水深(m)4667159504221635
26、水温()7.044.283.402.522.13解:程序:m=466,715,950,1422,1635;w=7.04,4.28,3.40,2.52,2.13;h=500,900,1500;wi=interp1(没,w,h,'spline')3、用5次多项式p(x)在区间【1,10】区间内逼近函数lgx,并绘制出lgx和p(x)在【1,101】区间的函数曲线。解:x=1:0.1:101;y=log(x);f=polyfit(x,y,5);yi=polyval(f,x);plot(x,y,'bp',x,yi,'k-p')4、已知,取N=64,对t从
27、05s采样,用fft作快速傅立叶变换,并绘制相应的振幅-频率图。解:N=64;T=5;t=linspace(0,T,N);x=exp(-t);dt=t(2)-t(1);f=1/dt;X=fft(x);F=X(1:N/2+1);f=f*(0:N/2)/N;plot(f,abs(F),'r-+')xlabel('Frequency')ylabel('|F(k)|')5、有3个多项式,试进行下列操作。(1)求。解、程序:p1=1,2,0,7;p2=0,0,1,-2;p3=1,0,5,1;p12=conv(p1,p2);p=p12+zeros(1,siz
28、e(p12,2)-size(p3,2),p3结果:p = 0 0 1 1 -4 12 -13(2)求p(x)的根。程序:roots(p)结果:ans = -3.4656 0.6128 + 1.6278i 0.6128 - 1.6278i 1.240(3)设A矩阵,当以矩阵A的每一元素为自变量时,求的值,当以矩阵A为自变量时,求的根。程序:A=-1,4,3;2,1,5;0,5,6;px=polyval(p,A)pxm=polyvalm(p,A)结果:px = -29 291 95 19 -3 697 -13 697 1427pxm = 391 2084 3273 502 2693 4207 72
29、0 3775 58926、求非线性方程的数值解。(1)、求在附近的根。解:程序:z=fzero('3*x-sin(x)+1',0)(2)、,初值。建立fun.m函数文件:function F=fun(X)x=X(1);y=X(2);F(1)=x*x+y*y-9;F(2)=x+y-1;在命令窗口输入:x=fsolve(fun,3,0',optimset('Display','off')第7章符号与计算课后实验题1、已知A=求矩阵的秩、逆矩阵和行列式的值。(这里的A是符号矩阵)解:程序及结果:A=sym('1,2,3;x,y,z;3,
30、2,1');>> rank(A) %矩阵秩的值ans = 3>> inv(A) %逆矩阵的值 ans = 1/4*(y-2*z)/(-2*y+z+x), 1/(-2*y+z+x), -1/4*(-2*z+3*y)/(-2*y+z+x) -1/4*(x-3*z)/(-2*y+z+x), -2/(-2*y+z+x), 1/4*(-z+3*x)/(-2*y+z+x) 1/4*(2*x-3*y)/(-2*y+z+x), 1/(-2*y+z+x), -1/4*(-y+2*x)/(-2*y+z+x)>> det(A) %矩阵的行列值ans = -8*y+4*z+
31、4*x2、求函数的符号导数。(1)求。解:程序及结果:syms x;>> y=sqrt(x+sqrt(x+sqrt(x);>> diff(y) %一阶导数 ans =1/2/(x+(x+x(1/2)(1/2)(1/2)*(1+1/2/(x+x(1/2)(1/2)*(1+1/2/x(1/2)>> diff(y,x,2) %二阶导数ans =-1/4/(x+(x+x(1/2)(1/2)(3/2)*(1+1/2/(x+x(1/2)(1/2)*(1+1/2/x(1/2)2+1/2/(x+(x+x(1/2)(1/2)(1/2)*(-1/4/(x+x(1/2)(3/2)
32、*(1+1/2/x(1/2)2-1/8/(x+x(1/2)(1/2)/x(3/2)(2)已知,求。解:程序:syms x y;>> fxy=sin(x2*y)*exp(-x2-y);>> c=diff(diff(fxy,x),y) 结果:c = -2*sin(x2*y)*x3*y*exp(-x2-y)+2*cos(x2*y)*x*exp(-x2-y)-2*cos(x2*y)*x*y*exp(-x2-y)-2*cos(x2*y)*x3*exp(-x2-y)+2*sin(x2*y)*x*exp(-x2-y)3、求积分。(1) (2)(1)解:程序:f=sym('1/
33、(x4+1)');>> s1=int(f) (2)解:程序:syms x t;>> f=sym('(-2*x2+1)/(2*x2-3*x+1)2');>> int(f,cos(t),exp(2*t)结果:ans = -(-2*exp(2*t)*cos(t)2-exp(2*t)+cos(t)+2*exp(2*t)2*cos(t)/(2*exp(2*t)-1)/(exp(2*t)-1)/(2*cos(t)-1)/(cos(t)-1)4、求级数的和函数,并求之和。解:程序:syms x n;>> s1=symsum(2/(2*n
34、+1)*(2*x+1)(2*n+1),n,0,inf)结果:s1 = 1/(2*x+1)*(4*x2+4*x+1)(1/2)*log(1+1/(4*x2+4*x+1)(1/2)/(1-1/(4*x2+4*x+1)(1/2)s2=symsum(2/(2*n+1)*(2*x+1)(2*n+1),n,1,5) s2 = 2/3/(2*x+1)3+2/5/(2*x+1)5+2/7/(2*x+1)7+2/9/(2*x+1)9+2/11/(2*x+1)11 >> s=s1+s2 s = 1/(2*x+1)*(4*x2+4*x+1)(1/2)*log(1+1/(4*x2+4*x+1)(1/2)/
35、(1-1/(4*x2+4*x+1)(1/2)+2/3/(2*x+1)3+2/5/(2*x+1)5+2/7/(2*x+1)7+2/9/(2*x+1)9+2/11/(2*x+1)115、求函数在的泰勒展开式。(1) (2)(1)解:程序:sym ('x');>> y=(exp(x)+exp(-x)/2;>> taylor(y,x,5,0)结果:ans = 1+1/2*x2+1/24*x4(2)解:程序:>> syms a x>> s=taylor(exp(-5*x)*sin(3*x+pi/3),5,a)结果:s = exp(-5*a)
36、*sin(3*a+1/3*pi)+(3*exp(-5*a)*cos(3*a+1/3*pi)-5*exp(-5*a)*sin(3*a+1/3*pi)*(x-a)+(8*exp(-5*a)*sin(3*a+1/3*pi)-15*exp(-5*a)*cos(3*a+1/3*pi)*(x-a)2+(33*exp(-5*a)*cos(3*a+1/3*pi)+5/3*exp(-5*a)*sin(3*a+1/3*pi)*(x-a)3+(-161/6*exp(-5*a)*sin(3*a+1/3*pi)-40*exp(-5*a)*cos(3*a+1/3*pi)*(x-a)46、求非线性方程的符号解。(1) (2
37、)(1)解:程序:s=solve(sym('x3+a*x+1=0')(2)解:程序:三种方法:x y=solve(sym('sqrt(x2+y2)-100=0'),sym('3*x+5*y-8=0')结果:x = 12/17-10/17*21246(1/2) 12/17+10/17*21246(1/2) y = 20/17+6/17*21246(1/2) 20/17-6/17*21246(1/2) >> %或者下面的方式也可以>> s1=sym('sqrt(x2+y2)-100=0');>> s
38、2=sym('3*x+5*y-8=0');>> x y=solve(s1,s2)结果:x = 12/17-10/17*21246(1/2) 12/17+10/17*21246(1/2) y = 20/17+6/17*21246(1/2) 20/17-6/17*21246(1/2) >> %也可以下面的这种方法>> x y=solve('sqrt(x2+y2)-100=0,3*x+5*y-8=0','x','y')结果:x = 12/17-10/17*21246(1/2) 12/17+10/17*
39、21246(1/2) y = 20/17+6/17*21246(1/2) 20/17-6/17*21246(1/2)7、求微分方程初值问题的符号解,并与数值解进行比较。解:程序:(1)符号解:y1,y11=dsolve('Dy=y1,Dy1+y=1-t2/pi','y(-2)=5,y1(-2)=5','t')y=dsolve('D2y+y=1-t2/pi','Dy(-2)=5,y (-2)=5','t')(2)数值解:建立fun.m函数文件:function yy=ztfun(t,y)yy=y(2);1-t2/pi-y(1);在命令窗口输入:t,y=ode45(ztfun,-2,7,-5;5);t=linspace(-2,7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院老干部工作制度
- 医院驾驶员工作制度
- 单位引进新工作制度
- 卫生所消毒工作制度
- 卫生院建教工作制度
- 卫计局听证工作制度
- 厨师标准及工作制度
- 双差生转化工作制度
- 取精实验室工作制度
- 口腔外科门诊工作制度
- 一消挂靠协议书
- 工地油价上涨补贴申请书
- 2025年10月自考00699材料加工和成型工艺试题及答案
- 肝硬化临床诊治管理指南(2025版)更新要点解读
- 2026高考物理模型讲义:滑块木板模型(解析版)
- 2025年10月自考13000英语专升本试题及答案
- GB/T 36935-2025鞋类鞋号对照表
- 质押物委托处理协议书
- 一年级上册语文看图写话每日一练习题
- 高处坠落事故安全培训课件
- 《涉外法治概论》课件 杜涛 第7-10章 对外贸易与经济制裁法律制度-涉外应急管理法律制度
评论
0/150
提交评论