matlab作业题答案.docx
《matlab作业题答案.docx》由会员分享,可在线阅读,更多相关《matlab作业题答案.docx(16页珍藏版)》请在冰豆网上搜索。
![matlab作业题答案.docx](https://file1.bdocx.com/fileroot1/2023-1/6/7fde1442-2937-41b7-ae7c-54e6b900b2e1/7fde1442-2937-41b7-ae7c-54e6b900b2e11.gif)
matlab作业题答案
MATLAB作业题答案
第一章MATLAB概述
1.选择题
(1)在MATLAB中(C)用于括住字符串。
A、,B、;C、‘’D、“”
(2)在MATLAB的命令窗口中(D)可以中断MATLAB命令运行。
A、endB、escC、backspaceD、ctrl+c
(3)在MATLAB的命令窗口中执行(B)命令,使数值5.3显示为5.3000000000000000e+000。
A、formatlongB、formatlongeC、formatshortD、formatshorte
(4)在MATLAB的命令窗口中执行(B)命令,将命令窗口的现实内容清空。
A、clearB、clcC、echooffD、cd
2.在命令窗口中输入以下命令,写出在命令窗口中的运行结果。
a=[2+5i50.22*3]
答:
a=
0i5.00000.20006.0000
3.使用MATLAB的‘preferences’窗口设置数据格式为有理数表示
答:
rational
4.在命令窗口使用标点符号“%”和“;”的含义?
答:
%表示注释;;表示不显示运行结果。
5.用“format”命令设置数据输出格式为有理数表示,15位长格式和5位科学计数法。
答:
rationallongshort
11.在命令窗口中输入以下命令,并查看显示的图形。
a=[1234];
>>b=[5678];
>>c=a+b*i;
>>plot(c)
第二章MATLAB基本运算
1.选择题
(1)下列变量名中(A)是合法的。
A、char_1,i,jB、x*y,a.1C、x\y,a1234D、end,1bcx
(2)下列(C)是合法常量。
A、3*e10B、1e500C、-1.85e-56D、10-2
(3)x=uint8(2.3e10),则x所占的字节是(A)个。
A、1B、2C、4D、8
(4)已知x=0:
10;,则x有(B)个元素。
A、10B、11C、9D、12
(5)产生对角线上全是1其余为0的2行3列矩阵的命令是(C)。
A、ones(2,3)B、ones(3,2)C、eye(2,3)D、eye(3,2)
(6)已知数组
,则a(:
end)是指(C)。
A、所有元素B、第一行元素C、第三列元素D、第三行元素
(7)已知数组
,则运行a(:
1)=[]命令后(C)。
A、a变成行向量B、a数组为2行2列
C、a数组为3行2列D、a数组中没有元素3。
(8)已知数组
,则运行mean(a)命令是(B)。
A、计算a每行的平均值B、计算a每列的平均值
C、a数组增加一行平均值D、a数组增加一列平均值
(9)已知x为一个向量,计算ln(x)的MATLAB命令是计算(B)。
A、ln(x)B、log(x)C、Ln(x)D、lg10(x)
(10)当a=2.4,使用取整函数计算得出3,则该取整函数名为(C)。
A、fixB、roundC、ceilD、floor
(11)已知a=0:
4,b=1:
5,下面的运算表达式出错的为(D)。
A、a+bB、a./bC、a’*bD、a*b
(15)命令day(now)是指(C).
A、按照日期字符串格式提取当前时间B、提取当前时间
C、提取当前时间的日期D、按照日期字符串格式提取当前日期
2.复数变量a=2+3i,b=3-4i,计算a+b,a-b,c=a*b,d=a/b,并计算变量c的实部、虚部、模和相角。
答:
real(c)imag(c)abs(c)angle(c)
3.用“from:
step:
to”方式和“linspace”函数分别得到从0~4ππ的变量x1和从0~4π分成10点的变量x2。
答:
x1=0:
0.4*pi:
4*pi
x2=linspace(0,4*pi,10)
4.输入矩阵
,使用全下标方式取出元素“3”,使用单下标方式取出元素“8”,取出后两行子矩阵块,使用逻辑阵方式取出
。
答:
a(1,3)
a(8)
l1=logical([101]);
l2=logical([101]);
a(l1,l2)
5.输入a为3⨯3魔方阵,b为3⨯3的单位阵,并将a、b小矩阵组成3⨯6的大矩阵c和6⨯3的大矩阵d,将d矩阵的最后一行取出构成小矩阵。
答:
a=magic(3)
b=eye(3,3)
c=[a,b]
d=[a;b]
e=d(6,:
)
8.求解方程组
答:
a=[2,-3,1,2;1,3,0,4;1,-1,1,8;7,1,-2,2];
>>b=[8;6;7;5];
>>x=a\b
x=
12.计算函数
的值,其中t的范围从0~20步长取0.2;
的部分,计算
的值。
答:
t=0:
0.2:
20;
>>f=10*exp(-2*t)-sin(4*t);
>>f1=(f>=0)
f2=f1.*f
17.两个多项式
,
,计算c(x)=a(x)b(x),并计算c(x)的根。
当=2时,计算c(x)的值;将b(x)/a(x)进行部分分式展开。
答:
C=conv(a,b)
polyval(c,2)
[r,p,k]=residue(b,a)
18.X从0~20,计算多项式
的值,并根据x和y进行二阶、三阶和四阶拟和。
答:
x=0:
20;
polyval(y,x);
polyfit(x,y,n)
第三章数据可视化
1.选择题
(1)运行以下命令:
>>x=[1,2,3;4,5,6];
>>y=x+x*i;
>>plot(y)
则在图形窗口中绘制(A)条曲线。
A、3B、2C、6D、4
(2)运行以下命令:
>>x=[1,2,3;4,5,6];
>>plot(x,x,x,2*x)
则在图形窗口中绘制(B)条曲线。
A、4B、6C、3D、5
(3)subplot(2,1,1)是指(A)的子图
A、两行一列的上图B、两行一列的下图
C、两行一列的左图D、两行一列的右图
(4)运行命令“>>figure(3)”,则执行(B)。
A、打开三个图形窗口B、打开一个图形窗口
C、打开图形文件名为“”D、打开图形文件名为“”
(5)运行以下命令:
>>x=0:
0.1:
2*pi;
>>y=sin(x);
>>plot(x,y)
则如果要使正弦曲线充满坐标轴则(C)命令不能使用。
A、axisimageB、axis([0,2*pi,-1,1])
C、axisfillD、axistight
(6)如果要显示向量中各元素占和的百分比,则使用(B)函数绘图。
A、histB、pieC、barD、stairs
(7)极坐标图是使用(B)来绘制的。
A、原点和半径B、相角和距离
C、纵横坐标值D、实部和虚部
2.在0~10的坐标轴范围内绘制三条曲线,一条水平线,一条垂直线,一条对角斜线。
答:
>>x=0:
0.1:
10;
>>y1=5;
>>x1=[5,5];
>>y2=[0,1];
>>plot(x,y1,x1,y2,x,x)
3.绘制一条半径为2的圆,要求在图形窗口中显示的是圆形。
答:
>>t=0:
0.01*pi:
2*pi;
>>x=2*cos(t);
>>y=2*sin(t);
>>plot(x,y)
4.绘制函数曲线y=5tsin(2πt),t的范围为0~2
答:
>>t=0:
0.01:
2;
>>y=5*sin(2*pi*t);
>>plot(t,y)
5.在同一图形窗口绘制曲线y1=sin(t),t的范围为0~2π,y2=sin(2t),t的范围为π~4π;要求y1曲线为黑色点划线,y2曲线为红色虚线圆圈,使用鼠标将文字标注添加到两条曲线上。
答:
>>t1=0:
0.1:
2*pi;
>>y1=sin(t1);
>>t2=pi:
0.1*pi:
4*pi;
>>y2=sin(2*t2);
>>plot(t1,y1,'k-.',t2,y2,'r--o')
>>gtext({'sin(t)';'sin(2t)'})
6.在同一图形窗口分别绘制
三条函数曲线,x的范围为[-2,6],要求给整个图形加上标题,给横坐标加上标注,图的右上角标注三条曲线的图例,使用文字标注x=1点,并在x=1处绘制一条[-2,10]的垂直线。
答:
>>x=-2:
0.01:
6;
>>y1=x;
>>y2=x.^2;
>>y3=exp(-x);
>>plot(x,y1,x,y2,x,y3)
>>title('x,x^2,e^-x')
>>xlabel('x')
>>ylabel('x,x^2xe^-x')
>>legend('x','x^2','e^-x')
>>gtext('x=1')
>>holdon
>>x1=[1,1];
>>y4=[-2,10];
>>plot(x1,y4)
7.已知某班10个同学的成绩为65,98,68,75,88,78,82,94,85,56,分别统计并绘制60分以下,60~70、70~80、80~90、90~100分数段的人数图;并使用饼形图显示各分数段所占的百分数。
答:
>>x=[65,98,68,75,88,78,82,94,85,56];
>>y=[55,65,75,85,95];
>>n=hist(x,y)
n=
12232
>>pie(n)
8.已知某班5个同学的三次成绩为
,使用柱状图和阶梯图显示每个同学的成绩变化。
答:
a=[65,78,86,93,69;75,85,92,95,70;72,80,79,92,72]
>>b=a'
>>bar(a')
>>stairs(b)
>>stairs(a)
>>
9.用semilogx命令绘制传递函数
的对数幅频特性曲线,横坐标为w纵坐标为Lw,w范围为
按对数分布,并绘制双对数坐标图。
答:
w=0.01:
0.01:
1000;
aw=10./w./sqrt((0.5*w).^2+1);
lw=20*log10(aw)
semilogx(w,lw)
loglog(w,lw)
12.绘制
的三维网线图和表面图,x在[-5,5]范围,y在[-5,5]范围,将网线图用gray色图并用颜色条显示色图,改变视角显示二维图形。
x=-5:
0.1:
5;
y=x;
[X,Y]=meshgrid(x,y)
Z=sqrt(X.^2+Y.^2);
mesh(X,Y,Z)
colormap(gray)
colorbar
surf(X,Y,Z)
第四章符号运算
1.选择题:
(7)将符号表达式化简为嵌套形式,使用(D)函数。
A、collectB、expandC、factorD、horner
(8)积分表达式
的实现使用下面的(B)命令。
A、int(int(cos(x)),0,pi/2)B、int(int(cos(x),’t’),0,pi/2)
C、int(int(cos(x),’t’,0,pi/2)D、int(int(cos(x),’t’,0,pi/2))
(10)运行命令“y=dsolve(‘x*D2y-3*Dy=x^2’,’t’)”求解微分方程,则(D)
A、Dy是指dy/dxB、得出的y是通解有一个常数符C1
C、D2y是d2y/dxD、得出的y是通解有两个常数符C1和C2
2.分别使用sym和syms创建符号表达式“sin(x)+cos(y)”。
答:
z=sym('sin(x)+cos(y)')
symsxy
f=sin(x)+cos(y)
8.对符号表达式
分别使用collect、expand和simplify函数化简,并与simple函数的结果比较。
答:
symsx
>>f=cos(x)+sqrt(-(sin(x))^2)
>>collect(f)
>>expand(f)
>>simplify(f)
>>simple(f)
9.将符号表达式
中的x-1用a或5替换,并求y的反函数。
答:
symsxya
>>y=x^2-1
>>y1=factor(y)
>>y2=subs(y1,x-1,a)
>>y3=subs(y1,x-1,5)
>>y4=finverse(y)
11。
分别对符号表达式
中的变量a和x进行一阶微分和二阶微分,并计算当x在[0,2π]范围的积分。
答:
symsxa
>>y=sin(a*x)
>>diff(y,a)
>>diff(y,x)
>>diff(y,x,2)
>>diff(y,a,2)
>>int(y,x,0,2*pi)
12.对符号表达式
求t趋向极限1的值,并使用级数和求前10项。
答:
symsyt
>>y=2*t*sin(t+pi/4)
>>limit(y,t,1)
>>taylor(y,t,10)
13.求
的分子和分母,并求出laplace反变换。
答:
symssxty
>>[N1,D1]=numden(3/(s+1)/(s+2))
>>f1=ilaplace(3/(s+1)/(s+2))
[N2,D2]=numden(1/(s+1)/(s+1))
f2=ilaplace(1/(s+1(/(s+1))
14.求解符号方程
答:
symsx1x2x3x4
[x1,x2,x3,x4]=solve('2*x1-3*x2+x3+2*x4=8','x1+3*x2+x4=6','x1-x2+x3+8*x4=7','7*x1+x2-2*x3+2*x4=5')
15.求符号微分方程
的通解和当y(0)=2的特解。
答:
symstxy
>>y=dsolve('Dy+y*tan(t)=cos(t)')
>>y=dsolve('Dy+y*tan(t)=cos(t)','y(0)=2')
第五章程序设计和M文件
1、选择题:
(1)if结构的开始是“if”命令,结束是(B)命令。
A.endifB.endC.ENDD.else
(2)下面的switch结构,正确的是(C).
A、switchaB、switchaC、switchaD、switcha
casea>1casea=1case1case=1
(4)运行以下命令,则for循环的循环次数是(C)。
x=0:
10;
forn=x
>>ifn==5
continue
end
end
A、10B、5C、11D、9
3、编制M脚本文件,使用if结构显示学生成绩为55分时是否合格,大于等于60分为合格。
答:
functionf=fun6(x)
ifx>=60
f='yes'
else
f='no'
end
4、编写M脚本文件,实现分段绘制曲线
答:
x=-10:
0.1:
10;
y=x
ifx+y>1
z=0.5*exp(-0.5*y.^2-3*x.^2-x)
elseifx+y<=-1
z=0.5*exp(-0.5*y.^2-3*x.^2+x)
else
z=0.7*exp(-1*y.^2-6*x.^2)
end
plot3(x,y,z)
6、编写M脚本文件,从键盘输入数据,使用switch结构判断输入的数据是奇数还是偶数,并显示提示信息。
答:
functionn=num(x)
n1=mod(x,2)
switchn1
case0
x='偶数'
otherwise
x='奇数'
end
7、编写M脚本文件,分别使用for和switch循环语句计算
,当sum>1000时终止程序。
答:
sum=0
fori=1:
10
sum=i.^i+sum
i=i+1
end
sum=0
>>fori=1:
10
ifsum<=1000
sum=i.^i+sum
i=i+1
end
end
i=0;
>>sum=0;
>>whilesum<=1000
i=i+1
sum=sum+i^i
end
补充:
设有一数组其规则是,(k=1,2,3,….);且。
现要求该数组中第一个大于10000的元素。
答:
>>a
(1)=1;a
(2)=1;i=2;
>>whilea(i)<=10000
a(i+1)=a(i-1)+a(i);
i=i+1;
end