期末考试答案_期末考试参考答案
期末考试答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“期末考试参考答案”。
练习题
1. 计算复数3+4i与5−6i的乘积。
a=complex(3,4);b=complex(5,-6);s=a*b s =
39.0000 + 2.0000i
2.构建结构体Students,属性包含Name、Age和Email,数据包括{'Zhang',18,[‘zhang@163.com’, ‘zhang@263.com’]}、{‘Wang’,21, []}和{‘Li’,[], []},构建后读取
所有Name属性值,并且修改‘Zhang’的Age属性值为19。
Student.Name='zhang';Student.Age=18;Student.Email='zhang@163.com,zhang@263.com';Student
Student =
name: 'zhang'
Name: 'zhang'
Age: 18
Email: 'zhang@163.com,zhang@263.com' Student.Age=19
Student =
Name: 'zhang'
Age: 19
Email: 'zhang@163.com,zhang@263.com'
2. 采用向量构造符得到向量[1,5,9,…,41]
A=1:4:41
4.利用列向量1,2,3,,6建立一个范得蒙矩阵A,并利用位于矩阵A的奇数行
T偶数列的元素建立一个新的矩阵B,须保持这些元素的相对位置不变。
(范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。例如,A=vander([1;2;3;5])即可得到上述范得蒙矩阵。)
V=[1,2,3,4,5,6];A=vander(V);
A A =
243
1024
256
3125
625
125
7776
1296
216
5.按水平和竖直方向分别合并下述两个矩阵:
A=[1 0 0;1 1 0;0 0 1];B=[2 3 4;5 6 7;8 9 10];H=vertcat(A,B)H =
0
0
0
0
0
S=horzcat(A,B)S =
0
0
0
0
0
6.分别删除第5题两个结果的第2行。
>> H(2,:)=[]
H =
0
0
0
0
S(2,:)=[] S =
0
0
0
0
7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。
H(2,1)=11;
H(2,2)=12;H(2,3)=13 H =
0
0
0
0
S(2,4)=11;S(2,5)=12;S(2,6)=13 S =
0
0
0
0
0
8.分别查看第5题两个结果的各方向长度。
a=size(H)
a = b=size(S)b =
9.分别计算第5题矩阵A和B的A+B、A.*B和AB。A=[1 0 0;1 1 0;0 0 1];B=[2 3 4;5 6 7;8 9 10];S1=A+B S1 =
S2=A.*B S2 =
0
0
0
0
0
S3=AB S3 =
10.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 x=[0,1,0,2,0,3,0,4];for k=1:8 if x(k)==0 x(k)=k;else x(k)=2*k+1;end end disp(x);5 3 9 5 13 7 17
11.写出执行以下代码后C,D,E的值
A=[1,2,3;4:6;7:9];C=[A;[10,11,12]] D=C(1:3,[2 3])E=C(2,[1 2])C = 2 3 4 5 6 7 8 9 10 11 12
D = 3 5 6 8 9
E = 5 >>
12、输入x,y的值,并将它们的值互换后输出。x=input('Input x please:');y=input('Input y please:');z=x;x=y;y=z;disp(x);disp(y);13.当n=100时,求yni112i1的值。
y=0;n=100;for i=1:n y=y+1/(2*i-1);end y
14.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price
rate=0;
elseif p>=200&p
rate=3/100;
elseif p>=500&p
rate=5/100;
elseif p>=1000&p
rate=8/100;
elseif p>=2500&p
rate=10/100;
else
rate=14/100;end p=p*(1-rate)
15.一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。
function function3()x=[];for i=100:999 n1=fix(i/100);n2=fix((i-n1*100)/10);n3=i-n1*100-n2*10;if(n1^3+n2^3+n3^3)==i x=[x i];end end
16.用if语句实现下列程序:输入一个百分制成绩,要求输出成绩等级为A、B、C、D、E,其中90-100分为A,80-90分为B,70-79分为C,60-69分为D,60分以下为E。function function4()p=input('请输入分数:');if p>=90
disp('A');elseif p>=80
disp('B');
elseif p>=70
disp('C');elseif p>=60
disp('D');else disp('E');end
17.若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,10000]之间的全部完数.function function5()result = [];for n = 1:10000 divisors = 1:(n/2);remainder = mod(n, divisors);sumDivisors = sum(divisors(remainder == 0));if n == sumDivisors result = [result, n];end end result
18.求[1000,2000]之间第一个能被17整除的整数。function function7()for n = 1000:2000 a=mod(n,17);if a==0 num=n break;end end
19.绘制函数ysinxcosx在2,2上的曲线,其中曲线为红实线。
x=-2:0.1:2;
y=sin(x).*cos(x);
plot(x,y,'-r')0.50.40.30.20.10-0.1-0.2-0.3-0.4-0.5-2-1.5-1-0.500.511.52
20.编制MATLAB7.0程序,该程序绘制两条曲线,x的取值在[0,2pi],以pi/10为步长,一条是正弦曲线,一条是余弦曲线,线宽为6个象素,正弦曲线为绿色,余弦曲线为红色,线型分别为实线和虚线。给所绘的两条曲线增添图例,分别为“正弦曲线”和“余弦曲线”。
x1=0:pi/10:2.*pi;x2=0:pi/10:2.*pi;y1=sin(x1);y2=cos(x2);plot(y1,'-g','linewidth',6);hold on plot(y2,'--r','linewidth',6);10.80.60.40.20-0.2-0.4-0.6-0.8-10510152025正弦曲线余弦曲线
legend('正弦曲线','余弦曲线','Location','North')
x和,21.在同一坐标内,分别用不同线型和颜色绘制曲线y10.2e0.5xcos4y22e0.5xcosxx0,2,并标记两曲线交叉点。
x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);k=find(abs(y1-y2)
22.在同一窗口分别用红色实线和绿色虚线绘制y1sinx和y2cosx在区间0,4上的曲线,并用星号*标出两条曲线的交点以及建立图例;
x=linspace(0,4*pi,1000);y1=sin(x);y2=cos(x);k=find(abs(y1-y2)
23.分别在同一图形窗口的不同子图绘制y1sint,y2cost,y3sin2t,y4sint在区间0,2上的图像。
t=0:pi/10:2*pi;subplot(2,2,1)plot(t,sin(t))subplot(2,2,2)plot(t,cos(t))subplot(2,2,3)plot(t,sin(2*t))subplot(2,2,4)plot(t,abs(sin(t)))
24.在同一直角坐标系内画出yxsinx和yxsin1x在区间0.005,10的图形,添加x轴和y轴的简单注解,对图形进行文本标注,并尝试不同的线形、颜色;
x=linspace(0.005,10,1000);y1=x.*sin(x);y2=x.*sin(1./x);plot(x,y1, '-r',x,y2, '--g')xlabel('x');ylabel('y=xsinx,y=xsin(1/x)');
25.求函数ycosx的5次拟合多项式px,并绘制出cosx和px在区间0,2上的图形。
x=0:pi/10:2*pi;y=cos(x);p=polyfit(x,y,5);y1=polyval(p,x);plot(x,y,'-r');hold on plot(x,y1, '--g')
26.在0≤x≤2区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。
x=0:0.01:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2);xlabel('x(0,2pi)');
text(0.5,2*exp(-0.5*0.5)+0.1,'y1=2e^{-0.5x}');text(3,cos(4*pi*3)+0.1,'y2=cos(4pi*x)');legend('y1','y2')2y1=2e-0.5x1.5y2=cos(4*x)y1y210.50-0.5-10123x(0,2)4567
27.随机产生一向量x,求向量x的最大值。
x=rand();m=max(x)
28.某观测站测得某日6:00时至18:00时之间每隔2小时的室内外温度(℃),用3次样条插值分别求得该日室内外6:30至17:30时之间每隔2小时各点的近 似温度(℃)。h=6:2:18;t=[18,20,22,25,30,28,24,15,19,24,28,34,32,30]';X1=6.5:2:17.5 Y1=interp1(h,t,X1,'spline')
29.某实验对一根长10米的钢轨进行热源的温度传播测试。用x表示测量点0:2.5:10(米),用h表示测量时间0:30:60(秒),用T表示测试所得各点的温度(℃)。试用线性插值求出在一分钟内每隔20秒、钢轨每隔1米处的温度TI。30.说明函数polyfit()的用法,并讨论采用不同多项式阶数(至少3种)对函数y=0.25*x+20*sin(x)拟合结果的影响。x=0:2.5:10;h=[0:30:60]';T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41];xi=[0:10];hi=[0:20:60]';T1=interp2(x,h,T,xi,hi)
31.求多项式x48x310与多项式2x2x3的乘积。32.求多项式x48x310除以多项式2x2x3的结果。31和32答案
>> P1=[1,8,0,0,-10];>> P2=[2,-1,3];>> w=conv(P1,P2);>> [q,r]=deconv(P1,P2);>> sq=poly2str(q,'x');>> sq=poly2str(r,'x');>> P1=[1,8,0,0,-10];>> P2=[2,-1,3];>> w=conv(P1,P2)w = 15-5 24-20 10-30
>> [q,r]=deconv(P1,P2);>> sq=poly2str(q,'x')
sq =
0.5 x^2 + 4.25 x + 1.375
>> sr=poly2str(r,'x')
sr =
-11.375 x7 x – 8 >> p=polyder(b);>> sp=poly2str(p,'x')
sp = x^2 + 14 x + 3
34.x521637,求
(1)x各元素的和
(2)x各元素的积
(3)x的累乘积向量
(4)向量x的算术平均值和中值
(5)对x中的元素按降序排列的新向量。>> x=[5 2 1 6 3 7];>> s=sum(x)s =
>> p=prod(x)p = 1260
>> c=cumprod(x)c = 10 10 60 180 1260
>> m=mean(x)m =
>> md=median(x)
md = >> [sortx,dim]=sort(x,'descend')
sortx = 6 5 3 2 1
dim = 4 1 5 2 3
35.求fxx10x20在x00.5附近的根。>> p=@(x)x-10.^x+2;>> x=fzero(p,0.5)x =
0.3758 >> 36.针对函数yxsinx1x12,x0,10,(1)绘制其图象;
(2)并计算最大值、最小值和零点;(3)计算yx在0,10上的积分。y=@(x)sin((x+1)./(x.^2+1));fplot(y,[0,10])
[xmin,yval] = fminbnd(y,0,10)
xmin =
yval =
0.1087 f=@(x)(-sin((x+1)./(x.^2+1)));[xmax,fmax]=fminbnd(f,0,10)
xmax = 0.4142
fmax =
-0.9346
ymax=-ymax fmax =
0.9346 [x,yva]=fzero(y)x =
yva =
0 q=quad(y,0,10)q =
3.4354 37.计算微分方程y21y'yt0,2且初始值为0的解。
38.求fxx32x5在0,5内的最小值点。f=@(x)(x.^3-2*x-5);[xmin,fval]=fminbnd(f,0,5)xmin =
0.8165
fval =
-6.0887
39.设x为符号变量,fxx2x1,gxx6x3x5,试进行如下运算。
4232(1)fxgx,(2)fxgx,(3)对fx进行因式分解,(4)求gx的反函数。>> syms x;>> f=x^4+2*x^2+1 f =
x^4+2*x^2+1
>> g=x^3+6*x^2+3*x+5 g =
x^3+6*x^2+3*x+5
.>> el=sym(f+g)el =
x^4+8*x^2+6+x^3+3*x
>> e2=sym(f*g)
e2 =
(x^4+2*x^2+1)*(x^3+6*x^2+3*x+5)
>> R=factor(f)R =
(x^2+1)^2 >> finverse(g)Warning: finverse(x^3+6*x^2+3*x+5)is not unique.> In sym.finverse at 43
ans =
1/2*(-60+4*x+4*(117-30*x+x^2)^(1/2))^(1/3)+6/(-60+4*x+4*(117-30*x+x^2)^(1/2))^(1/3)-2
>> 40.求sin(x)x在0,8上的定积分;
求定积分ex2dx,;
>> syms x >> R1=int(sin(x)+x,0,8)
R1 =
-cos(8)+33
>> R2=int(exp(-x^2),-inf,inf)
R2 = pi^(1/2)
41.求符号表达式sin(x)x的5次微分; >> syms x >> f=sin(x)+x^5;>> df=diff(f,5)
df =
cos(x)+120
>> 42.求解非线性方程组x0.7sin(x)0.2cos(y)0y0.7cos(x)0.2sin(y)05
3x12x25x312求线性方程组2x1x2x34的解;
4xx2x8231>> s=solve('x-0.7*sin(x)-0.2*cos(y)=0','y-0.7*cos(x)+0.2*sin(y)=0','x','y');>> disp('s.x')s.x >> disp(s.x).5265226219***69280519209
>> disp('s.y')s.y >> disp(s.y).***24497***8
>> S=solve('3*x1-2*x2-5*x3=12','2*x1-x2+x3=4','4*x1+x2-2*x3=8','x1','x2','x3')
S =
x1: [1x1 sym]
x2: [1x1 sym]
x3: [1x1 sym]
>> disp('S.x1')S.x1 >> disp(S.x1)80/43
>> disp('S.x2')S.x2 >> disp(S.x2)-48/43
>> disp('S.x3')S.x3 >> disp(S.x3)-36/43 >>
44.已知y''2y'2y0,y(0)1,y'(0)1,求该方程的解。
>> y=dsolve('D2y+2*Dy+2*y=0','Dy(0)=1','y(0)=1','x')y =
2*exp(-x)*sin(x)+exp(-x)*cos(x)
>> Sy=simple(y)Sy =
exp(-x)*(2*sin(x)+cos(x))
>>
45.简化fx31x36x212x8 >> syms x >> f=(1/x^3+6/x^2+12/x+8)^(1/3)f =
(1/x^3+6/x^2+12/x+8)^(1/3)
>> simple(f)
simplify:
((2*x+1)^3/x^3)^(1/3)
radsimp:
(2*x+1)/x
combine(trig):
((1+6*x+12*x^2+8*x^3)/x^3)^(1/3)
factor:
((2*x+1)^3/x^3)^(1/3)
expand:
(1/x^3+6/x^2+12/x+8)^(1/3)
combine:
(1/x^3+6/x^2+12/x+8)^(1/3)
convert(exp):
(1/x^3+6/x^2+12/x+8)^(1/3)
convert(sincos):
(1/x^3+6/x^2+12/x+8)^(1/3)
convert(tan):
(1/x^3+6/x^2+12/x+8)^(1/3)
collect(x):
(1/x^3+6/x^2+12/x+8)^(1/3)
mwcos2sin:
(1/x^3+6/x^2+12/x+8)^(1/3)ans =
(2*x+1)/x
46.计算Llim>> syms x h lnxhlnxhh0x和 Mlim1
nnn>> l=limit((log(x+h)-log(x))/h,h,0)l = 1/x
>> syms x n >> m=limit((1-x/n)^n,n,inf)m = exp(-x)
>>
47.计算级数Sn11n2 及其前100项的部分和
计算函数级数Sn1xn2
>> syms n >> s1=symsum(1/n^2,n,1,100);>> S1=vpa(s1,10)S1 =
1.634983900
>> s2=symsum(1/n^2,n,1,inf);>> S2=vpa(s2,10)S2 = 1.644934068
>> >> syms n x >> s2=symsum(x/n^2,n,0,inf)s2 =
sum(x/n^2,n = 0..Inf)49.设f(x)syms x u y t z f=x^2/(1+u);g=cos(y+2*t);fz=ztrans(f,x,z)fz =
1/(1+u)*z*(z+1)/(z-1)^3
>>
50.计算zyx3yx2y的223x21u, g(y)cos(y2t),求复合函数 f(g(z))。
zy和
z2yx。
syms x y z=y*x^2+3*y^2*x+2*y^3;dfy=diff(z,'y')dfy =
x^2+6*y*x+6*y^2
>> df=diff(dfy,'x')df = 2*x+6*y