一、填空题
1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)录窗口、内存数组编辑器、
M文件编辑/调试器、
帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出变量数目。
3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔符;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。5、MATLAB实现将全下标转换为单下标的指令为下标的指令为
Ind2sub。
“单下标”标识、“逻辑1”标识。
A(2,3);寻访数组第
clear
A中寻访第2行第3列元胞元素用
A{2,3}。
clc用于清除指令窗中显示内容、
6、二维数组的标识有“全下标”标识、7、在一个元胞数组2行第3列元胞中的内容用
Sub2ind、据单下标换算出全
、历史命令窗口、当前目
8、MATLAB中clf用于清除图形窗、二、简答题
用于清除MATLAB工作空间中保存的变量。1、简述MATLAB历史指令窗的主要作用。答:历史指令窗记录着用户在开启MATLAB的时间,每次开启或多行指令的复制和运行、生成2、简述空数组的功用。
答:“空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。
3、简述MATLAB函数的基本结构。
答:典型M函数文件的结构:函数申明(定义)行4、简述绘制二维图形的一般步骤。
答:绘制二维图形的一般步骤为:曲线数据准备、三、编程题
(1)在同一图上分别用红色实线和绿色虚线绘制线,并用星号*标出两条曲线的交点以及建立图例。书解:clf
x=0:pi/200:4*pi; y1=sin(x); y2=cos(x);
zz=x(find(abs(y1-y2)<0.005)) z=min(zz)
plot(x,y1,'r-',x,y2,'g_') hold on
plot(zz,sin(zz),'*') legend('sin','cos')
y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲
p123、p126 选定图形窗及子图位置、
调用二维曲线绘
图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。
(Function declaration line)、H1行(The first
(Function body)。
help text line)、在线帮助文本(Help text)区、编写和修改记录、函数体
MATLAB指令窗中所输入过的所有指令。M文件等。
历史记录包括:每次
应用功能有单行
MATLAB后在指令窗中运行过的所有指令。
1
(2)分别在同一图形窗的不同子图绘制解:t=(0:pi/100:pi)';
y1=sin(t)*[1,-1]; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9;
y3=sin(t3).*sin(9*t3);subplot(1,2,1) plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') subplot(1,2,2) plot(t,y2,'b') axis([0,pi,-1,1])
y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。P121
(3)某商场对顾客所购买的商品实行打折销售,标准如下
price<200 200≤price<500 500≤price<1000 1000≤price<2500 2500≤price<5000 5000≤price
没有折扣3%折扣5%折扣8%折扣10%折扣14%折扣
P172
(商品价格用price来表示):
输入所售商品的价格,求其实际销售价格。解:price=input('请输入商品价格');
switch fix(price/100) case {0,1} rate=0; case {2,3,4} rate=3/100; case num2cell(5:9) rate=5/100; case num2cell(10:24) rate=8/100; case num2cell(25:49) rate=10/100; otherwise rate=14/100; end
price=price*(1-rate)
(4)用符号变量法解如下方程
p
%价格小于200 %价格大于等于%价格大于等于%价格大于等于%价格大于等于%价格大于等于
200但小于500 500但小于1000 1000但小于2500 2500但小于5000 5000
%输出商品实际销售价格
x2x3x
2yy4y
z2z
139
2z
解:eq1=sym(‘x+2*y+z=1’);
eq2=sym(‘2*x+y-2*z=3’); eq3=sym(‘3*x-4*y+2*z=9’); [x,y,z]=solve(a,b,c)
(5)将matlab绘图窗口分割为二个区域
,在左区域绘出
y1曲线, 在右区域绘出
y2曲线,y1
2
为红色,y2为蓝色,步距0.01. p121
y1xe,x[0,5]
2x
y25cos(3x),x[2,2]
解:x1=0:0.01:5;
y1=x*exp(-2*x); subplot(1,2,1); plot(x1,y1,’r’); x2=-2:0.01:2; y2=5*cos(3*pi*x2); subplot(1,2,2); plot(x2,y2,’b’);
(6)某班有50名学生,进行英语考试,考试成绩为: 人,不及格3人.试绘该班英语考试成绩分布的三维饼图解:x=[8,14,20,5,3];
explode = [1,0,0,0,1]; pie3(x,explode)
四、阅读程序
(1)写出下列指令运行结果。
P51
A=[1,2;3,4]; B=[-1,-2;2,1]; S=3; A.*B A*B S.*A S*B 解:ans =
-1 -4 6
4
ans =
3 0 5 -2 ans =
3 6 9 12 ans =
-3 -6 6
3(2)写出下列指令运行结果。
A=zeros(2,4); A(:)=1:8; s=[2 3 5]; A(s)
Sa=[10 20 30]
’
3
优秀8人,良好14人,中等20人,及格,将优秀块及不及格块分离
.p143
5A(s)=Sa 解:ans =
2 Sa =
10 20 30 A =
1 10
20 4
30 6
7 8
3
5
(3)下面的函数主要完成什么功能?
function f=factor(n) if n<=1
f=1;
else
f=factor(n-1)*n;
end
解:功能是利用函数的递归调用,求(4)下面的程序完成功能是什么?
t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') xlabel(ylabel(grid on;
解:在同一个图中绘制两个函数,这两个函数分别是:y=e
(-t/3)(-t/3)
n!
‘it t‘it y
’);’);
y0=e*sin(3t)
y0是用兰色的虚线绘制,
t的区间是(0:4),
/50,t轴和y轴分别用斜粗题指示,图中有网格表示。
其中y是用红色的细实线,而t的步长为
(5)写出下列指令运行结果。
ch=‘ABc123d4e56Fg9’;subch=ch(1:5) revch=ch(end:-1:1) k=find(ch>=char(ch)
解:结果为ABC123D4E56FG9 (6)s1=0;s2=0;n1=0;n2=0
x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ];
‘a’&ch<=‘z’);
ch(k)=ch(k)-(‘-‘a’A’);
4
m=length(x); for i=1:m if x(i)<0 s1=s1+x(i); n1=n1+1; else
s2=s2+x(i); n2=n2+1; end end
s1,n1,s2,n2,m
s1= -31 ; n1= 6 ;s2= 41 ;n2= 8 ;m= 14 .
5