版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上机练习题一班级: 姓名: 学号: 1.建立起始值=3,增量值=5.5,终止值=44的一维数组x 答案: x=(3:5.5:44)2.写出计算 Sin(30o)的程序语句. 答案: sin(pi*30/180) 或 sin(pi/6) 3.矩阵,矩阵;分别求出及A与B中对应元素之间的乘积. 答案:A = 3,2,3; 4,2,6; 7,8,1 B = 1,1,1; 2,2,2; 3,3,3 A*B;A.*B4计算行列式的值。答案:det(A)5对矩阵 进行下述操作。(1)求秩。答案:rank(A)(2)求转置。答案:A'(3) 对矩阵求逆,求伪逆。答案:inv(A) ,pinv(A)(
2、4) 左右反转,上下反转。答案:fliplr(A),flipud(A)(5) 求矩阵的特征值. 答案:u,v=eig(A)(6) 取出上三角和下三角. 答案:triu(a) tril(a)(7)以A为分块作一个3行2列的分块矩阵。答案:repmat(a)6 计算矩阵与之和。>> a=5 3 5;3 7 4;7 9 8;>> b=2 4 2;6 7 9;8 3 6;>> a+b7 计算与的数组乘积。>> a=6 9 3;2 7 5;>> b=2 4 1;4 6 8;>> a.*bans = 12 36 3 8 42 408
3、已知:,分别计算a的数组平方和矩阵平方,并观察其结果。>> a=1 2 3;4 5 6;7 8 9;>> a.2ans = 1 4 9 16 25 36 49 64 81>> a2ans = 30 36 42 66 81 96 102 126 150上机练习题二班级: 姓名: 学号: 1 对于,如果,求解X。>> A=4 9 2;7 6 4;3 5 7;>> B=37 26 28;>> X=ABX = -0.5118 4.0427 1.33182 角度,求x的正弦、余弦、正切和余切。>> x=30 45 60;
4、>> x1=x/180*pi;>> sin(x1)ans = 0.5000 0.7071 0.8660>> cos(x1)ans = 0.8660 0.7071 0.5000>> tan(x1)ans = 0.5774 1.0000 1.7321>> cot(x1)ans = 1.7321 1.0000 0.57743 将矩阵、和组合成两个新矩阵:(1)组合成一个4´3的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即 (2)按照a、b、c的列顺序组合成一个行矢量
5、,即 答案:a=4 2;5 7; b=7 1;8 3; c=5 9;6 2;% (1) >> d=a(:) b(:) c(:) d = 4 7 5 5 8 6 2 1 9 7 3 2% (2) >> e=a(:);b(:);c(:)' e = 4 5 2 7 7 8 1 3 5 6 9 2 或利用(1)中产生的d >> e=reshape(d,1,12) ans = 4 5 2 7 7 8 1 3 5 6 9 24求解在x=8时多项式(x-1)(x-2) (x-3)(x-4)的值。 >> p=poly(1 2 3 4); >>
6、 polyvalm(p,8) ans = 8405求方程的全部根。p=3,7,9,0,-23; %建立多项式系数向量x=roots(p) %求根上机练习题三班级: 姓名: 学号: 1、 设x是数组,求均值和方差解:函数文件如下: function xx,s=func1(x)n=length(x);xx=sum(x)/n;s=sqrt(sum(x.2)-n*xx2)/(n-1);命令窗口:>> x=1 2 3 4 5;xx,s=func1(x)2、求满足的最小m值s=0;n=0;while(s<=100) s=s+log(1+n); n=n+1;endn,s 3、用循环语句形成
7、Fibonacci数列。并验证极限 (提示:计算至两边误差小于精度1e-8为止)解: 求Fibonacci数列的函数文件:function f=fun(n) if n<=2 f=1; else f=fun(n-1)+fun(n-2);end验证极限的函数文件:function k,a=funTest(e)a=abs(1-(1+sqrt(5)/2);k=2;while(a>e) k=k+1; a=abs(fun(k)/fun(k-1)-(1+sqrt(5)/2);end命令行:>> k,a=funTest(10-8)k = 21a = 9.7719e-009或者M文件如下
8、: clear; F(1)=1;F(2)=1;k=2;x=0; e=1e-8; a=(1+sqrt(5)/2; while abs(x-a)>e k=k+1; F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1); end a,x,k4、分别用for和while循环结构编写程序,求出,并考虑一种避免循环语句的程序设计,比较各种算法的运行时间。解:for循环结构:M文件loop.mk=0;for i=1:106 k=k+sqrt(3)*2-i;endkwhile循环结构:M文件loop1.mk=0;i=1;while i<=106 k=k+sqrt(3)*2(-i);
9、i=i+1;endk非循环结构:M文件nonLoop.mi=1:106;x=sqrt(3)*(2.-i);k=sum(x)速度比较:>>tic;loop;toc 循环结构的执行时间k = 1.7321Elapsed time is 1.813000 seconds.>> tic;nonLoop;toc 非循环结构的执行时间k = 1.7321Elapsed time is 1.094000 seconds.上机练习题四班级: 姓名: 学号: 1、作图描述气温变化>> x=0:24;>> y=15,14,14,14,14,15,16,18,20,2
10、2,23,25,28,31,32,31,29,27,25,24,22,20,18,17,16;>> plot(x,y)2、作出下列函数图形(1) (分别使用plot和fplot完成)解:>> fplot('x2*sin(x2-x-2)',-2 2) fplot方法>> x=-2:0.1:2;y=x.2.*sin(x.2-x-2);plot(x,y) plot方法 如图(4.1)(2) (椭圆 提示:用参数方程)解:>> r=-pi:0.1:pi;x=2*cos(r);y=3*sin(r);plot(x,y) 如图(4.2)
11、0; 解法二 x=-2:1/100:2; y1=3*sqrt(1-x.2/4); y2=-3*sqrt(1-x.2/4); plot(x,y1,'r-',x,y2,'r-'); axis equal tight; 图(4.1) 图(4.2)(3) (抛物面) 解:(错误)>> x=-3:0.1:3;y=-3:0.1:3;z=x.2+y.2; plot3(x,y,z) 如图(4
12、.31)(正确)>> xa=-3:0.1:3;ya=-3:0.1:3;x,y=meshgrid(xa,ya); 如图(4.32)>> z=x.2+y.2;mesh(x,y,z);>> surf(x,y,z) 图(4.31)error 图(4.32)(4)曲面解: >> 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)>
13、;> surf(x,y,z) (5)空间曲线解:>> t=linspace(0,2,50);x=sin(t);y=cos(t);z=cos(2*t);>> plot3(x,y,z)(6)半球面解: >>a=linspace(0,2*pi,50);b=linspace(0,pi/2,50);>> a,b=meshgrid(a,b);>> x=2*sin(a).*cos(b);y=2*sin(a).*sin(b);z=2*cos(a);>> surf(x,y,z) (7)三条曲线合成图解: >>x=linsp
14、ace(0,pi,50);y1=sin(x);>> plot(x,y1);hold on;>> y2=sin(x).*sin(10*x);>> plot(x,y2);>> y3=-sin(x);>> plot(x,y3);>> hold off; 3、作下列分段函数图x=-5:0.1:5;for i=1:length(x) if x(i)>1.1 y(i)=1.1; elseif x(i)<-1.1 y(i)=-1.1; else y(i)=x(i); endendplot(x,y);grid on;4、用MA
15、TLAB函数表示下列函数,并作图。 解:建立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>
16、-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);
17、160; 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); k
18、3=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); 上机练习题五班级: 姓名: 学号: 1、运行demo解:>>demo2、查询trapz的功能、用法、目录、程序结构、相同目录下其它文件解: >> help trapz 功能用法>> type trapz程序结构,源码>> which trapz所在目录>> help C
19、:MATLAB6p5toolboxmatlabdatafun该目录下其它文件3在0,4pi画sin(x),cos(x)(在同一个图象中); 其中cos(x)图象用红色小圆圈画.并在函数图上标注 “y=sin(x)”, “y=cos(x)” ,x轴,y轴,标题为“正弦余弦函数图象”. x=linspace(0,4*pi,100);y=sin(x);plot(x,y);gtext('y = sin(x)'); % 图形注解,注意要用鼠标定位hold on;y=cos(x);plot(x,y,'ro');gtext ('y = cos(x)'); %
20、图形注解xlabel('x轴'); % x轴注解ylabel('y轴'); % y轴注解 title('正弦余弦函数图象'); % 图形标题4从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。sum=0;cnt=0;val=input('Enter a number (end in 0):');while (val=0) sum=sum+val; cnt=cnt+1; val=input('Enter a number (end in 0):');endif (cnt > 0) sum me
21、an=sum/cntend5若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求1,500之间的全部完数。for m=1:500s=0;for k=1:m/2if rem(m,k)=0s=s+k;endendif m=s disp(m);endend上机练习题六班级: 姓名: 学号: 1 假定数据点来源为:,试根据生成的数据进行插值处理,得出较平滑的曲线。x=0:.12:1;y=(x.2-3*x+5).*exp(-5*x).*sin(x);plot(x,y,x,y,'o')x1=0:.02:1;y0=(x1.2-3*x1+5).*exp(-5*x1
22、).*sin(x1);y1=interp1(x,y,x1);>> y2=interp1(x,y,x1,'cubic');>> y3=interp1(x,y,x1,'spline');>> y4=interp1(x,y,x1,'nearest');>> plot(x1,y1;y2;y3;y4,':',x,y,'o',x1,y0)或者plot(x1,y1',y2',y3',y4',':',x,y,'o',x1
23、,y0)2 用不同插值的方法计算sin(x)在pi/2的值clearclcx=0:0.2:pi;%产生包含被插值点的采样点(做成一个向量)y=sin(x);%求出各采样点对应的样本值y1=interp1(x,y,pi/2);%用默认的'linear'方法计算sin(pi/2)y2=interp1(x,y,pi/2,'nearest');%用默认的'linear'方法计算sin(pi/2)y3=interp1(x,y,pi/2,'cubic');%用三次多项式插值方法计算sin(pi/2)y4=interp1(x,y,pi/2,
24、39;spline');%用三次样条插值方法计算sin(pi/2)y5=spline(x,y,pi/2);%直接用'spline'方法计算sin(pi/2),功能与y4相同disp('各种方法的插值结果:')out='y1=', num2str(y1) 'y2=',num2str(y2); 'y3=',num2str(y3) out2='y4=',num2str(y4) 'y5=',num2str(y5)3求 的通解x,y=dsolve('Dx=4*x-2*y'
25、;,'Dy=2*x-y', 't')%P149(3)的求解x,y=dsolve('Dx=a*y','Dy=-b*x ', 'x(0)=x0', 'y(0)=y0', 't')y=dsolve('Dy=(b*x)/(a*y)', 'y(0)=y0','x');4 方法一:%微分方程的M函数funt.m文件function y=funt(t,y)y=(y2-t-2)/4/(t+1);%以下是求解的脚本m函数,可自由取名,然后在command
26、窗口调用该函数求解.ts=0,10;%自变量的求解区间y0=2;%初值条件t,y=ode23('funt',ts,y0);%用2,3阶龙格库塔方法求funt文件里的微分方程y1=sqrt(t+1)+1;%求精确解对应点上的函数值t,y,y1%以三列的形式显示结果,其中第一列为采样点t对应的值,第二列为t对应的数值解,第二列为t对应的精确解。方法二:%或者直接用内建函数编写待求的微分方程,在一个M脚本文件里执行求解。funt=inline('(y2-t-2)/4/(t+1)') %内建函数编写待求的微分方程ts=0,10;%自变量的求解区间y0=2;%初值条件t,
27、y=ode23(funt,ts,y0);%用2,3阶龙格库塔方法求funt文件里的微分方程y1=sqrt(t+1)+1;%求精确解对应点上的函数值t,y,y15第一种方法建立lorenz函数模型的状态方程function xp=lorenz(t,x)%建立lorenz函数模型的状态方程xp=-8/3,0,x(2);0,-10,10;-x(2),28,-1*x%表明x是一个三维向量,前面是一个线性方程组的系数矩阵,xp%是一个三维的输出表示x(1),x(2),x(3)的一阶导数向量。第二种方法建立lorenz函数模型的状态方程function xp=lorenz1(t,x)%建立lorenz函数
28、模型的状态方程xp=-8/3*x(1)+x(2)*x(3);-10*x(2)+10*x(3);-x(2)*x(1)+28*x(2)-x(3);%求解微分方程clear;clc;x0=0,0,eps'%三个初值条件构成的向量t,x=ode23('lorenz',0,100,x0);t,xplot(t,x),grid,pause%绘制解x(1),x(2),x(3)各自相对于变量t的图象,按任意键后继续下面的程序figure;plot3(x(:,1),x(:,2),x(:,3);%绘制解x(1),x(2),x(3)的关于系统的相平面图象axis(10,40,-20,20,-2
29、0,20);上机练习题七班级: 姓名: 学号: 1有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y。x11.522.533.544.55y-1.42.735.98.412.216.618.826.2 >> x=1 1.5 2 2.5 3 3.5 4 4.5 5' >> y=-1.4 2.7 3 5.9 8.4 12.2 16.6 18.8 26.2' >> e=ones(size(x) x.2 >> c=ey >> x1=1:0.1:5' >> y1=ones(size(x1
30、),x1.2*c; >> plot(x,y,'ro',x1,y1,'k')2求下列线性方程组的解(1)解:>> a=4 1 -1;3 2 -6;1 -5 3;b=9; -2; 1;x=ab 唯一解x = 2.3830 1.48942.0213(2)解:>> a=4 -3 3;3 2 -6;1 -5 3;b=-1;-2;1;x=ab 唯一解x = -0.4706 -0.2941 0(3)解:>> a=4 1;3 2;1 -5;b=1;1;1;x=ab 最小二乘近似解x = 0.3311 -0.1219(4),求通解解
31、:>> a=2 1 -1 1;1 2 1 -1; 1 1 2 1;b=1;2;3;>> rank(a),rank(a,b) ans = 3ans = 3 说明有无穷多解>> rref(a,b) 行最简化ans = 1.0000 0 0 1.5000 1.0000 0 1.0000 0 -1.5000 0 0 0 1.0000 0.5000 1.0000通解为:,3、求下列矩阵的行列式、逆、特征值和特征向量(1)解:>> a=4 1 -1;3 2 -6;1 -5 3;det(a),inv(a),v,d=eig(a)ans = -94 行列式 ans
32、 = 0.2553 -0.0213 0.0426 0.1596 -0.1383 -0.2234 矩阵的逆 0.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 0 0 3.6760 0 特征值 0 0 8.3766(2)解:>> a=4 3 1;3 3 -5;1 -5 3;det(a),inv(a),v,d=eig(a)ans = -124 行列式ans = 0.1290 0.1129 0.1452 0.112
33、9 -0.0887 -0.1855 矩阵的逆 0.1452 -0.1855 -0.0242v = 0.3757 -0.8583 0.3496 -0.6881 -0.0056 0.7255 特征向量 -0.6208 -0.5131 -0.5927d = -3.1480 0 0 0 4.6176 0 特征值 0 0 8.5304(3) 解:>> a=5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10;det(a),inv(a),v,d=eig(a)ans = 1 行列式ans = 68.0000 -41.0000 -17.0000 10.0000 -41.0000 2
34、5.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.5520 0.1237 -0.5676 -0.6254 0.5209d = 0.0102 0 0 0 0 0.8431 0 0 0 0 3.8581 0 特征值 0 0 0 30.2887(4)n=5;tria = 6*eye(n-1)
35、; %构造上三角rown = zeros(1,n-1);coln = zeros(n,1);tria = tria;rown;tria = coln,triaeyeb = 5*eye(n); %构造对角阵tric = 1*eye(n-1); %构造下三角tric = rown;tric;tric = tric,colnA=tria+eyeb+tric 4求多项式的根,并分析误差大小(1)解:>> A=1,1,1;roots(A)ans = -0.5000 + 0.8660i -0.5000 - 0.8660i>> y=polyval(A,ans) 验证y = 1.0e-
36、015 * 0.3331 0.3331(2)解:>> A=3 0 -4 0 2 -1;x=roots(A)x = -0.9479 + 0.3845i -0.9479 - 0.3845i 1.0000 0.4479 + 0.3435i 0.4479 - 0.3435i>> y=polyval(A,x) 验证y = 1.0e-013 * -0.0144 - 0.1138i -0.0144 + 0.1138i -0.0888 0.0044 - 0.0083i 0.0044 + 0.0083i(3)解:>> A=5 0 0 0 0 0 0 0 0 0 0 0 0 0
37、 0 0 -6 8 0 0 0 -5 0 0;x=roots(A)>> y=polyval(A,x)(4) 解:p1=2 3;p2=conv(p1,p1); p=conv(p2,p1); %(2x+3)3n=length(p);for (i=1:n-1) q(i)=p(i);endq(n)=p(n)-4; %(2x+3)3-4x=roots(q)结果:x = -1.8969 + 0.6874i -1.8969 - 0.6874i -0.7063验证:>> y=polyval(q,x)y = 1.0e-014 * -0.7105 - 0.6217i -0.7105 + 0
38、.6217i 0 上机练习题八班级: 姓名: 学号: 1有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:pi/5:4*pi,用三次样条法进行插值。 >> x0=0:pi/5:4*pi; >> y0=sin(x0).*exp(-x0/10); >> x=0:pi/20:4*pi; >> y=spline(x0,y0,x); >> plot(x0,y0,'or',x,y,'b')2 编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
39、 function c=collatz(n) % collatz % Classic “3n+1” Ploblem from number theory c=n; while n>1 if rem(n,2)=0 n=n/2; else n=3*n+1; end c=c n; end3有一组学生的考试成绩(见表),根据规定,成绩在100分时为满分,成绩在9099之间时为优秀,成绩在8089分之间时为良好,成绩在6079分之间为及格,成绩在60分以下时为不及格,编制一个根据成绩划分等级的程序。学生姓名王张刘李陈杨于黄郭赵成 绩728356941008896685465 Name='王',
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理礼仪与医疗纠纷预防
- 护理护理信息技术培训课件下载
- 手足外科患者石膏固定护理查房
- 护理礼仪的礼仪外延
- 起重机司机起吊安全题库及答案
- 学校顶岗实习协议书
- 废止协议书模板
- 游戏小说改编授权协议
- 2012年高考理科数学北京卷-答案
- 2023年秋季学校后勤工作计划
- 电梯维护保养标准作业指导书
- 《环境设计制图》全套教学课件
- 安全生产培训学校申请书范文
- 广东省汕头市龙湖实验中学2026届中考押题语文预测卷含解析
- 《HJ 212-2025 污染物自动监测监控系统数据传输技术要求》
- 2025年内蒙古自治区中考物理试题(原卷版)
- DZ/T 0216-2010煤层气资源/储量规范
- 车位包销合同协议模板
- 医务人员职业暴露预防及处理课件
- 专题04 绿色植物的蒸腾作用、光合作用和呼吸作用-5年(2020-2024)中考1年模拟地理真题分类汇编(广东专用)
- GB/T 2684-2025铸造用砂及混合料试验方法
评论
0/150
提交评论