MATLAB复习题Word文档下载推荐.docx
《MATLAB复习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB复习题Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
![MATLAB复习题Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/21/0cbcac8c-072f-4cad-ae8a-329a5a7c6bb5/0cbcac8c-072f-4cad-ae8a-329a5a7c6bb51.gif)
B.x*y,a.1
C.x\y,a1234
D.end,1bcx
2、已知x为1个向量,计算其正弦函数的运算为。
A.SIN(X)
B.SIN(x)
C.sin(x)
D.sinx
3、已知x为1个向量,计算ln(x)的运算为B。
A.ln(x)
B.log(x)
C.Ln(x)
D.log10(x)
4、当a=2.4,使用取整函数得出3,则该取整函数名为__ceil__。
关于数组的基本函数P50
A.fix
B.round
C.ceil
D.floor
5、已知a=0:
4,b=1:
5,
下面的运算表达式出错的为_
D。
A.a+b
B.a./b
C.a'
*b
D.a*b
1
2
3
输入矩阵a
4
5
6.使用全下标方式a(1,3)
取出兀素3、使用单下标方式a(6)
7
8
9
取出元素“8”,用a([2,3],:
)取出后两行子矩阵块。
7、输入A为3*3的魔方阵,B为3*3的单位阵,由小矩阵构成3*6的大矩阵C和6*3的大矩阵D,将D矩阵的最后一行构成小矩阵E。
A=magic(3);
B=eye(3);
C=[AB];
D=[A;
B];
E=D(end,:
)特殊矩阵的产生P34
8、求矩阵A的转置矩阵,逆矩阵,矩阵的秩,矩阵的行列式值,矩阵的三次幕,矩阵的特征值和特征向量。
A'
inv(A);
rank(A);
det(A);
AA3;
[v,d]=eig(A)常用矩阵运算函数P44
9、求解方程组
2xi3x2x32x48
Xi3x2x6
XiX2X38x47
7x1x22x32x45
A=[2-312;
1304;
1-118;
71-22];
b=[8;
6;
7;
5];
x=A\b
矩阵运算分为左除和右除,各表示什么含义,见P47。
10、2个多项式为ax5x44x33x22x1,bx3x21,计算cxaxbx,并计算c(x)的根。
当x=2时,计算c(x)的值,将b(x)/a(x)进行部分分式展开。
a=[54321];
b=[301];
c=conv(a,b)
roots(c)
polyval(c,2)
[r,p,k]=residue(b,a)关于多项式的常用函数参见P62-66
11、x在[0,20]范围内,计算多项式y5x44x33x22x1的值,并根据x和y进行二阶、三阶和四阶拟合。
x=0:
0.5:
20;
p=[54321];
y=polyval(p,x)
p1=polyfit(x,y,2)
.p2=polyfit(x,y,3)
.p3=polyfit(x,y,4)
第三章符号计算
1/(sin(t)+cos(w*t))w2*a+thetatheta2*i+a*jjz*exp(j*theta)z
2、已知表达式:
f1sin2x,g2x1,计算当x=1时f的值,计算f与g的复合函数,g的逆函数
f=sym('
1-sin(xF2'
);
g=sym(‘2*x+1'
)
subs(f,1)
pose(f,g)
finverse(g)
3、计算1*2+2*3+……+n*(n+1)的前3项的和符号级数P103symsum(k*(k+1),1,3)
4、符号函数:
fxy,分别对x进行定积分,y进行不定积分,对y定积分区间为(0,1).符号积分P102
f=sym(‘xA(-y)'
);
int(f)
int(f,'
y'
0,1)
5、求dyytanxcosx的通解。
符号常微分方程P109
dx
dsolve(‘Dy+y*tan(x)=cos(x)'
'
x'
6利用符号绘图函数绘制图形fxsinxx,范围为[1,10]。
符号函数绘图指令P110
f=sym(‘sin(x)/x'
ezplot(f,[1,10])
第四章MATLA时算的可视化和GUI设计
1、常用的二维、三维绘图函数
2、图形句柄的概念,查询和设置的方法
3、GUI设计过程,以及常用的控件名称和含义。
22
4、zxexy,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。
[x,y]=meshgrid([-2:
.2:
2]);
z=x.*exp(-x.A2-y.A2);
mesh(x,y,z)
subplot(2,2,1),plot3(x,y,z)
title('
plot3(x,y,z)'
subplot(2,2,2),mesh(x,y,z)
mesh(x,y,z)'
subplot(2,2,3),surf(x,y,z)
surf(x,y,z)'
subplot(2,2,4),surf(x,y,z),shadinginterp
surf(x,y,z),shadinginterp'
5、建立三个输入窗口的输入对话框,如图所示
prompt={'
输入姓名'
'
输入年龄'
输入职业'
};
title='
信息登记'
;
lines=[111]'
;
def={'
张平'
30'
教师'
answer=inputdlg(prompt,title,lines,def);
第五章MATLABS序设计
1、命令文件和函数文件的区别。
2、输入一个字符,若为大写字母,则输出其对应的小写字母;
若为小写字母,则输出其对应的大写字母;
若为数字字符则输出其对应的数值,若为其他字符则原样输出
c=input('
请输入一个字符'
s'
ifc>
='
&
c<
Z'
disp(setstr(abs(c)+abs('
a'
)-abs('
)));
elseifc>
z'
disp(setstr(abs(c)-abs('
)+abs('
elseifc>
0'
9'
disp(abs(c)-abs('
));
else
disp(c);
end
3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<
200没有折扣
200<
price<
5003%折扣
500<
10005%折扣
1000<
25008%折扣
2500Wprice<
500010%折扣
5000Wprice14%折扣
输入所售商品的价格,求其实际销售价格price=input('
请输入商品价格'
switchfix(price/100)
case{0,1}%价格小于200
rate=0;
case{2,3,4}%价格大于等于200但小于500
rate=3/100;
casenum2cell(5:
9)%价格大于等于500但小于1000
rate=5/100;
casenum2cell(10:
24)%价格大于等于1000但小于2500
rate=8/100;
casenum2cell(25:
49)%价格大于等于2500但小于5000
rate=10/100;
otherwise%价格大于等于5000
rate=14/100;
price=price*(1-rate)%输出商品实际销售价格
4、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。
输出全部水仙花数form=100:
999
m仁fix(m/100);
%求m的百位数字
59
m2=rem(fix(m/10),10);
%求m的十位数字
m3=rem(m,10);
%求m的个位数字
ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3
disp(m)
5、从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和sum=0;
cnt=0;
val=input('
Enteranumber(endin0):
'
while(val~=0)
sum=sum+val;
cnt=cnt+1;
if(cnt>
0)
sum
mean=sum/cnt
6、求[100,200]之间第一个能被21整除的整数
forn=100:
200
ifrem(n,21)~=0
continue
break
n
7、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。
求[1,500]之间的全部完数
form=1:
500
s=0;
fork=1:
m/2
ifrem(m,k)==0
s=s+k;
endifm==sdisp(m);
8、利用函数的递归调用,求n!
functionf=exam5_14(n)ifn<
=1f=1;
elsef=exam5_14(n-1)*n;
%递归调用求(n-1)!
9、nargin用法示例函数文件examp.m:
functionfout=charray(a,b,c)ifnargin==1fout=a;
elseifnargin==2fout=a+b;
elseifnargin==3fout=(a*b*c)/2;
命令文件exam5_15.m:
x=[1:
3];
y=[1;
2;
examp(x)examp(x,y'
)examp(x,y,3)
10
10、编写M却本,分别使用for和while循环语句计算sumi1的程序
i1sum=0;
forn=1:
sum=n5+sum;
sumn=1;
sum=0;
whilen<
=10
n=n+1;
11、编制一个解数论问题的函数文件:
取任意整数,若是偶数,则除以2,否则乘3加1,
重复此过程,直到整数变为1。
functionc=collatz(n)
%Collatz
%Classic"
3n+1"
Plobremfromnumbertheory
c=n;
whilen>
1
ifrem(n,2)==0
n=n/2;
n=3*n+1;
c=[cn];
12、编写M脚本文件,要求从键盘逐个输入数值(input),然后判断输入的数是大于0还是
小于0,并输出提示(disp)是正数,还是负数,同时记录输入的正数、负数的个数。
当输入0时,中止M文件的运行;
当输入第10个数字时,显示记录的正、负个数并终止程序。
n=1;
n1=0;
n2=0;
whilen<
a=input('
请输入数据'
ifa>
0
disp('
正数'
)
n1=n1+1;
elseifa<
负数'
n2=n2+1;
break;
n=n+1;
enddisp('
正数'
)n1disp('
负数'
)n2
13、编写M函数文件,实现分段绘制曲面,绘制每个曲线为1个子函数
0.75y23.75x21.5x
0.5457exy1
22
zx,y0.7575ey6x1xy1
0.75y23.75x21.5x
functionex0306()x=-2:
0.1:
y=-2:
[xx,yy]=meshgrid(x,y);
[n1,m1]=size(xx);
z=zeros(n1,m1);
n1
form=1:
m1
ifxx(n,m)+yy(n,m)>
z(n,m)=z1(xx(n,m),yy(n,m));
elseif(xx(n,m)+yy(n,m)>
-1)&
(xx(n,m)+yy(n,m)<
1)z(n,m)=z2(xx(n,m),yy(n,m));
elseifxx(n,m)+yy(n,m)<
-1
z(n,m)=z3(xx(n,m),yy(n,m));
endsurf(xx,yy,z)functionz=z1(x,y)
z=0.5457*exp(-0.75*yA2-3.75*xA2-1.5*x);
functionz=z2(x,y)
z=0.7575*exp(-yA2-6*xA2);
functionz=z3(x,y)
z=0.5457*exp(-0.75*yA2-3.75*xA2+1.5*x);
14、根据输入参数个数实现当没有输入参数时,显示信息;
当有一个参数时,则以该参数为边长绘制正方形;
当有两个参数时,以2个参数为长和宽绘制矩形。
functionex0307(varargin)ifnargin==0
无输入参数'
elseifnargin==1
r=varargin{1};
x=[00rr];
y=[0rr0];
plot(x,y)
elseifnargin==2
r1=varargin{1};
r2=varargin{2};
x=[00r1r1];
y=[0r2r20];
plot(x,y)end