第二章 MATLAB程序设计

课程名称:MATLAB仿真技术 总分:50 答题时长:50分钟 出卷人:王明玉

、填空题:(共4题,8分)
1 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为(  )。

c=input('请输入一个字符','s');

if c>='A' & c<='Z'

disp(setstr(abs(c)+abs('a')-abs('A')));

elseif c>='a'& c<='z'

disp(setstr(abs(c)- abs('a')+abs('A')));

elseif c>='0'& c<='9'

disp(abs(c)-abs('0'));

else

disp(c);

end

2 运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为( )。

a=input('a=?');

b=input('b=?');

c=input('c=?');

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]); 

3 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为(   )。

x=input('请输入x的值:');

if x==10

y=cos(x+1)+sqrt(x*x+1)

else

y=(3^(1/2))*sqrt(x+sqrt(x))

end

4 运行如下程序后, 命令窗口(command windows)显示的结果为(   )。

k=0;

for n=100:200

if rem(n,21)~=0  

k=k+1;

continue

end

break;

end

k

简答题:(共10题,42分)
1 应用while与for结构计算1+2+3+…+100。
2 编写程序实现将矩阵A=[1 2 3 6; 4 5 6 10; 7 8 9 2]中大于8,小于等于2的元素置0。
3  A=[ 0 1 4 0;  0 1 0 0],编写程序计算矩阵A中有多少个零元素。
4 利用for循环编程
5 应用sort函数对向量a=[3 2 5 7 4 9 1 8]进行排序,排序后的向量b与向量a各元素所在的位置相加得到向量c,最后将向量c各元素回到向量a对应的位置。

([B1,INDEX] = sort(A)对A进行排序,则可以取得索引INDEX,进而可以查询B1中每个元素与C中哪一个对应。)

6 编写递归函数计算 ,则factor1(4)=(    )
7 编写程序,使其能够产生如下的分段函数:

并调用此函数,计算x=[0,+2]范围内的f(x)*f(x+2) 。

8 应用匿名函数,求当x=2,y=3时, x^2+y^2的值。
9 编写程序与 flipud(A) 函数具有相同的功能。
10 编写程序与 逻辑非 函数具有相同的功能。