2009年MATLAB期考题及答案

  • 格式:doc
  • 大小:56.00 KB
  • 文档页数:6

MATLAB 考查题及《答案》
考查要求:(共需上传4个文件!请打包压缩成一个文件后再上传)(考查成绩只占一总成绩的部分)
一、只有F 盘可以保存资料!所以选择matlab 的工作目录为F 盘!首先在命令窗里输入diary 命令(得到文件1),再完成以下内容:
二(50分)、新建一个m 文件(文件2),命名文件的方法:姓名拼音简拼加学号后4位
在此m 文件内完成代码,实现以下功能:
① 编写一条语句:用rand 函数产生一个15*15的随机矩阵A ,要求所得的每个元素为(0,100)之间的正整数
② 编写一条语句:求出A 中每一行元素的平均值,赋值给B
③ 编写一条语句:取出A 中两条对角线的元素,同时赋值给C ,使C 成为2行N 列的矩阵(提示用diag 函数取对角线元素!)
④ 已知微分方程:22xy dx
dy -=,且1)0(=y ,求其通解、特解的表达式,并画出特解的图像 ⑤ 已知代数方程1292743)(2345+++++=x x x x x x f ,画出此函数的图像,并求0)(=x f 的所有根。

三(20):新建一个m 函数文件(文件3),命名文件的方法:姓名拼音简拼
在此函数文件内,编写代码。

此函数能对其输入参数中的每一个元素进行置换。

(置换原则为:小于60置换为1,60~69置换为2,70~79置换为3,80~89置换为4,90~100置换为5)。

提示:此题可用多种方法实现,方法任选,可使用循环,也可以不使用循环。

四、(30)编写一个m 函数文件(文件4),命名方法:姓名拼音全拼。

① 函数的参数有H 、W 、R 、N ,共4个。

(H 为第一个台阶的高度,W 为每个台阶宽度,R 为下一个台阶相对于上一个台阶的高度比,N 为用户所需的台阶数量)
② 要求,在每个台阶的中间标出台阶的序号。

③ 画出台阶的下包络线,并将此包络线的线宽设为2,颜色为红色。

此函数能根据不同参数,自动画出图形。

假如调用函数ff(5,2,0.8,10),则得到下图结果(H =5,W =2,R =0.8,N =10)。

注意:同时要画出上包络线!
一、key
①:A=round(rand(15,15)*100);
②:B=sum(A,2)/size(A) %参数2,按行
③C=[diag(A);diag(fliplr(A))];
④tongjie=dsolve('Dy=-2*x*y^2','x')
tejie=dsolve('Dy=-2*x*y^2','y(0)=1','x')
ezplot(tejie)
⑤p=[3 4 7 2 9 12]
ffx=poly2sym(p,'x')
ezplot(ffx)
A=roots(p)
二、key
[o,p]=size(x);
for a=1:o*p
if x(a)<60
x(a)=1;
elseif and(x(a)>=60,x(a)<70)
x(a)=2;
elseif and(x(a)>=70,x(a)<80)
x(a)=3;
elseif and(x(a)>=80,x(a)<90)
x(a)=4;
elseif x(a)>=90
x(a)=5;
end
end
x
三、key
function y = work4(h,w,n,r)
%y = work4(h,w,n,r)
%h台阶高度,w为台阶宽度,n台阶数,r为下一个台阶相对上一个台阶的高度比close all
xx=0:w:n*w;
temp=0:n;
yy=h*r.^temp;
hold on
h=plot(xx,yy);
set(h,'linewidth',2,'color',[1 0 0])%改线宽、颜色
for i=1:n
plot([xx(i),xx(i+1)],[yy(i),yy(i)]);%画水平台阶
text((xx(i+1)-xx(i))/2+xx(i),yy(i),num2str(i))%写出台阶序号
plot([xx(i+1),xx(i+1)],[yy(i),yy(i+1)])%画竖直线
end。